ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10173|回复: 39

[Excel 函数与公式] [第94期_2]不重复数字间的数字之和[已总结]

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-4-24 13:53 | 显示全部楼层 |阅读模式
本帖最后由 delete_007 于 2013-6-27 11:19 编辑

欢迎挑战108字符!



说明:
  1.A2:G31为数据区;
  2.数据区每列皆由0-9共10个数字随机排列而成,不会有遗漏;
  3.每列从下至上(红色字体)标示了不重复的数字;
  4.求每列从下至上第7与第8个不重复数字间的数字之和(粉色底纹标示了需要求和的数字);
  5.后面两个工作表的数据供测试;

要求:
  1.纯函数题,I3输入公式完成,不允许有其他任何操作;
  2.通过03版本验证。

评分:
  1.公式正确评1技术分;
  2.公式长度小于等于175字符评2技术分;
  3.精彩答案可再评1分。

竞赛日期:
  2013-5-14至2013-6-25






单选投票, 共有 19 人参与投票

距结束还有: 5978 天55 分钟

78.95% (15)
10.53% (2)
5.26% (1)
5.26% (1)
0.00% (0)
您所在的用户组没有投票权限

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

7

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-5-13 10:25 | 显示全部楼层
本帖最后由 delete_007 于 2013-6-27 11:08 编辑

本期竞赛相对较火,参赛人数较多,希望大家保持热情,继续支持竞赛。
评分及总结见附件,如有疑问请与我联系。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2013-5-14 11:04 | 显示全部楼层
斗胆占位。
觉得这期竞赛似乎简单些。让众多的HM成员参与,给予得分机会,是件好事。


=SUM((MMULT(N(COLUMN(B:AE)>ROW(1:30)),N(COUNTIF(OFFSET(A1,ROW(1:30),COLUMN(A:G)-1,31-ROW(1:30)),A2:G31)=1))=7)*A2:G31)

点评

精彩!  发表于 2013-5-14 11:18

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-14 13:52 | 显示全部楼层
本帖最后由 CheryBTL 于 2013-5-21 07:57 编辑

最常规的思路,171字符:
  1. =SUM((MMULT(N(ROW(2:31)>COLUMN(A:AD)),N(COUNTIF(OFFSET(H31,,-COLUMN(A:G),-ROW(1:30)),N(OFFSET(H32,-ROW(1:30),-COLUMN(A:G))))=1))=7)*N(OFFSET(H32,-ROW(1:30),-COLUMN(A:G))))
复制代码
谢班主提醒,补上简化后的公式:
  1. =SUM((MMULT(N(ROW(1:30)<COLUMN(B:AE)),N(COUNTIF(OFFSET(A1,ROW(1:30),COLUMN(A:G)-1,30),A2:G31)=1))=7)*A2:G31)
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-14 14:37 | 显示全部楼层
  1. =SUM((MMULT(N(ROW(1:30)<COLUMN(B:AE)),N(COUNTIF(OFFSET(A1,ROW(1:30),COLUMN(A:G)-1,31-ROW(1:30)),A2:G31)=1))=7)*A2:G31)
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-16 17:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 delete_007 于 2013-5-24 16:23 编辑


最初打算用COUNTIF配合OFFSET得出每列(列加权)从下至上等于1的行数,然后mod+SMALL得出第7,8,37,38,67.....所在的行数,最后用SUM+SUBTOTAL+OFFSET或者INDIRECT求和,但。。。。。超套。。。。。翻来覆去两三天,依然。。。。超套。。。。(看来这种方式根本就不对),想放弃又心有不甘,不是正确就给1个技术分吗,请欣赏838字
  1. =SUM((MMULT(1*(ROW(2:31)>32-SMALL(IF(FREQUENCY(ROW(1:10)-1,N(OFFSET(A31,,,-ROW(1:29)))),ROW(1:29)),{8,7})),{1;1})=1)*A2:A31+(MMULT(1*(ROW(2:31)>32-SMALL(IF(FREQUENCY(ROW(1:10)-1,N(OFFSET(B31,,,-ROW(1:29)))),ROW(1:29)),{8,7})),{1;1})=1)*B2:B31+(MMULT(1*(ROW(2:31)>32-SMALL(IF(FREQUENCY(ROW(1:10)-1,N(OFFSET(C31,,,-ROW(1:29)))),ROW(1:29)),{8,7})),{1;1})=1)*C2:C31+(MMULT(1*(ROW(2:31)>32-SMALL(IF(FREQUENCY(ROW(1:10)-1,N(OFFSET(D31,,,-ROW(1:29)))),ROW(1:29)),{8,7})),{1;1})=1)*D2:D31+(MMULT(1*(ROW(2:31)>32-SMALL(IF(FREQUENCY(ROW(1:10)-1,N(OFFSET(E31,,,-ROW(1:29)))),ROW(1:29)),{8,7})),{1;1})=1)*E2:E31+(MMULT(1*(ROW(2:31)>32-SMALL(IF(FREQUENCY(ROW(1:10)-1,N(OFFSET(F31,,,-ROW(1:29)))),ROW(1:29)),{8,7})),{1;1})=1)*F2:F31+(MMULT(1*(ROW(2:31)>32-SMALL(IF(FREQUENCY(ROW(1:10)-1,N(OFFSET(G31,,,-ROW(1:29)))),ROW(1:29)),{8,7})),{1;1})=1)*G2:G31)
