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

如何在Google Sheets中从句子提取大小写敏感的指定单词

Google Sheets 提取指定小写单词的实现方案

需求说明

  • 从句子中提取预设小写单词列表内的词汇,严格区分大小写(仅匹配小写目标词)
  • 无匹配项时返回空白或“all good”
  • 当前已实现去除标点、转逗号分隔格式,但无法完成目标词筛选;REGEXEXTRACT仅能提取首个匹配,无法处理多匹配场景
  • 当前使用公式:=textjoin(",",true,split(REGEXREPLACE( C9,"[!@#$%^&*().,。]","")," "))

示例场景

目标单词句子期望结果
applethe bear ate an apple up the tree.bear,apple,up
beari like potato(空白)
upyou hate apple pie?apple
(空白)i went, up the apple treeup,tree

可行解决方案

方案1:提取预设单词列表中的所有匹配项(区分大小写)

假设预设单词列表存储在$A$2:$A$5(例如包含apple、bear、up、tree),待处理句子在C9单元格,使用以下公式:

=TEXTJOIN(",", TRUE, FILTER(SPLIT(REGEXREPLACE(C9, "[!@#$%^&*().,。]", ""), " "), ISNUMBER(MATCH(SPLIT(REGEXREPLACE(C9, "[!@#$%^&*().,。]", ""), " "), $A$2:$A$5, 0))))

公式逻辑:

  1. 先去除句子中的标点符号
  2. 将句子按空格拆分为单个单词的数组
  3. 检查每个单词是否存在于预设列表中
  4. 筛选出匹配的单词,用逗号连接输出

方案2:提取指定单个目标词的所有匹配(严格区分大小写)

若每行的目标词存储在B列(如示例中的B9),仅提取与该目标词完全一致的小写单词,使用以下公式:

=TEXTJOIN(",", TRUE, FILTER(SPLIT(REGEXREPLACE(C9, "[!@#$%^&*().,。]", ""), " "), EXACT(SPLIT(REGEXREPLACE(C9, "[!@#$%^&*().,。]", ""), " "), B9)))

公式逻辑:

  • 用EXACT函数实现严格大小写匹配,确保仅提取与目标词完全一致的小写词汇

无匹配时返回“all good”

用IFERROR包装公式,无匹配时返回指定文本:

=IFERROR(TEXTJOIN(",", TRUE, FILTER(SPLIT(REGEXREPLACE(C9, "[!@#$%^&*().,。]", ""), " "), ISNUMBER(MATCH(SPLIT(REGEXREPLACE(C9, "[!@#$%^&*().,。]", ""), " "), $A$2:$A$5, 0)))), "all good")

内容的提问来源于stack exchange,提问作者fancy potato

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:09:59