ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 按条件提取不重复值并进行条件求和~~请高手帮忙

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-2-12 10:20 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
想按照给定的日期范围 提取相应行不重复的姓名 再进行条件求和,判断的时候就发蒙了,请高手指教,谢谢!
详细内容见附件

求助.rar

6.33 KB, 下载次数: 81

TA的精华主题

TA的得分主题

发表于 2011-2-12 10:40 | 显示全部楼层
  1. =INDEX(B:B,SMALL(IF(FREQUENCY(IF((DAY(A$3:A$100)>=1)*(DAY(A$3:A$100)<=7),MATCH(B$3:B$100,B$3:B$100,)),ROW($1:$98)),ROW($3:$100),4^8),ROW(A1)))&""
复制代码
  1. =SUMPRODUCT((DAY(A$3:A$100)>=1)*(DAY(A$3:A$100)<=7)*(B$3:B$100=F3)*C$3:D$100)
复制代码
其他类似。

[ 本帖最后由 laowuwyx 于 2011-2-12 12:13 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-12 11:01 | 显示全部楼层
原帖由 laowuwyx 于 2011-2-12 10:40 发表
=INDEX(B:B,SMALL(IF((DAY(A$3:A$100)>=1)*(DAY(A$3:A$100)=1)*(DAY(A$3:A$100)


为什么将第一个代码(F3单元格)向下填充后,导致F4:F13与G3:G11区域显示#NUM!
斗胆请高手laowuwyx发予我附件来学习,给您添麻烦了,谢谢!

TA的精华主题

TA的得分主题

发表于 2011-2-12 11:23 | 显示全部楼层

回复 3楼 yuanlh 的帖子

第一个公式是数组公式,要按ctrl+shift+enter三键的。

[ 本帖最后由 laowuwyx 于 2011-2-12 12:19 编辑 ]

11111111.rar

8.15 KB, 下载次数: 91

TA的精华主题

TA的得分主题

发表于 2011-2-12 11:37 | 显示全部楼层
试试这一个

求助.rar

8.88 KB, 下载次数: 74

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-12 20:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

对公式函数的理解有疑问

原帖由 laowuwyx 于 2011-2-12 10:40 发表
=INDEX(B:B,SMALL(IF(FREQUENCY(IF((DAY(A$3:A$100)>=1)*(DAY(A$3:A$100)=1)*(DAY(A$3:A$100)


使用数组公式来输入以后
请问:
1、MATCH(B$3:B$100,B$3:B$100,)如何理解?有什么意义?
2、ROW($1:$98)返回一个值还是一组值?也就是说IF函数判断条件中,将等号左侧的逻辑值与一个值比较还是与一组值比较?
3、IF函数判断条件等号左侧(DAY(A$3:A$100)>=1)*(DAY(A$3:A$100)<=7)*MATCH(B$3:B$100,B$3:B$100,)的返回值是否只有两种可能 0或1 对吗?
4、怎么理解SMALL(IF((DAY(A$3:A$100)>=1)*(DAY(A$3:A$100)<=7)*MATCH(B$3:B$100,B$3:B$100,)=ROW($1:$98),ROW($3:$100),4^8),ROW(A1))函数?

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-12 20:37 | 显示全部楼层

回复 5楼 wangjguo44 的帖子

看了您的答案 学到了很多 谢谢
我试了一下  想在实际情境中应用  即按日录入数据  是一个从无到有的过程  
把模拟数据全部删除 即A3:D100区域无数据  结果在第一周、第二周...姓名和总分区域出现#NUM!或#N/A
所以能不能当A3:D100区域无数据无数据时,第一周、第二周...相应的内容也为空呢?能实现吗?

另外,像F3单元格中的公式含有这样一部分 即 MATCH(第一周,第一周,)  这里的“第一周”哪来的?因为工作表中没有任何一个单元格中有这样的字样。

请指教!

TA的精华主题

TA的得分主题

发表于 2011-2-12 21:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 yuanlh 于 2011-2-12 20:25 发表


使用数组公式来输入以后
请问:
1、MATCH(B$3:B$100,B$3:B$100,)如何理解?有什么意义?
2、ROW($1:$98)返回一个值还是一组值?也就是说IF函数判断条件中,将等号左侧的逻辑值与一个值比较还是与一组值比较? ...

第一个问题:是返回B3:B100中各值在这个区域中的位置;
第二个问题:返回{1;2;3;.........98}这个一维垂直数组;
第三个和第四个问题是先前的写的公式,有点问题,更新为frequency这个公式了。

TA的精华主题

TA的得分主题

发表于 2011-2-12 22:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 laowuwyx 于 2011-2-12 10:40 发表
=INDEX(B:B,SMALL(IF(FREQUENCY(IF((DAY(A$3:A$100)>=1)*(DAY(A$3:A$100)=1)*(DAY(A$3:A$100)

学习了!

TA的精华主题

TA的得分主题

发表于 2011-2-12 23:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 yuanlh 于 2011-2-12 20:37 发表
看了您的答案 学到了很多 谢谢
我试了一下  想在实际情境中应用  即按日录入数据  是一个从无到有的过程  
把模拟数据全部删除 即A3:D100区域无数据  结果在第一周、第二周...姓名和总分区域出现#NUM!或#N/A
所以 ...

根据你的要求已改动,没有数据将是空白。
此外“第一周”等是自定义的名称,可查看“插入/名称/定义”

求助.rar

11.04 KB, 下载次数: 63

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

本版积分规则

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

GMT+8, 2024-12-23 00:19 , Processed in 0.038521 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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