我想做的事
查找一列 ( 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 上)– 如果您操作正确,公式将显示在括号 ( {}
) 中,并且在所有单元格中看起来相同。应用到您的示例数据后,您将获得以下内容:
请注意,使用数组公式时存在一些陷阱(只能通过编辑整个范围来编辑它们,不能缩小,只能通过手动编辑公式来扩展...有关详细信息,请参阅我链接到的文章“输入和更改数组公式的规则”部分)。