带货币符号转数字,Excel和代码里最实用的几种方法
做财务数据处理的人都知道,从ERP或银行流水导出的金额字段,经常带着¥、$、€这些符号,直接拿去做SUM、算平均值全报错。不管在Excel里还是写代码,把带货币符号的文本转成纯数字都是绕不过去的一道坎。
Excel里最省事的做法是套两个函数:先SUBSTITUTE把货币符号替换成空串,再VALUE或乘以1把文本变数字。比如A1是"¥3,250",公式写=VALUE(SUBSTITUTE(SUBSTITUTE(A1,"¥",""),",",""))。数据量大时用"查找替换"批量清掉符号,再选择性粘贴为值也很快。

写代码处理时,正则表达式最利索。Python里一句re.sub(r'[^0-9.-]','',text)就能把所有非数字字符一次清掉,float()一调就转成数字。JS里同理,replace去掉符号再parseFloat。注意负数场景,"-¥500"里负号位置不一,正则得单独处理,别把负号吞了。
实际项目里还有个坑:不同系统货币符号不统一,有的全角"¥"带货币符号转数字,Excel和代码里最实用的几种方法,有的半角"¥",银行流水和电商后台导出的格式各不一样。转换前先跑遍去重统计,看符号到底有几种写法,别一刀切。转完务必抽几行和原始金额对一下,尤其大额和带小数的带货币符号 转换数字,确认没有精度丢失再往下走。
