ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] [求助] 計算符合條件的人數。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-8-4 12:55 | 显示全部楼层

willin2000版主得公式“倒”的很精彩,精彩的思路,精彩的公式!正是收益匪浅

TA的精华主题

TA的得分主题

发表于 2008-8-4 14:11 | 显示全部楼层

流水帐用直接计数判断最后一次求满足条件人数

QUOTE:
以下是引用yejizh在2008-8-4 12:55:07的发言:

willin2000版主得公式“倒”的很精彩,精彩的思路,精彩的公式!正是收益匪浅

呵呵,我觉得那也是个不错的思路,所以再稍微优化一下.

其实流水帐用直接计数判断也是比较方便的:
=COUNT(0/((COUNTIF(OFFSET(A2,ROW(1:26),,26),A3:A28)=1)*MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",)))

用方兄的0^:
=COUNT(0^(COUNTIF(OFFSET(A2,ROW(1:26),,26),A3:A28)=1)*MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",))

[此贴子已经被作者于2008-8-4 15:33:17编辑过]

TA的精华主题

TA的得分主题

发表于 2008-8-4 18:21 | 显示全部楼层
QUOTE:
以下是引用willin2000在2008-8-4 14:11:00的发言:

呵呵,我觉得那也是个不错的思路,所以再稍微优化一下.

其实流水帐用直接计数判断也是比较方便的:
=COUNT(0/((COUNTIF(OFFSET(A2,ROW(1:26),,26),A3:A28)=1)*MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",)))

用方兄的0^:
=COUNT(0^(COUNTIF(OFFSET(A2,ROW(1:26),,26),A3:A28)=1)*MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",))


还可以更简单些:

=COUNT(MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",)/(COUNTIF(OFFSET(A2,ROW(1:26),,26),A3:A28)=1))

同样道理,我前面那个适合乱序排列的公式也可以这么做:

=COUNT(MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",)/(MMULT((A3:A28=TRANSPOSE(A3:A28))*(C3:C28<=TRANSPOSE(C3:C28)),ROW(A3:A28)^0)=1))

TA的精华主题

TA的得分主题

发表于 2008-8-4 19:52 | 显示全部楼层

=IF(ISERROR(FIND(B3,"ABC"))+(D3<>"香水"),"","Yes")

或者:

=IF(NOT(ISERROR(FIND(B3,"ABC")))*(D3="香水"),"Yes","")

TA的精华主题

TA的得分主题

发表于 2008-8-7 16:37 | 显示全部楼层
QUOTE:
以下是引用willin2000在2008-8-4 14:11:00的发言:

呵呵,我觉得那也是个不错的思路,所以再稍微优化一下.

其实流水帐用直接计数判断也是比较方便的:
=COUNT(0/((COUNTIF(OFFSET(A2,ROW(1:26),,26),A3:A28)=1)*MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",)))

…………………………


版主的公式真是越来越经典,我已经把所有这些有关“香水问题”的解法收入自己的“经典公式集锦”里!感谢“香水问题”给我们带来的学习进步机会。……说句题外话:我在理解上述公式里:COUNTIF(OFFSET(A2,ROW(1:26),,26),A3:A28)含义的时候,故意在A29下面添加了一个值“会员A”,公式最后的值立刻少了一个!由此我明白了这段公式的含义,不过意识到:公式虽好,却有一个不是“BUG”的“BUG”:无效数据刚好位于它下面时,可能会有错误(这个错误与公式的合理性无关,只是不同的数据要注意保持合理“距离”而已)!

………………………………

经过思考,我认为完全可以修改上述公式避免这个可能的“所谓”的错误:

=COUNT(0/((COUNTIF(OFFSET(A2,ROW(1:26),,27-ROW(1:26)),A3:A28)=1)*MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",)))

大家觉得如何?

[此贴子已经被作者于2008-8-7 16:48:24编辑过]

TA的精华主题

TA的得分主题

发表于 2008-8-7 17:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-8-7 23:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

请问,我要看懂该公式:=COUNT(0/((MATCH(IF((D3:D28="香水"),A3:A28,NA()),IF((D3:D28="香水"),A3:A28,NA()),)=ROW(3:28)-2)*MATCH(B3:B28,{"A","B","C"},)))

需要学习什么基础知识?

TA的精华主题

TA的得分主题

发表于 2008-8-8 00:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用fdd在2008-8-7 16:37:55的发言:

经过思考,我认为完全可以修改上述公式避免这个可能的“所谓”的错误:

=COUNT(0/((COUNTIF(OFFSET(A2,ROW(1:26),,27-ROW(1:26)),A3:A28)=1)*MATCH(B3:B28&D3:D28,{"A","B","C"}&"香水",)))

大家觉得如何?

这个变长度的方法,如果实际状况统计表紧接在A列下方,或下发有其他数据时,是一个有用的方法. 流水帐下面通常是留空的情况比较多.

关于3维计算时变长度的情况,可以参考下面的帖,该题中结果要求是紧接的,所以也要用变长度,只是变长度要求在2维方向上变,比本帖的例子稍微复杂些:

http://club.excelhome.net/viewthread.php?tid=317662

TA的精华主题

TA的得分主题

发表于 2008-8-8 15:42 | 显示全部楼层
QUOTE:
以下是引用sparta_liu在2008-8-7 23:02:57的发言:

请问,我要看懂该公式:=COUNT(0/((MATCH(IF((D3:D28="香水"),A3:A28,NA()),IF((D3:D28="香水"),A3:A28,NA()),)=ROW(3:28)-2)*MATCH(B3:B28,{"A","B","C"},)))

需要学习什么基础知识?

我也同问。

TA的精华主题

TA的得分主题

发表于 2008-8-8 15:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用sparta_liu在2008-8-7 23:02:57的发言:

请问,我要看懂该公式:=COUNT(0/((MATCH(IF((D3:D28="香水"),A3:A28,NA()),IF((D3:D28="香水"),A3:A28,NA()),)=ROW(3:28)-2)*MATCH(B3:B28,{"A","B","C"},)))

需要学习什么基础知识?

                                         我也同问?

                                    好帖子,要顶的。

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

本版积分规则

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

GMT+8, 2024-4-28 03:13 , Processed in 0.034511 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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