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

Google Sheets正则修正:提取[char10]分隔多条目并拆分到列

解决Google Sheets多条目提取并拆分到列的问题

问题分析

你的单元格内容是以>开头、换行符([char10]即\n)分隔的多个条目,原正则> (.*?) !错误使用了!作为终止符,且仅定义单个分组,因此只能提取第一个条目。

解决方案

方法1:固定条目数的多分组提取

若能确定单元格内最多有N个条目,可直接在正则中定义对应数量的分组,每个分组匹配一个条目内容:

=REGEXEXTRACT(H15, "> (.*?)\n> (.*?)\n> (.*?)\n> (.*?)\n")

该公式会将4个条目分别提取到相邻4列;若条目数更少,多余列会显示#N/A,可通过IFERROR优化:

=ARRAYFORMULA(IFERROR(REGEXEXTRACT(H15, "> (.*?)\n> (.*?)\n> (.*?)\n> (.*?)\n"), ""))

方法2:动态提取任意数量条目(推荐)

若条目数量不固定,先通过REGEXREPLACE清理格式,再用SPLIT拆分到多列:

=SPLIT(REGEXREPLACE(H15, "^\s*> |>\s*|\n$", ""), "\n")
  • REGEXREPLACE逻辑:
    • ^\s*> :移除单元格开头的>及前后空白
    • >\s*:移除后续每个条目开头的>及空白
    • \n$:移除末尾换行符
  • SPLIT按换行符\n拆分处理后的内容,自动分配到不同列。

也可自定义分隔符拆分:

=SPLIT(REGEXREPLACE(H15, "> (.*?)\n?", "$1|"), "|", TRUE, TRUE)

将每个条目替换为内容|后按|拆分,最后两个TRUE表示忽略空值且不转义分隔符。

方法3:数组公式批量处理整列

若要处理H15:H整列单元格,用ARRAYFORMULA批量执行:

=ARRAYFORMULA(IF(H15:H="",,SPLIT(REGEXREPLACE(H15:H, "^\s*> |>\s*|\n$", ""), "\n")))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:56:02