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

Google Sheets中含点及特殊符号的复杂REGEXREPLACE提取问题

Google Sheets 批量提取文本内容方案

以下是针对A列文本,用ARRAYFORMULA结合正则表达式实现C-F列提取的公式:

C列(Name)

提取去除独立数字、+/-符号后的文本内容,保留文本内的数字、点及特殊符号:

=ARRAYFORMULA(TRIM(REGEXREPLACE(REGEXREPLACE(A2:A, "(^|\s)[+-](\s|$)", " "), "(^|\s)(\d+\.*\d*)(\s|$)", " ")))

说明:先移除独立的+/-符号,再移除所有独立的数字序列(含小数),最后用TRIM清理首尾及多余空格。

D列(First standalone number)

提取第一个独立的数字(含小数):

=ARRAYFORMULA(IFERROR(REGEXEXTRACT(A2:A, "(?:^|\s)(\d+(?:\.\d+)?)(?:\s|$)"), ""))

说明:匹配首尾或空格包裹的数字序列,用非捕获组排除空格,提取核心数字;IFERROR处理无匹配的空值。

E列(Second standalone number)

提取第二个独立的数字(含小数):

=ARRAYFORMULA(IFERROR(REGEXEXTRACT(REGEXREPLACE(A2:A, "(?:^|\s)(\d+(?:\.\d+)?)(?:\s|$)", " ", 1), "(?:^|\s)(\d+(?:\.\d+)?)(?:\s|$)"), ""))

说明:先通过REGEXREPLACE替换掉第一个数字序列(仅替换1次),再对剩余内容提取第一个数字序列,实现提取第二个目标数字。

F列(Sign)

提取文本中的+/-符号:

=ARRAYFORMULA(IFERROR(REGEXEXTRACT(A2:A, "(?:^|\s)([+-])(?:\s|$)"), ""))

说明:匹配独立的+/-符号(被空格或首尾包裹),提取符号本身;无符号时返回空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:56:01