You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Google Sheets公式:移除I列中存在于K列的所有单词

Google Sheets 解决方案

单空格分隔场景

假设要处理I2单元格内容,结果输出到J2,使用以下公式:

=TEXTJOIN(" ", TRUE, FILTER(SPLIT(I2, " "), ISNA(MATCH(SPLIT(I2, " "), K:K, 0))))
  • 逻辑说明:
    • SPLIT(I2, " "):将I2内容按空格拆分为单个单词的数组
    • MATCH(..., K:K, 0):检查每个单词是否存在于K列,存在返回位置,不存在返回#N/A
    • ISNA(...):筛选出不在K列的单词
    • FILTER(...):保留符合条件的单词
    • TEXTJOIN(" ", TRUE, ...):将筛选后的单词用空格重新拼接

多分隔符/不规则空格场景

如果I列存在多个空格、逗号+空格等混合分隔符,先统一格式再处理:

=TEXTJOIN(" ", TRUE, FILTER(SPLIT(REGEXREPLACE(I2, "\s+|, ", " "), " "), ISNA(MATCH(SPLIT(REGEXREPLACE(I2, "\s+|, ", " "), " "), K:K, 0))))
  • REGEXREPLACE(I2, "\s+|, ", " "):把所有连续空格、逗号+空格替换为单个空格,确保拆分准确

Excel 解决方案

365/2021 版本(支持动态数组)

处理I2单元格,结果输出到J2:

=TEXTJOIN(" ", TRUE, FILTER(TEXTSPLIT(I2, " "), ISNA(XMATCH(TEXTSPLIT(I2, " "), K:K))))
  • 逻辑说明:
    • TEXTSPLIT(I2, " "):替代Google Sheets的SPLIT,实现单词拆分
    • XMATCH(...):检查单词是否在K列,比传统MATCH更适配动态数组场景

旧版Excel(无动态数组)

需输入公式后按Ctrl+Shift+Enter触发数组运算:

=TRIM(CONCAT(IF(ISNA(MATCH(TRIM(MID(SUBSTITUTE(I2," ",REPT(" ",99)),(ROW(INDIRECT("1:"&LEN(I2)-LEN(SUBSTITUTE(I2," ",""))+1))-1)*99+1,99)),K:K,0)),TRIM(MID(SUBSTITUTE(I2," ",REPT(" ",99)),(ROW(INDIRECT("1:"&LEN(I2)-LEN(SUBSTITUTE(I2," ",""))+1))-1)*99+1,99))&" ","")))
  • 逻辑说明:用SUBSTITUTE+MID模拟单词拆分,旧版无TEXTSPLIT只能通过此方式实现

额外注意事项

  • 大小写匹配:如果需要忽略大小写,Google Sheets可嵌套LOWER()处理:
    =TEXTJOIN(" ", TRUE, FILTER(SPLIT(I2, " "), ISNA(MATCH(LOWER(SPLIT(I2, " ")), LOWER(K:K), 0))))
    
    Excel 365版本对应写法:
    =TEXTJOIN(" ", TRUE, FILTER(TEXTSPLIT(I2, " "), ISNA(XMATCH(LOWER(TEXTSPLIT(I2, " ")), LOWER(K:K)))))
    
  • 清理K列:若K列存在空白单元格,建议先删除,避免无效匹配

内容的提问来源于stack exchange,提问作者Nathan Emanuelsson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 15:33:22