检查多个单元格范围是否相等

时间:2019-02-22 05:57:42

标签: excel excel-formula

我有多个使用相同ID值的表,但为其分配了不同的项目和描述。 ID顺序是固定的,并且在所有表中都是相同的。

我想做的是找出所有表中哪些表行都相同。

     A  B  C     D  E  F     G  H  I

1    H1 H2 H3    H1 H2 H3    H1 H2 H3
     -- -- --    -- -- --    -- -- --
2    1  a  a+    1  a  a+    1  c  c+    FALSE
3    2  b  b+    2  b  b+    2  b  b+    TRUE
4    3  c  c+    3  x  x+    3  a  a+    FALSE

H1 = ID, same values and order in all tables
H2 = item; order varies by table
H3 = item description; items & descriptions come in fixed pairs

到目前为止,我所做的是将它们彼此相邻放置,并且我在最后一栏中使用以下公式:

=SUMPRODUCT(ABS(COUNTIF(A2:I2; A2:I2) - 3)) = 0
  1. COUNTIF返回整个多表行的数组,其中包含同一行中每个单元格值出现的次数。对于示例中的三个表,这将是每行每个单元格三个重复,即[3,3,3, 3,3,3, 3,3,3]

  2. 对于具有匹配表值的行,-3部分将数组[0,0,0, 0,0,0, 0,0,0]归零。

  3. ABS从上一步引起的数组中任何潜在负数中减去负号。这样可以确保在最后一步中,只有重复行数组的总和可以等于零,而所有其他数组的总和都可以为> 0。

  4. SUMPRODUCT对数组求和,然后返回一个可以与零进行比较的值,第二步保证了当前行中所有表的值都匹配。 (实际上,简单的SUM是更简单的选择,但由于某些原因,与SUMPRODUCT不同,输入公式时需要Ctrl + Shift + Enter。)

是否可以使用更简单的公式或布局来解决此问题?

4 个答案:

答案 0 :(得分:1)

因此,将这样的三对与AND()进行比较:

enter image description here

答案 1 :(得分:0)

在我的工作中,我使用此解决方案。也许,这并不完美,但可行。只需比较串联值:

=A2&B2&C2
=D2&E2&F2
=G2&H2&I2

答案 2 :(得分:0)

尝试:

=IF(AND(A2=D2,D2=G2,B2=E2,E2=H2,C2=F2,F2=I2),"Full Match","Mismatch")

结果:

enter image description here

答案 3 :(得分:0)

这是一个简单的例子:

{=(AND(A2:C2=D2:F2,A2:C2=G2:I2))}

请注意,它是一个数组!