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

如何在Google Sheets中提取JSON数据里isPrimary为true的value值?

提取Google表格JSON中isPrimary为true的value值

方法一:用内置公式实现

假设JSON数据存在A1单元格,直接在目标单元格输入以下公式即可:

=INDEX(FILTER(JSONPARSE(A1), INDEX(JSONPARSE(A1),,2)=TRUE),1,1)

逻辑拆解:

  • JSONPARSE(A1):将单元格内的JSON文本解析为二维数组,第一列对应value,第二列对应isPrimary
  • FILTER(..., INDEX(...,2)=TRUE):筛选出第二列(isPrimary)为true的行
  • INDEX(...,1,1):提取筛选结果中第一行第一列的value值

如果存在多个isPrimary为true的条目,这个公式仅返回第一个;若要返回所有符合条件的value,去掉外层的INDEX直接使用FILTER即可。

方法二:自定义脚本实现

如果公式无法满足复杂需求,可通过Google Apps Script写自定义函数:

  1. 打开Google表格,点击菜单栏「扩展程序」→「Apps脚本」
  2. 删除默认代码,粘贴以下脚本:
function getPrimaryValue(jsonText) {
  try {
    const data = JSON.parse(jsonText);
    // 匹配第一个isPrimary为true的条目
    const primaryItem = data.find(item => item.isPrimary === true);
    // 有匹配结果返回对应value,无结果返回提示文本
    return primaryItem ? primaryItem.value : "无主数据";
  } catch (e) {
    // JSON解析失败时返回错误提示
    return "解析错误";
  }
}
  1. 保存脚本(自定义项目名即可),返回表格
  2. 在目标单元格输入=getPrimaryValue(A1)即可获取结果

这个脚本会自动处理解析错误场景,无匹配数据时也会给出明确提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 06:12:23