繁体   English   中英

Excel计数值在列中出现的次数(如果该行唯一)

[英]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列,则可以执行以下操作:

  1. E1 ,输入以下公式: =COUNTIF($A1:$D1,"#")并将其向下拖动
  2. 在测试单元格中-说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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM