Google Sheets无脚本对比两单元格:提取|分隔的A2独有单词
默认单元格内的|仅作为分隔符使用,未出现在实际存储的单词内容中,该需求完全可以通过内置公式实现,不同软件版本的适配方案如下:
适配Excel 365/2021、WPS 2021及以上版本
直接输入以下公式即可生效:=TEXTJOIN(" | ",TRUE,FILTER(TRIM(TEXTSPLIT(A2,"|")),ISERROR(XMATCH(TRIM(TEXTSPLIT(A2,"|")),TRIM(TEXTSPLIT(A1,"|")))),""))
公式逻辑说明:
- 先用
TEXTSPLIT函数将A1、A2的内容按|拆分成独立元素数组 - 用
TRIM函数清除每个元素前后的多余空格,避免分隔符前后的空格干扰匹配结果 - 用
XMATCH函数匹配A2的元素是否存在于A1的元素数组中,不存在就返回错误值 - 用
FILTER函数筛选出匹配错误的、也就是A2独有A1没有的元素 - 最后用
TEXTJOIN函数把筛选结果按|的格式拼接输出
适配无TEXTSPLIT函数的旧版Excel
输入以下数组公式,输入完成后需要按Ctrl+Shift+Enter三键结束确认:=TEXTJOIN(" | ",TRUE,IF(ISERROR(MATCH(TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),ROW($1:$99)*99-98,99)),TRIM(MID(SUBSTITUTE(A1,"|",REPT(" ",99)),ROW($1:$99)*99-98,99)),0)),TRIM(MID(SUBSTITUTE(A2,"|",REPT(" ",99)),ROW($1:$99)*99-98,99)),""))
注意:公式中的$99是适配单格内最多99个拆分元素的场景,如果你的单格内拼接的元素数量超过99,可以自行把所有99的数值调整为更大的数字即可。
内容的提问来源于stack exchange,提问作者Dark Kitsune
相关产品推荐
相关产品推荐

