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

如何在Google Sheets中按需提取单词单复数:单/复/双场景适配

Google Sheets 单复数文本精准提取方案

现状与需求

当前使用的公式

C2、C3、C4单元格分别使用以下公式:

  • C2公式:
=ifna(
transpose(
query(TRANSPOSE(iferror(
{REGEXEXTRACT(A2,"(?)Fruits"),REGEXEXTRACT(A2,"(?)Fruit")})),"Select * where Col1<>'' ")),"")
  • C3公式:
=ifna(
transpose(
query(TRANSPOSE(iferror(
{REGEXEXTRACT(A3,"(?)Fruits"),REGEXEXTRACT(A3,"(?)Fruit")})),"Select * where Col1<>'' ")),"")
  • C4公式:
=ifna(
transpose(
query(TRANSPOSE(iferror(
{REGEXEXTRACT(A4,"(?)Fruits"),REGEXEXTRACT(A4,"(?)Fruit")})),"Select * where Col1<>'' ")),"")

当前输出

Item 1Item 2Item 3Item 4
Fruits basketFruitsFruit
Fruit juiceFruit
Fruit juice and Fruits BasketFruitsFruit

预期效果

  1. C2仅输出Fruits,D2为空;
  2. C3保留Fruit输出;
  3. C4和D4同时输出Fruits和Fruit。

预期输出:

Item 1Item 2Item 3Item 4
Fruits basketFruits
Fruit juiceFruit
Fruit juice and Fruits BasketFruitsFruit

核心逻辑:仅存在复数时提取复数,仅存在单数时提取单数,两者都存在时同时提取。


解决方案

方法1:分单元格单独配置公式

  • C列公式(C2下拉到C4):
=IF(AND(REGEXMATCH(A2,"Fruits"),REGEXMATCH(A2,"Fruit")), "Fruits", IF(REGEXMATCH(A2,"Fruits"), "Fruits", IF(REGEXMATCH(A2,"Fruit"), "Fruit", "")))
  • D列公式(D2下拉到D4):
=IF(AND(REGEXMATCH(A2,"Fruits"),REGEXMATCH(A2,"Fruit")), "Fruit", "")

方法2:数组公式批量处理

选中C2单元格,输入以下公式后按回车(Google Sheets自动识别数组公式):

=ARRAYFORMULA(IF(A2:A4="",,
  IF(REGEXMATCH(A2:A4,"Fruits")*REGEXMATCH(A2:A4,"Fruit"), {"Fruits","Fruit"},
    IF(REGEXMATCH(A2:A4,"Fruits"), {"Fruits",""},
      IF(REGEXMATCH(A2:A4,"Fruit"), {"Fruit",""},
        {"",""})))))

该公式会自动填充C2:D4区域,一次性满足所有需求。

逻辑说明

  1. 优先判断单元格是否同时包含Fruits和Fruit:若是则分别输出到C、D列;
  2. 仅包含Fruits时,C列输出复数,D列留空;
  3. 仅包含Fruit时,C列输出单数,D列留空;
  4. 两者都不包含时,两列均留空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 04:35:41