我有两个数据集,数据集 1 和数据集 2,每个数据集包含多个带值的列。我的最终目标是找出数据集 1 中所有与数据集 2 不同且在数据集 2 中找不到的行。
数据集 1(示例):
Name Species Age
Donald Dog 3
Petronella Dog 5
数据集 2(示例):
Name Species Age
Donald Dog 3
Anna Dog 5
在上面的例子中,我想找出关于 Petronella 的单元格值组合对于第一个数据集是唯一的,并且在第二个数据集中找不到。Donald 和 Anna 在本例中不太受关注。
一个简单的选择可能是添加第四列,其值为 1 或 0,具体取决于数据范围是否存在于第二个数据集中。
我知道如何将一个范围直接与另一个范围进行比较,但如何扩展此比较以包含数据集 1 中的所有行?在确定数据集 1 中的一系列值是否可以在数据集 2 中找到时,行的顺序不应成为考虑因素。
答案1
您可以在数组公式中使用 MATCH 和 CONCATENATE 来了解 Dataset1 中的唯一值列表。由于使用了 MATCH,因此比较不区分大小写。
示例数据集 1 位于单元格 B4:D7 中,数据集 2 位于单元格 G4:I7 中。现在在 E4 中输入以下公式,然后在公式栏中按 CTRL+SHIFT+ENTER 创建一个数组公式。公式应括在花括号中,以表明它是任意数组公式。
=IF(ISERROR(MATCH((B4&C4&D4),CONCATENATE($G$4:$G$7,$H$4:$H$7,$I$4:$I$7),0)),"Unique","Duplicate")
参见下面的截图。这是 MATCH 的基本用法,但参数是数组中的行连接列表。
答案2
只需添加功能
=COUNTIF(range,criteria)
在第四列。
在你的情况下,范围将是包含
Donald
Anna
标准就是要评估的单元格。
如果匹配则输出为 1,否则输出为 0。