使用Power Query(MS Excel)将格式化字符串解析为货币类型
解析「数字|ISO货币代码」为Excel货币类型列的方法
方法1:公式拆分+自定义格式映射(适合少量数据)
- 拆分数值与货币代码
假设原始数据在A列,在B列提取纯数值:
在C列提取ISO货币代码:=LEFT(A2,FIND("|",A2)-1)=RIGHT(A2,LEN(A2)-FIND("|",A2)) - 建立货币代码-符号对照表
在空白区域(如E:F列)创建映射表,示例:E列(代码) F列(符号) USD $ EUR € GBP £ - 匹配符号并设置格式
在D列用VLOOKUP获取对应符号:
选中B列数值单元格,右键→「设置单元格格式」→「自定义」,在类型框输入:=VLOOKUP(C2,$E$2:$F$10,2,FALSE)
批量应用时可下拉填充公式,再统一设置格式。"[$"&D2&"] #,##0.00"
方法2:Power Query批量处理(推荐API导入场景)
因为你是从REST API导入数据,用Power Query可在导入阶段直接完成格式转换:
- 导入API数据:点击「数据」→「自Web」,输入API地址导入到Power Query编辑器。
- 拆分货币列:选中目标列→「转换」→「拆分列」→「按分隔符」,选择
|拆分为「数值」和「货币代码」两列。 - 转换数值类型:选中数值列→「数据类型」→「小数」。
- 映射货币符号:
- 点击「添加列」→「自定义列」,输入判断公式(可扩展更多货币):
= if [货币代码] = "USD" then "$" else if [货币代码] = "EUR" then "€" else "" - 更高效的方式是新建一个货币代码-符号的对照表查询,通过「合并查询」关联两表获取符号。
- 点击「添加列」→「自定义列」,输入判断公式(可扩展更多货币):
- 设置货币格式:选中数值列→「转换」→「格式化」→「货币」,选择对应符号;或右键「更改类型」→「使用格式设置」自定义货币格式。
- 加载数据:点击「关闭并上载」,处理后的数据将以正确货币格式导入Excel工作表。
内容的提问来源于stack exchange,提问作者Hazard
相关产品推荐
相关产品推荐