复制代码

  1. =SUM(SUBTOTAL(9,OFFSET(A2,,ROW(1:7)-1,MOD(SMALL(IF(COUNTIF(OFFSET(A2,{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29},{0;1;2;3;4;5;6},30),TRANSPOSE(A2:G31))=1,ROW(1:7)/1%+COLUMN(B:AE),ROW(1:7)/1%+32),ROW(1:7)*30-{26,27}),100)-1))*{1,-1})
复制代码

补充内容 (2013-6-6 13:19):
185字,憋死了
=SUM(SUBTOTAL(9,OFFSET(A2,,7-COLUMN(A:G),MOD(LARGE((COUNTIF(OFFSET(A2,COLUMN(A:AD)-1,ROW(1:7)-1,30),TRANSPOSE(A2:G31))=1)*(ROW(1:7)/1%+COLUMN(A:AD)),COLUMN(A:G)*10-{3;2}),100)))*{1;-1})

补充内容 (2013-6-7 07:33):
177字,卡在门槛两步之遥
=SUM(SUBTOTAL(9,OFFSET(A2,,7-ROW(1:7),MOD(LARGE((COUNTIF(OFFSET(A1,COLUMN(A:AD),ROW(1:7)-1,30),TRANSPOSE(A2:G31))=1)*(ROW(1:7)/1%+COLUMN(A:AD)),ROW(1:7)*10-{3,2}),100)))*{1,-1})

补充内容 (2013-6-7 12:48):
166字,终于突破门槛
=SUM(SUBTOTAL(9,OFFSET(A2,,7-ROW(1:7),MOD(LARGE((COUNTIF(OFFSET(A1,ROW(1:30),COLUMN(A:G)-1,30),A2:G31)=1)*(ROW(1:30)+COLUMN(A:G)/1%),ROW(1:7)*10-{3,2}),100)))*{1,-1})

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-17 23:15 | 显示全部楼层
本帖最后由 mps777 于 2013-5-18 07:03 编辑

我真不敢相信有人比我的公式还要长……
  1. =SUM(SUMIF(INDIRECT("R"&3+ROW(1:7)*30-SMALL(MATCH(ROW(1:70)-1,MOD(SMALL({0,1,2,3,4,5,6}*10010+(31-ROW(1:30))*100+A2:G31,ROW(1:210)),100),),ROW(1:7)*10-2)&"C"&{1;2;3;4;5;6;7}&":R"&2+ROW(1:7)*30-SMALL(MATCH(ROW(1:70)-1,MOD(SMALL({0,1,2,3,4,5,6}*10010+(31-ROW(1:30))*100+A2:G31,ROW(1:210)),100),),ROW(1:7)*10-3)&"C"&{1;2;3;4;5;6;7},),"<>"))
复制代码

点评

我笑而不语……  发表于 2013-7-8 13:07
呵呵,这下你相信了吧!,我最初的公式无人能敌  发表于 2013-6-26 15:56

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-18 19:37 | 显示全部楼层
本帖最后由 AVEL 于 2013-6-16 13:32 编辑

=SUM((MMULT(N(COLUMN(B:AE)>ROW(1:30)),N(COUNTIF(OFFSET(A1,ROW(1:30),COLUMN(A:G)-1,31-ROW(1:30)),A2:G31)=1))=7)*A2:G31)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-20 14:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
110字符
  1. =SUM((MMULT(N(COLUMN(B:AE)>ROW(1:30)),N(COUNTIF(OFFSET(A31,,COLUMN(A:G)-1,ROW(1:30)-31),A2:G31)=1))=7)*A2:G31)
复制代码
108字符
  1. =SUM((MMULT(N(COLUMN(B:AE)>ROW(1:30)),N(COUNTIF(OFFSET(A1,ROW(1:30),COLUMN(A:G)-1,30),A2:G31)=1))=7)*A2:G31)
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-5-20 15:57 | 显示全部楼层
=SUM(TEXT(MMULT(N(ROW(1:30)<=COLUMN(A:AD)),N(COUNTIF(OFFSET(A2,ROW(1:30)-1,COLUMN(A:G)-1,31-ROW(1:30),),A2:G31)<2)),"[=7]1;!0")*A2:G31)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 10:24 , Processed in 0.052311 second(s), 24 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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