如何根据另一列的引用比较行?

how to compare rows based on reference from another column?

如果 A1:A20 范围内的数字不相同,我如何检查它们并将其放入单元格 E1

然后检查范围 B1:B20 如果 B 列中的任何行包含数字“1" 然后从范围 A1:A20 中仅检查在列 B[ 中设置行 "1" 的行=30=] 并检查它们是否不相同并将其放入 E2

它应该是这样的:

到目前为止我只有这块 =IF(COUNTIF($A<>$A);"OK";)"NOT OK") 但堆叠更多 <>$A<>$A<>$A... 就坏了

这是一种简单的方法。

你能添加三个新列吗(如果你愿意,以后可以隐藏它们)?如果是这样,在 B 列之后插入两个新列。

在C1放

=COUNTIF($A:$A, A1)

将该公式向下拖动到 C20。 现在在 H1 中,输入:

=IF(AVERAGE(C1:C20)=1, "OK", "NOT OK")

现在开始第二部分...

在 D1 中输入:

=IF(B1=1, A1, "")

在E1中放:

=IF(B1 = 1, COUNTIF($D:$D, D1), "")

然后往下拉。

在 H2 中,输入:

=IF(AVERAGE(E1:E20)=1, "OK", "NOT OK")

另一种解决方案是使用数组公式:

检查整个范围内的唯一条目

在G1放

= SUM( COUNTIF( $A:$A, $A:$A ) )

并按住 CTRLSHIFT 并在按 ENTER[=55= 时将其转换为数组公式].

然后在G2中放

= COUNT( $A:$A )

并在E1中放

= IF( G1 = G2, "OK", "Not OK" )

这解决了在整个选择中检查唯一条目的问题。

检查选择中的唯一条目

类似的方法,但使用 SUMPRODUCT。

在H1放

= SUMPRODUCT( COUNTIFS( $A:$A, $A:$A, $B:$B, ">0" ), $B:$B )

转成数组公式(CTRL + SHIFT + ENTER)

在H2放

= SUM( $B:$B)

在E2中放

= IF( H1 = H2, "OK", "Not OK" )

我认为您也可以通过更改(例如)$A:$A$A:$A 来检查完整列(而不是定义的范围),但尚未检查。

有一个帮助专栏:

在C1中放

=IF(B1="";"";COUNTIFS($A:A1;A1;$B:B1;1))

并向下拖动

在E1放

=IF(COUNTA(A1:A20)-SUMPRODUCT(1/COUNTIF(A1:A20;A1:A20))=0;"OK";"NOT OK")

在E2放

=IF(MAX(C1:C20)>1;"NOT OK";"OK")