Google Sheets如何筛选B列中未出现在D列输入列表内的ID数据

可用解决方案
你之前的公式出错有两个核心原因:一是存在语法错误,二是判断逻辑为逐行比对B、D列同位置单元格的值,而非判断B列值是否存在于整个D列的排除列表中,QUERY的where B is not D写法也不符合需求。
直接在F4单元格输入以下公式即可自动溢出输出所有符合要求的ID,不需要手动下拉:
=FILTER($B$4:$B$29, ISNA(MATCH($B$4:$B$29, $D$4:$D, 0)), "无匹配ID")
公式逻辑说明:
MATCH($B$4:$B$29, $D$4:$D, 0):逐个检索B列每个ID在D列中的位置,检索不到就返回#N/A错误ISNA(...):判断MATCH的返回结果是否为错误值,返回TRUE就代表该ID不在D列的排除列表中FILTER:将所有符合条件的B列ID筛选输出,最后一个参数是无符合结果时的提示内容
如果需要同时过滤掉B列的空白单元格,可以用调整后的版本:
=FILTER($B$4:$B$29, ($B$4:$B$29<>"")*ISNA(MATCH($B$4:$B$29, $D$4:$D, 0)), "无匹配ID")
如果你是Google Sheets用户,还可以用更简洁的XMATCH写法:
=FILTER($B$4:$B$29, ISNA(XMATCH($B$4:$B$29, $D$4:$D)))
内容的提问来源于stack exchange,提问作者weizer
相关产品推荐
相关产品推荐

