查找 Excel 中某一列中不存在但另一列中的项目,并将其放入新列中

查找 Excel 中某一列中不存在但另一列中的项目,并将其放入新列中

我想做的事

查找一列 ( ColA) 中不存在于另一列 ( ColB) 中的项目。如果我不想突出显示结果,而是将其放在另一列 ( ColC) 中而没有空行,该怎么办?

例子

ColA - ColB - ColC    
1 - 1 - 4
3 - 2 - 8
10 - 3 - 10
4 - 5 - "" 
5 - 7 - ""    
8 - 6 - ""
9 - 9 - ""

我尝试过什么

到目前为止,我成功获得了以下结果。我在 C 列中使用以下公式执行此操作:

=IF(IFERROR(MATCH(A2;B$2:F$300;0);"")<>"";"";A2) 

结果:

ColA - ColB - ColC
1 - 1 - ""
3 - 2 - ""
10 - 3 - 10
4 - 5 - 4     
5 - 7 - "" 
8 - 6 - 8
9 - 9 - ""

但我想避开 C 列中的空白单元格。

我尝试了我在这个网站的一个答案中找到的公式:

IFERROR(INDEX($A$2:$A$1999,MATCH(0,IFERROR(MATCH($A$2:$A$1999,$B$2:$B$399,0),COUNTIF($C$1:$C1,$A$2:$A$1999)),0)),"")

…但这不起作用。也许我以错误的方式调整了这个公式……?

答案1

你必须使用数组公式假设您的ColA和ColB中的数据在第1至10行,则选中ColC的第1至10行,然后在公式栏中输入如下公式:

=IFERROR(SMALL(IF(ISNA(MATCH(A1:A10,B1:B10,0)),A1:A10,""),ROW()),"")

通过按以下方式将其存储为数组公式Ctrl+Shift+Enter(在 Windows 上)/Cmd+Shift+Enter(在 OS X 上)– 如果您操作正确,公式将显示在括号 ( {}) 中,并且在所有单元格中看起来相同。应用到您的示例数据后,您将获得以下内容:

发布示例中使用的公式的屏幕截图

请注意,使用数组公式时存在一些陷阱(只能通过编辑整个范围来编辑它们,不能缩小,只能通过手动编辑公式来扩展...有关详细信息,请参阅我链接到的文章“输入和更改数组公式的规则”部分)。

相关内容