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

Google Sheets:从含指定文本的字符串提取数值后执行运算

解决方法:提取带单位的数值并按规则运算

核心公式(以拆分数据在B列为例)

在需要输出结果的单元格(比如C3)中输入:

=REGEXEXTRACT(B3,"\d+") * IF(REGEXMATCH(B3,"tb"), 1000, 1)

下拉填充即可应用到所有行。

公式解释

  • REGEXEXTRACT(B3,"\d+"):从拆分后的字符串(如5tb、200gb、2tb)中提取所有连续数字,适配你所有案例的格式场景。
  • REGEXMATCH(B3,"tb"):检查当前单元格的字符串是否包含tb标识。
  • 逻辑判断:如果包含tb,提取的数值乘以1000;否则乘以1(保持原数值不变)。

原公式出错原因

你的原公式存在两个关键问题:

  1. 单元格引用混乱:同时用到了原始数据列和拆分数据列,导致判断条件和提取数值的数据源不一致(比如第三组中,原始数据含tb但当前拆分数据是500gb,公式错误触发了乘以1000的逻辑)。
  2. 提取规则冗余:REGEXEXTRACT(A6,"(\d+)tb")限定了数字必须紧跟tb前,虽然你的案例符合这个格式,但核心问题还是引用错误导致结果异常。

易修改扩展方案

如果后续需要新增其他单位的运算规则(比如gb保持原值、mb乘以0.001),可以用SWITCH函数让规则更清晰,方便修改:

=REGEXEXTRACT(B3,"\d+") * SWITCH(TRUE,
  REGEXMATCH(B3,"tb"), 1000,
  REGEXMATCH(B3,"gb"), 1,
  REGEXMATCH(B3,"mb"), 0.001,
  1)

新增规则时,直接在SWITCH里追加一行条件和对应乘数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:45:35