ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

  [复制链接]

TA的精华主题

TA的得分主题

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

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-6-13 00:52 | 显示全部楼层
本帖最后由 zheng_0925 于 2013-6-13 10:19 编辑

173字符,数组公式
  1. =SUM(SUBTOTAL(9,OFFSET(A2,,COLUMN(A:G)-1,MOD(SMALL((COUNTIF(OFFSET(A32,,COLUMN(A:G)-1,ROW(1:30)-32),A2:G31)=1)*ROW(1:30)+COLUMN(A:G)/1%,COLUMN(A:G)*30-{6;7}),100)))*{1;-1})
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-6-15 22:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. =SUMPRODUCT(N(MMULT(N((COUNTIF(OFFSET(A31,-MOD(ROW(1:210)-1,30),INT((ROW(1:210)-1)/30),1+MOD(ROW(1:210)-1,30)),COLUMN(A:J)-1))>0),ROW(1:10)^0)=7)*SUMIF(OFFSET(A31,-MOD(ROW(1:210)-1,30),INT((ROW(1:210)-1)/30)),"<>"))
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-6-16 09:59 | 显示全部楼层
为各楼层达到最优公式,建议允许编辑功能!
111字元
=SUM((MMULT(N(ROW(1:30)<COLUMN(B:AE)),N(COUNTIF(OFFSET(A31,,COLUMN(A:G)-1,ROW(1:30)-31),A2:G31)=1))=7)*A2:G31)

本帖子中包含更多资源

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

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-6-20 21:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
恐怕没有比我这个公式更长的啦,一篇小论文的长度,哈哈——
  1. =SUM(OFFSET(A31,1-SMALL(MATCH(ROW(1:10)-1,N(OFFSET(A31,1-ROW(1:30),)),0),7),,SUM(SMALL(MATCH(ROW(1:10)-1,N(OFFSET(A31,1-ROW(1:30),)),0),{7,8})*{1,-1})))+SUM(OFFSET(B31,1-SMALL(MATCH(ROW(1:10)-1,N(OFFSET(B31,1-ROW(1:30),)),0),7),,SUM(SMALL(MATCH(ROW(1:10)-1,N(OFFSET(B31,1-ROW(1:30),)),0),{7,8})*{1,-1})))+SUM(OFFSET(C31,1-SMALL(MATCH(ROW(1:10)-1,N(OFFSET(C31,1-ROW(1:30),)),0),7),,SUM(SMALL(MATCH(ROW(1:10)-1,N(OFFSET(C31,1-ROW(1:30),)),0),{7,8})*{1,-1})))+SUM(OFFSET(D31,1-SMALL(MATCH(ROW(1:10)-1,N(OFFSET(D31,1-ROW(1:30),)),0),7),,SUM(SMALL(MATCH(ROW(1:10)-1,N(OFFSET(D31,1-ROW(1:30),)),0),{7,8})*{1,-1})))+SUM(OFFSET(E31,1-SMALL(MATCH(ROW(1:10)-1,N(OFFSET(E31,1-ROW(1:30),)),0),7),,SUM(SMALL(MATCH(ROW(1:10)-1,N(OFFSET(E31,1-ROW(1:30),)),0),{7,8})*{1,-1})))+SUM(OFFSET(F31,1-SMALL(MATCH(ROW(1:10)-1,N(OFFSET(F31,1-ROW(1:30),)),0),7),,SUM(SMALL(MATCH(ROW(1:10)-1,N(OFFSET(F31,1-ROW(1:30),)),0),{7,8})*{1,-1})))+SUM(OFFSET(G31,1-SMALL(MATCH(ROW(1:10)-1,N(OFFSET(G31,1-ROW(1:30),)),0),7),,SUM(SMALL(MATCH(ROW(1:10)-1,N(OFFSET(G31,1-ROW(1:30),)),0),{7,8})*{1,-1})))
复制代码
我的数组思维已经僵化了,很期待版主108字符的。
即便是用VBA写,精简到最后也要190个字符的代码——
  1. Function z(r)
  2. Dim a, s, i, j
  3. a = r
  4. For i = 1 To 7
  5.   s = "0123456789"
  6.   For j = 30 To 1 Step -1
  7.     s = Replace(s, a(j, i), “”)
  8.     If Len(s) = 3 Then z = z + a(j, i)
  9.   Next
  10. Next
  11. End Function
复制代码

点评

也是穷举,不过感谢提供VBA解法。  发表于 2013-6-27 11:15

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-6-21 10:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. =SUM((MMULT(N(ROW(1:30)>COLUMN(A:AD)),N(COUNTIF(OFFSET(A1,ROW(1:30),COLUMN(A:G)-1,30),A2:G31)=1))=3)*A2:G31)
复制代码
试了下
总会有意外
``

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-6-22 20:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
第一次参加这种竞赛,有不对的地方,望包含!为了这个题目,看了很多的竞赛题,学习了差不多一个月了,终于得到了这个公式,我用的是07版的,不知道能不能通过03版的验证。公式长度为113
=SUM((MMULT(N(COLUMN(A:AD)>=ROW(1:30)),N((COUNTIF(OFFSET(A32,,COLUMN(A:G)-1,ROW(2:31)-32),A2:G31)=0)))=7)*A2:G31)

本帖子中包含更多资源

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

x

TA的精华主题

TA的得分主题

发表于 2013-6-23 21:23 | 显示全部楼层
经过思考可以就字符减少到 111
=SUM((MMULT(N(COLUMN(A:AD)>=ROW(1:30)),N(COUNTIF(OFFSET(A32,,COLUMN(A:G)-1,ROW(2:31)-32),A2:G31)=0))=7)*A2:G31)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2013-6-24 17:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
勉强搞出来,长得有点不好意思,有待学习……
=SUM(A2:G31*(ROW(2:31)>MOD(SMALL(MOD(LOOKUP(ROW(1:10)*1000+COLUMN(A:G)/1%-901,SMALL(1000*A2:G31+ROW(A2:G31)+COLUMN(A2:G31)/1%,ROW(1:210))),1000),COLUMN(A:G)*10-7),100))*(ROW(2:31)<=MOD(SMALL(MOD(LOOKUP(ROW(1:10)*1000+COLUMN(A:G)/1%-901,SMALL(1000*A2:G31+ROW(A2:G31)+COLUMN(A2:G31)/1%,ROW(1:210))),1000),COLUMN(A:G)*10-6),100)))

TA的精华主题

TA的得分主题

发表于 2013-6-25 16:01 | 显示全部楼层
本帖最后由 fangjianp 于 2013-6-25 22:24 编辑
  1. =SUM((MMULT(-(COLUMN(A:AD)>30-ROW(1:30)),-(COUNTIF(OFFSET(A31,,COLUMN(A:G)-1,-ROW(1:30)),N(OFFSET(A32,-ROW(1:30),COLUMN(A:G)-1)))=1))=3)*A3:G32)
复制代码

评分

2

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 09:56 , Processed in 0.061352 second(s), 21 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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