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

求助:如何在Google Sheets中提取格式不一致的混合文本数字

在Google Sheets中提取格式不统一的数字

核心公式

针对数字格式不统一(千位分隔符用.、小数分隔符用,,或直接用.做小数分隔符)的情况,可使用以下组合函数提取并转换为标准数字格式:

=VALUE(IF(REGEXMATCH(A1,","), SUBSTITUTE(SUBSTITUTE(REGEXEXTRACT(A1,"[\d.,]+"),".",""),",","."), REGEXEXTRACT(A1,"[\d.]+")))

公式拆解

  1. 提取数字片段:REGEXEXTRACT(A1,"[\d.,]+")
    从A列单元格中匹配并提取连续包含数字、.和,的片段,比如从in the amount of 1.009,62 EUR中提取1.009,62。

  2. 判断格式类型:REGEXMATCH(A1,",")
    检查提取的片段是否包含逗号——如果有,说明逗号是小数分隔符,.是千位分隔符;如果没有,.直接作为小数分隔符。

  3. 格式转换:

    • 存在逗号时:先用SUBSTITUTE(..., ".", "")去掉千位分隔符的.,再用SUBSTITUTE(..., ",", ".")将小数分隔符的,替换为.,比如1.009,62转换为1009.62。
    • 不存在逗号时:直接提取数字片段,用VALUE()转换为数值格式。
  4. 转为数值:VALUE()函数将处理后的文本转换为可计算的数字格式。

示例验证

对应你的模拟数据,公式输出如下:

A列内容B列公式输出
in the amount of $1910.06 on1910.06
una transferencia de 15,01 EUR a la15.01
received 650,40 € on650.40
in the amount of 1.009,62 EUR1009.62
montant de € 16.19 vers16.19
in the amount of 99.77 PLN99.77
in the amount of CDN$ 1209.231209.23

注:你提供的期望输出中650,40对应650.04应为笔误,公式会按原数据转换为650.40。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 23:36:21