ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 大家看一下这个公式错哪了

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-7-9 16:23 | 显示全部楼层 |阅读模式
本帖最后由 ppla666 于 2014-7-9 16:27 编辑

=SUM(--(MATCH(IF($A$2:$A$500=$A$7,$B$2:$B$500),IF($A$2:$A$500=$A$7,$B$2:$B$500),0)=ROW($B$2:$B$500)-1))这个公式是求第一问设计的,算出的结果为86,比实际多了1,不知错在哪了。
用f9分步运算,match函数运算结果第一个值应为false但实际显示却是true,不知为什么。
谢谢,大侠

求助-7.9.rar

15.59 KB, 下载次数: 50

TA的精华主题

TA的得分主题

发表于 2014-7-9 16:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 jacky1998 于 2014-7-9 20:48 编辑

  1. =COUNT(0/FREQUENCY((OFFSET(A1,,,COUNTA(A:A))=A7)*COUNTIF(OFFSET(B1,,,COUNTA(A:A)),">="&OFFSET(B1,,,COUNTA(A:A))),ROW(1:999)-1))-1
  2. =COUNT(0/FREQUENCY((OFFSET(A1,,,COUNTA(A:A))=A7)*MMULT(--(OFFSET(C1,,,COUNTA(A:A))={"花生米","红豆沙","绿豆沙"}),{1;1;1})*COUNTIF(OFFSET(B1,,,COUNTA(A:A)),">="&OFFSET(B1,,,COUNTA(A:A))),ROW(1:999)-1))-1
复制代码
=COUNT(0/FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7),ROW(1:1000)-1))-1
公式都是卖任一种豆沙为计数,后面大师有说,公式结果是错的。
再另外看看。
将OFFSET(A1,,,COUNTA(A:A))等定义为名称。
最后问题2,结果为
=COUNT(0/(FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="花生米"),ROW(1:1000)-1)*FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="红豆沙"),ROW(1:1000)-1)*FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="绿豆沙"),ROW(1:1000)-1)))-1
=COUNT(0/(FREQUENCY(IF(FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)+MMULT(--(C1:C999={"花生米","绿豆沙","红豆沙"}),10^(-{1;2;3})),ROW(1:1000)-1+{0.1,0.01,0.001}),SMALL((ROW(1:1000)-1)*{1,1,1},ROW(1:3000))),ROW(1:1000)-1)=3))-1
只有3家。商家为
=OFFSET($B$1,SMALL(IF(FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="花生米"),ROW(1:1000)-1)*FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="红豆沙"),ROW(1:1000)-1)*FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="绿豆沙"),ROW(1:1000)-1),ROW(1:1001)-1),ROW(2:100))-1,)




TA的精华主题

TA的得分主题

发表于 2014-7-9 17:14 | 显示全部楼层
sum(--(match(data,data)=row(...)))這個公式,是計算data有幾個不重複的值
在你的公式中,data為IF($A$2:$A$500=$A$7,$B$2:$B$500),當A欄不等於A7時,會回傳false
但是這個false也是一個「不重複的值」,因此這種用法計算的結果會多1
但是直接減1的話,若A2:A500都等於A7時會出錯(因為沒有「false」這個元素)
因此比較靠譜的作法是再加個判斷把false的部分處理掉:
  1. =SUM(($A$2:$A$500=$A$7)*(MATCH(IF($A$2:$A$500=$A$7,$B$2:$B$500),IF($A$2:$A$500=$A$7,$B$2:$B$500),0)=ROW($B$2:$B$500)-1))
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-7-9 17:47 | 显示全部楼层
供参考
  1. =COUNT(0/(MATCH(201402&B2:B999,A2:A999&B2:B999,)=ROW(2:999)-1))
  2. =COUNT(0/(MATCH(201402&B2:B999,A2:A999&B2:B999,)=MMULT(N(C2:C999={"绿豆沙","花生米","红豆沙"}),{1;1;1})*(ROW(2:999)-1)))
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-7-9 18:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 jacky1998 于 2014-7-9 18:57 编辑
快樂學習 发表于 2014-7-9 17:47
供参考


公式2,想一下,结果不对,因为,思路不对呀,
........=MULT(N(C2:C999={"绿豆沙","花生米","红豆沙"}),{1;1;1})*(ROW(2:999)-1)))
这段与前面,不能指定不重得计数。因为前面是MATCH呀。因为MATCH只对最先匹配的行计数,而豆沙等则可能是以后出现的行计数的。所以这个思路下的结果,很可能是错误的。
如果是错误的,那么计数会比实际的少。

TA的精华主题

TA的得分主题

发表于 2014-7-9 19:12 | 显示全部楼层
难道是我理解错了?
楼主第二个问题要求:用公式统计201402同时售卖“花生米、红豆沙、绿豆沙”的客户数量,可楼上算出的都有80家之多,而我分析只有三家!
1、既然是统计201402,那么首先排除不是201402的;
2、既然是同时售卖“花生米、红豆沙、绿豆沙”的客户,那么201402只出现2次及以下的客户也被排除掉;
3、留下的应该只有出现3次以上的;
4、但是有的虽然达3次以上,如COMO,三次售卖的是{红豆沙、花生米、杨枝甘露},客户田野,出现五次,售卖的都是花生米……,这些都应被排除掉,余下只有三家:Mini Work Shop、麦考利、致盛才是真正同时售卖“花生米、红豆沙、绿豆沙”。见附件(为观察方便起见,我排了序,并进行了筛选。)
难道我理解真的错了???

同时售.gif

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-7-9 19:24 | 显示全部楼层
本帖最后由 jacky1998 于 2014-7-9 19:25 编辑
wangjguo44 发表于 2014-7-9 19:12
难道是我理解错了?
楼主第二个问题要求:用公式统计201402同时售卖“花生米、红豆沙、绿豆沙”的客户数量 ...


大师公析的正是,我新作了个公式,结果是6家。不过,公式看来,还是错的。

TA的精华主题

TA的得分主题

发表于 2014-7-9 19:29 | 显示全部楼层
本帖最后由 wangjguo44 于 2014-7-9 19:30 编辑
Bodhidharma 发表于 2014-7-9 17:14
sum(--(match(data,data)=row(...)))這個公式,是計算data有幾個不重複的值
在你的公式中,data為IF($A$2: ...


您好,请看看我在6楼的疑惑

TA的精华主题

TA的得分主题

发表于 2014-7-9 19:30 | 显示全部楼层
快樂學習 发表于 2014-7-9 17:47
供参考


您好,请看看我在6楼的疑惑

TA的精华主题

TA的得分主题

发表于 2014-7-9 19:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wangjguo44 发表于 2014-7-9 19:30
您好,请看看我在6楼的疑惑

=COUNT(0/(FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="花生米"),ROW(1:1000)-1)*FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="红豆沙"),ROW(1:1000)-1)*FREQUENCY(MATCH(""&B1:B999,""&B1:B999,)*(A1:A999=A7)*(C1:C999="绿豆沙"),ROW(1:1000)-1)))-1

评分

2

查看全部评分

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

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-20 06:54 , Processed in 0.056545 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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