如何在Google Sheets中解析单元格JSON对象并提取数值参与公式计算
Google Sheets 解析单元格JSON并提取数值计算的实现方法
方法一:使用自定义Apps Script函数(通用灵活,推荐)
这个方法可以适配任意结构的JSON,支持按层级路径提取值,后续修改路径无需调整逻辑。
操作步骤
- 打开你的Google Sheets表格,点击顶部菜单栏「扩展程序」>「Apps Script」进入脚本编辑器
- 清空编辑器默认的代码,粘贴以下代码:
function PARSE_JSON(jsonString, path) { try { // 解析JSON字符串为对象 const jsonObj = JSON.parse(jsonString); // 拆分传入的层级路径 const keyList = path.split("."); let currentValue = jsonObj; // 逐层遍历取值 for (let key of keyList) { currentValue = currentValue[key]; if (currentValue === undefined) return "#路径错误"; } return currentValue; } catch (error) { return "#JSON格式错误"; } }
- 点击顶部「保存项目」按钮,随便给项目起个名字比如「JSON解析工具」,然后关闭脚本编辑器,刷新你的Google Sheets页面
- 回到表格后,在C10单元格直接输入公式即可完成计算:
=PARSE_JSON(A10, "bitcoin.usd") * B10
用法说明
- 函数第一个参数是存储JSON的单元格引用,第二个参数是要提取的字段层级路径,层级之间用英文点
.分隔即可 - 第一次使用公式时会弹出授权提示,按照提示步骤完成授权即可正常使用
方法二:正则提取(无需写脚本,仅适配固定结构JSON)
如果你的JSON结构永远固定,不想额外写脚本,可以直接用内置函数提取数值:
在C10单元格输入以下公式:=VALUE(REGEXEXTRACT(A10, '"usd":(\d+)')) * B10
注意:这个方法仅对当前示例的固定JSON结构生效,如果JSON字段顺序、层级变动需要重新调整正则规则,兼容性较差。
内容的提问来源于stack exchange,提问作者user2950593
相关产品推荐
相关产品推荐

