使用INDIRECT比较多个Excel选项卡中的列

我正在寻找一个非常广泛和dynamic的方式来检查,看看两列中的内容是否相同(列在两个不同的标签)。 内容因文字,数字和date而异。

到目前为止,我尝试这样做的唯一方法是将每列中的所有条目进行合并并进行比较。 例如,我会将所有列的条目附加在一起,并与另一列相比较。 不幸的是,我一直无法find快速高效地添加列的方法。

我从CONCATENATE函数开始,但很快意识到这个函数需要手动input值,并且不能识别使用INDIRECT创build的范围。 如果我可以使用CONCATENATE INDIRECT ,那么我可以很容易地比较两列的值。

我最好喜欢使用INDIRECT来创build范围,因为有成千上万的列需要比较,我知道所有列的位置我比较。

下面的例子是非常基本的,只是用来解释我的需求。 我试图比较单元格C7:C16与“Sheet1”,单元格A1:A10内的列。

另一个例子, CONCATENATE(D7:16)会导致它abcdefghij ,并将与Sheet3!A1:A10中的CONCATENATE进行比较。

需要:使用INDIRECT连接指定范围内的条目的方法,以便比较它们的正确性。

有关如何实现这一目标的任何input?

在这里输入图像说明

您正试图使用​​连接来追加范围中的所有单元格。 这是行不通的。 连接需要个人的论点,而不是一个范围。

对于这样的比较,你需要一个数组公式。

select从C7到C100的所有单元格(或者对于数据最多的列需要多行),然后input这个公式

 =INDIRECT("'"&C$1&"'"&"!"&C$2&C$3&":"&C$2&C$4) 

并用CtrlShiftEnter确认

所有单元格将被一次填充,您将看到您在前四行中指定范围的值。

将公式复制到D列。

在E7中input公式

=C7=D7

并抄下来。 现在,您可以使用Countif来计算列E中的FALSE值,并使用它来确定列是否相同。 在C6:

=IF(COUNTIF(E:E,FALSE),"not the same","identical")

您可以使用条件格式来突出显示“FALSE”值。

请参阅截图。

在这里输入图像说明