0

我正在寻找一种非常广泛和动态的方法来检查两列中的内容是否相同(这些列位于两个不同的选项卡中)。内容因文本、数字和日期而异。

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

我从该CONCATENATE函数开始,但很快意识到该函数需要手动输入值,并且无法识别使用INDIRECT. 如果我可以使用INDIRECTwithCONCATENATE那么我将能够轻松地比较两列的值。

理想情况下,我想INDIRECT用来创建范围,因为我需要比较数千列,并且我知道我要比较的所有列的位置。

下面的示例非常基础,仅用于说明我的需求。我正在尝试将单元格 C7:C16 与位于“Sheet1”中的列、单元格 A1:A10 进行比较。

另一个示例CONCATENATE(D7:16)将得到它abcdefghij,并将与CONCATENATE在 Sheet3!A1:A10 中找到的结果进行比较。

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

关于如何实现这一目标的任何意见?

在此处输入图像描述

4

1 回答 1

1

您正在尝试使用 Concatenate 附加范围内的所有单元格。那不管用。连接需要单独的参数,而不是范围。

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

选择从 C7 到 C100 的所有单元格(或者选择包含最多数据的列所需的行数),然后输入此公式

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

并用Ctrl- Shift-确认Enter

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

将公式复制到 D 列。

在 E7 中输入公式

=C7=D7

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

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

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

参考截图。

在此处输入图像描述

于 2015-06-03T20:57:05.793 回答