所以我有一个Excel电子表格,如下所示:
ID A B C D
1 # £ £ £
2 # £ £ £
3 £ # # #
4 £ # # #
5 # £ # #
6 £ £ £ #
7 £ # # #
8 # £ £ £
9 £ £ £ £
10 # £ # £
并且,对于每列AD,我想计算#个条目的数量 - 但是只要在同一行中没有其他#条目 - 所以,例如,列A有5#,但只有3个很独特。列B和C没有唯一的条目,列D有1个唯一的#。
要计算哈希值,我会使用CountIf,但在比较每一行时我不知道怎么做。
答案 0 :(得分:2)
我确信你可以用一个sumproduct做到这一点,我仍然在玩这个,但作为一个快速修复,如果你可以使用帮助列,你可以这样做:
E1
中,输入以下公式:=COUNTIF($A1:$D1,"#")
并将其向下拖动A12
,输入以下公式:=SUMPRODUCT(--(A1:A10="#"),--($E$1:$E$10=1))
并将其拖到D列。这会给你预期的结果3 0 0 1
,但我仍然确定有更好的方法....
希望这会有所帮助!
答案 1 :(得分:2)
在列A
中尝试使用此列(对于其他列,将A2:A11="#"
更改为B2:B11="#"
,依此类推):
=SUMPRODUCT((A2:A11="#")*(MMULT(IF(A2:D11="#",1,0),TRANSPOSE(COLUMN($A$2:$D$2)/COLUMN($A$2:$D$2)))=1))
其中A2:D11
是您的数组的地址,A2:A11
第一列的地址。
注意,因为它是一个数组公式,你应该按 CTRL + SHIFT + ENTER 进行评估。
答案 2 :(得分:1)
您可以在A13中使用此公式复制到D13
=SUMPRODUCT((MMULT((A2:A11="#")*($A2:$D11="#"),{1;1;1;1})=1)+0)
这不需要“数组输入”
{1;1;1;1}
部分需要根据您的范围内的列数进行更改 - 这里有四个1,因为您的整个范围是四列。如果您想自动制作该部件,可以切换到这个“数组公式”
=SUM((MMULT((A2:A11="#")*($A2:$D11="#"),TRANSPOSE(COLUMN($A2:$D11)^0))=1)+0)
使用 CTRL + SHIFT + ENTER确认
或其他方式是这样的:
=SUMPRODUCT((A2:A11="#")*(COUNTIF(OFFSET($A2:$D2,ROW(A2:A11)-ROW(A2),0),"#")=1))
所有这些公式应该给出相同的结果