如何在Google Sheets中检查单元格内所有单词是否存在于另一列
检查单元格所有单词是否存在于指定列列表的方法
假设你要验证的目标单元格(包含多个单词)在A列,参考单词列表在B列(每行一个单词),可以用以下Excel公式实现需求:
=AND(ISNUMBER(SEARCH(" "&TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",100)),(ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)*100+1,100))&" "," "&TEXTJOIN(" ",TRUE,B:B)&" ")))
公式逻辑说明
- 拆分目标单元格:通过
SUBSTITUTE+MID将A列单元格里的单词按空格拆分,再用TRIM清除每个单词的多余空格 - 构建匹配字符串:用
TEXTJOIN把B列的所有单词合并成一个带前后空格的长字符串,避免出现部分匹配的误判(比如把"apple"识别成"apples"的一部分) - 检查匹配:用
SEARCH判断每个拆分后的单词是否在合并字符串中,ISNUMBER返回匹配结果的布尔值 - 全局验证:最后用
AND确保目标单元格里的所有单词都能在B列列表中找到
注意事项
- 如果单词的分隔符不是空格,把公式里的空格替换成对应的分隔符即可
- 旧版Excel需按
Ctrl+Shift+Enter确认数组公式输入,新版Excel直接回车生效 - B列的空白行会被
TEXTJOIN自动忽略,无需额外处理
内容的提问来源于stack exchange,提问作者snidsnid
相关产品推荐
相关产品推荐

