如何从Excel单元格的类JSON数组格式数据中提取特定值
Excel提取单元格内类JSON字符串指定字段值的解法
以下公式均假设你存储目标数据的单元格为A1,可根据实际位置自行调整:
适用Excel 365 / 2021及以上版本
直接用TEXTBEFORE+TEXTAFTER组合即可实现快速提取:
=TEXTBEFORE(TEXTAFTER(A1,"""DATA1"":"""),"""")
原理说明:先用TEXTAFTER定位到"DATA1":"之后的内容,再用TEXTBEFORE截取到下一个双引号之前的内容,即可得到DATA1对应的值ABC。
如果需要适配提取数字类型的无引号字段(比如示例里的DATA3),可以用通用公式:
=LET(x,TEXTAFTER(A1,"""DATA1"":"),y,IF(LEFT(x,1)="""",TEXTAFTER(x,""""),x),TEXTBEFORE(y,IF(LEFT(x,1)="""",""""," ")))
适用所有Excel版本(含2019及更早旧版本)
用MID+FIND组合兼容实现:
=MID(A1,FIND("""DATA1"":""",A1)+LEN("""DATA1"":"""),FIND("""",A1,FIND("""DATA1"":""",A1)+LEN("""DATA1"":""")) - (FIND("""DATA1"":""",A1)+LEN("""DATA1"":""")))
原理说明:先用FIND定位"DATA1":"的起始位置,加上这段字符串的长度得到目标值的起始位置,再查找下一个双引号的位置,两个位置相减得到目标值的长度,最后用MID截取对应内容即可。
要提取其他字段只需把公式内的
DATA1替换为对应字段名即可,比如提取DATA2就替换为DATA2。
内容的提问来源于stack exchange,提问作者xenos
相关产品推荐
相关产品推荐

