excel 高级条件统计不重复个数问题 在线等 急求!

来源:百度知道 编辑:UC知道 时间:2024/05/18 03:34:14
=SUMPRODUCT((INDIRECT("Sheet1!A5662"):INDIRECT("Sheet1!A"&COUNTA(Sheet1!A:A))>=--LEFT(A2,10))*(INDIRECT("Sheet1!A5662"):INDIRECT("Sheet1!A"&COUNTA(Sheet1!A:A))<=--RIGHT(A2,10))*(INDIRECT("Sheet1!I5662"):INDIRECT("Sheet1!I"&COUNTA(Sheet1!A:A))="红色")*(1/COUNTIF(INDIRECT("Sheet1!C5662"):INDIRECT("Sheet1!C"&COUNTA(Sheet1!A:A)),INDIRECT("Sheet1!C5662"):INDIRECT("Sheet1!C"&COUNTA(Sheet1!A:A)))))
为什么我运行后得出的是小数呢 而不是个数? 我的结果是0.865132
我用的是ctrl+shift+enter的啊
关键就在1/COUNTIF这里 其他地方都不用看了 我见过他们用=SUM(1/COUNTIF(A1:A10,A1:A10))
我就是用这个算法 多加了些限定条件而已 但是得出的结果不是个数 而是小数 估计是1/COUNTIF当成除法运算了 而没有当成数组运算

这么复杂啊。将你的要求再说一下, 说不定有简单的公式呢?

说实话,这个公式这么长,把一般的人都吓跑了,人家还没明白是什么意思!怎么回答呢?你可以在公式菜单下面有项"公式求值"按这个,就可以看出你的公式出错在什么地方!然后再进行修改

前面加个SUM,不用按三键。

=SUM(你的长函数式)

看有没有效果。函数太长,看不过来。

试下为这个:

=ROUND((SUMPRODUCT((INDIRECT("Sheet1!A5662"):INDIRECT("Sheet1!A"&COUNTA(Sheet1!A:A))>=--LEFT(A2,10))*(INDIRECT("Sheet1!A5662"):INDIRECT("Sheet1!A"&COUNTA(Sheet1!A:A))<=--RIGHT(A2,10))*(INDIRECT("Sheet1!I5662"):INDIRECT("Sheet1!I"&COUNTA(Sheet1!A:A))="红色")*(1/COUNTIF(INDIRECT("Sheet1!C5662"):INDIRECT("Sheet1!C"&COUNTA(Sheet1!A:A)),INDIRECT("Sheet1!C5662"):INDIRECT("Sheet1!C"&COUNTA(Sheet1!A:A)))))),0)

不知道能否帮到你!