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

如何用Excel解析JSON字符串提取old_value与new_value中的price值

从Excel单元格的JSON字符串中提取指定Price值

需求说明

从A1单元格的JSON字符串里,提取old_value和new_value对应的price数值。

原始JSON内容

换行格式:

{"createdAt": "1671062337000", "lastModifiedAt": "1671062337000", 
"item_id": "108532709", "old_value": {"variants": {"946038674": 
{"choice_groups": {"108532709": {"choices": {"946038818": 
{"price": "186.55"}}}}}}}, "closedAt": "1671062337000", 
"new_value": {"variants": {"946038674": {"choice_groups": {"108532709": 
{"choices": {"946038818": {"price": "190.55"}}}}}}}, 
"type_of_change": "EmbeddedChoicesPriceChange"}

单行格式(便于复制):

{"createdAt": "1671062337000", "lastModifiedAt": "1671062337000", "item_id": "108532709", "old_value": {"variants": {"946038674": {"choice_groups": {"108532709": {"choices": {"946038818": {"price": "186.55"}}}}}}}, "closedAt": "1671062337000", "new_value": {"variants": {"946038674": {"choice_groups": {"108532709": {"choices": {"946038818": {"price": "190.55"}}}}}}}, "type_of_change": "EmbeddedChoicesPriceChange"}

问题分析

你之前尝试的公式是针对含短横线的字符串截取,和当前JSON结构完全不匹配,无法正确提取价格值。以下是两种可行的解决方案:


方法1:Excel 365/2021 专用(推荐)

利用Excel原生的JSON.PARSE函数直接解析JSON结构,精准提取目标值:

  • 提取old_value对应的price:

    =JSON.PARSE(A1).old_value.variants."946038674".choice_groups."108532709".choices."946038818".price
    
  • 提取new_value对应的price:

    =JSON.PARSE(A1).new_value.variants."946038674".choice_groups."108532709".choices."946038818".price
    

注意:JSON中的数字型键(如946038674)需要用双引号包裹,Excel才能正确识别路径。


方法2:兼容旧版Excel(文本截取法)

如果你的Excel版本不支持JSON解析,可通过定位关键词的方式截取价格:

  • 提取old_value对应的price:

    =MID(A1,FIND("old_value",A1)+FIND("price":"",A1,FIND("old_value",A1))+8,FIND("""",A1,FIND("price":"",A1,FIND("old_value",A1))+8)-FIND("price":"",A1,FIND("old_value",A1))-8)
    
  • 提取new_value对应的price:

    =MID(A1,FIND("new_value",A1)+FIND("price":"",A1,FIND("new_value",A1))+8,FIND("""",A1,FIND("price":"",A1,FIND("new_value",A1))+8)-FIND("price":"",A1,FIND("new_value",A1))-8)
    

原理:先定位old_value/new_value的位置,再在该范围内找到price":"的起始点,最后截取引号之间的价格数值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:35:25