具有两个单元格范围的 IF 函数

IF function with two cell ranges

我有两张包含同一行单元格的工作表,例如,A1:A5。 我需要检查 Sheet1!A1:A5 中每个单元格的值是否等于 Sheet2!A1:A5 但问题在于值将是字母,并且所有值都不同。简单地输入公式就得到了 #VALUE! 错误。

我知道我可以写出公式:

=IF(Sheet1!A1=Sheet2!A1;1;0)  

然后只需在多个具有不同值的单元格中重新键入它,但我正在寻找一种缩短公式的方法。

有什么建议吗?

这个有点短

=(Sheet1!$A1=Sheet2!$A1)

使用AND()函数:

IF(AND(Sheet1!A1=Sheet2!A1,Sheet1!A2=Sheet2!A2,Sheet1!A3=Sheet2!A3,Sheet1!A4=Sheet2!A4,Sheet1!A5=Sheet2!A5),1,0).

编辑

不太确定你的目标,

如果因为上面的函数太难写而想要短一点,那么试试下面的方法:

=IF(CONCATENATE(Sheet2!A1,Sheet2!B1,Sheet2!C1,Sheet2!D1,Sheet2!E1)=CONCATENATE(Sheet1!A1,Sheet1!B1,Sheet1!C1,Sheet1!D1,Sheet1!E1),1,0)

但这并非没有问题,它可能 return 误报。所以请小心使用。为了克服误报,我只能把公式加长(但还是比较容易写出来)。

=IF(CONCATENATE(Sheet2!A1,"|",Sheet2!B1,"|",Sheet2!C1,"|",Sheet2!D1,"|",Sheet2!E1)=CONCATENATE(Sheet1!A1,"|",Sheet1!B1,"|",Sheet1!C1,"|",Sheet1!D1,"|",Sheet1!E1),1,0)

你可以使用

AND(EXACT(Sheet1!A1, Sheet2!A1), EXACT(Sheet1!A2, Sheet2!A2), EXACT(Sheet1!A3, Sheet2!A3), EXACT(Sheet1!A4, Sheet2!A4), EXACT(Sheet1!A5, Sheet2!A5))

但是通过以下方式:

  1. 用代码单独列(比如,G 列)

    EXACT(Sheet1!$A1, Sheet2!$A2)
    
  2. 在旁边的列中,有一个带有代码的单元格

    AND(G1:G5)
    

要缩短公式,请使用数组函数。有了它,您将能够一次检查整个范围。

=IF(AND(Sheet1!A1:A5=Sheet2!A1:A5);1;0)

输入公式后,按 Ctrl+Shift+Enter 而不是仅按 Enter 键来确认数组公式。