[英]Excel count number of times a value appears in column, if unique to the row
所以我有一个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,但是在比较每一行时我也不知道该怎么做。
我敢肯定,您可以使用一个sumsum来做到这一点,并且我仍然在解决这个问题,但是作为快速解决方案,如果您可以使用helper列,则可以执行以下操作:
E1
,输入以下公式: =COUNTIF($A1:$D1,"#")
并将其向下拖动 A12
,输入以下公式: =SUMPRODUCT(--(A1:A10="#"),--($E$1:$E$10=1))
并将其拖到列D 。 这将为您提供预期的结果3 0 0 1
,但是我仍然确定有更好的方法。
希望这会有所帮助!
尝试对A
列进行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对其求值。
您可以在复制到D13的A13中使用此公式
=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))
所有这些公式都应得出相同的结果
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.