ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wangg913

[Excel 函数与公式] [第122期]补齐缺数

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2018-4-19 10:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 xwcxks48 于 2018-4-20 07:46 编辑
  1. =MOD(MOD(SMALL(IF($A2:$E2+ROW($1:$7)<MOD(SMALL(IF(TRANSPOSE($A2:$E2)<$A2:$E2,$A2:$E2,100+$A2:$E2+12)+1000*ROW($1:$5),5*COLUMN($A$1:$E$1)-4),100),$A2:$E2+ROW($1:$7)+100*COLUMN($A:$E)),COLUMN(A1)),100)-1,12)+1
复制代码

207字,150字内有点难,有空再想想
  1. =MOD(SMALL(IF(A2:E2+ROW($1:$7)<MOD(SMALL(IF(TRANSPOSE(A2:E2)<A2:E2,A2:E2,62+A2:E2)+100*ROW($1:$5),5*COLUMN(A:E)-4),50),A2:E2+ROW($1:$7)+48*COLUMN(A:E)),COLUMN(A:G))-1,12)+1
复制代码
只能简化到172字符,看来方法有问题,要换一下思路

  1. =MOD(SMALL(IF(A2:E2+ROW($1:$7)<IFERROR(LARGE(A2:E2,RANK(A2:E2,A2:E2)-1),MIN(A2:E2)+12),A2:E2+ROW($1:$7)+48*COLUMN(A:E)),COLUMN(A:G))-1,12)+1
复制代码
140字符,终于减到150字符以内了

评分

5

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-4-19 23:48 | 显示全部楼层
本帖最后由 梦幻小丑 于 2018-5-2 08:58 编辑
  1. =MOD(IF(OR(MOD(E2,12)+1=$A2:E2,S2),MODE(COUNTIF($A2:E2,MOD($A2:E2,12)+{1;99})%+$A2:E2),E2),12)+1
复制代码


化简下,省掉一个MOD
  1. =MOD(MODE(E2+S2%,COUNTIF($A2:E2,MOD($A2:E2,12)+1)/{5;9}+$A2:E2),12)+1
复制代码
  1. =MOD(MODE(COUNTIF($A2:E2,MOD($A2:E2,{12;0})+1)%+$A2:E2,E2+S2%),12)+1
复制代码

评分

7

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-4-23 15:06 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2018-4-23 17:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 sayhi95 于 2018-5-12 13:41 编辑
  1. =MOD(SMALL(IFERROR(--TEXT(IF(COUNTIF($A2:$E2,ROW(INDIRECT("1:" & 11+MIN($A2:$E2)))),,ROW($1:$19))*10^LOOKUP(ROW($1:20),ROW($1:20)/COUNTIF($A2:$E2,ROW($1:20)-1),MATCH(ROW($1:20)-1,$A2:$E2,)),"0;;"),9^9),COLUMN(A1))/10^SMALL(IFERROR(--TEXT(IF(COUNTIF($A2:$E2,ROW(INDIRECT("1:"&11+MIN($A2:$E2)))),,LOOKUP(ROW($1:20),ROW($1:20)/COUNTIF($A2:$E2,ROW($1:20)-1),MATCH(ROW($1:20)-1,$A2:$E2,))),"0;;"),9),COLUMN(A1))-1,12)+1
复制代码
数学渣表示尽力了,汗~
依然差很远
  1. =MOD(RIGHT(LARGE(IFNA(IF(COUNTIF($A2:$E2,ROW(INDIRECT("1:" & 11+MIN($A2:$E2)))),,LOOKUP(ROW($1:20),ROW($1:20)/COUNTIF($A2:$E2,ROW($1:20)-1),MATCH(ROW($1:20)-1,$A2:$E2,))/1%+(1-COUNTIF($A2:$E2,ROW($1:19)))*ROW($1:19)),),8-COLUMN(A1)),2)-1,12)+1
复制代码

又进步一点,一行七列区域数组公式
  1. =MOD(RIGHT(LARGE(IFNA(IF(COUNTIF(A2:E2,ROW($1:20)),,LOOKUP(ROW(INDIRECT("1:" & 11+MIN(A2:E2))),ROW($1:20)/COUNTIF(A2:E2,ROW($1:20)-1),MATCH(ROW($1:20)-1,A2:E2,))/1%+ROW($1:20)),),{7,6,5,4,3,2,1}),2)-1,12)+1
复制代码

好了,可以睡觉了,哈哈~
  1. =MODE(MOD(IF(COLUMN()>6,E2,$A2),12)+1,MOD($B2:$E2,12)+1,IF(COUNTIF($A2:E2,ROW($1:12)),"",ROW($1:12)))
复制代码
  1. =MODE(MOD(IF(F$1=0,E2,A2),12)+1,MOD($B2:$E2,12)+1,IF(COUNTIF($A2:E2,ROW($1:12)),"",ROW($1:12)))
复制代码

负隅顽抗
  1. =MOD(MODE((F$1=0)*E2,$A2:$E2,$A2:E2/9^SUMIF($A2:E2,MOD($A2:E2,12)+1)),12)+1
复制代码

评分

7

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-5-7 11:23 | 显示全部楼层
  1. =MODE(MOD(IF($A2=A2,A2,E2),12)+1,MOD($B2:$E2,12)+1,IF(ROW($1:12)<>$A2:E2,ROW($1:12)))
复制代码

评分

5

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-5-8 10:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 说不好 于 2018-5-13 19:44 编辑

很久不做题,只有最笨的做法了
  1. =MOD(SMALL(IF(($A2:$E2<ROW($1:$24))*(SMALL($A2:$E2+{0;12},RANK($A2:$E2,$A2:$E2,2)+1)>ROW($1:$24)),ROW($1:$24)+12^{1,2,3,4,5}),COLUMN(A1))-1,12)+1
复制代码
换个思路,可以短点
  1. =MODE(MOD(IF(COLUMN()=6,A2,E2),12)+1,MOD($B2:$E2,12)+1,IF($A2:E2<>ROW($1:$12),ROW($1:$12)))
复制代码

评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-5-9 18:03 | 显示全部楼层
凑个数吧。
  1. =MOD(RIGHT(SMALL(IF(MOD(MMULT(10^(COLUMN($A:$G)-1),COUNTIF($A2:$E2,MOD($A2:$E2+ROW($1:$7)-1,12)+1)),10^ROW($1:$7))=0,10^COLUMN($C:$G)+$A2:$E2+ROW($1:$7),9^9),COLUMN(A1)),2)-1,12)+1
复制代码

评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-5-10 16:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. =MODE(MOD(IF(F$1=0,E2,A2),12)+1,MOD($B2:$E2,12)+1,IF(COUNTIF($A2:E2,ROW($1:12)),"",ROW($1:12)))
复制代码


评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-5-12 23:30 | 显示全部楼层
等学习...
  1. =MODE(MOD(IF(F$1>0,A2,E2),12)+1,MOD($B2:$E2,12)+1,IF($A2:E2<>ROW($1:12),ROW($1:12)))
复制代码

评分

8

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-5-16 07:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
最近有事,先开贴。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 18:48 , Processed in 0.045875 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表