如何在excel中找到json串中指定字段的值

这个方法真的很笨很笨但是我觉得很好理解哈哈

1. 首先介绍一下咱们这里的两个函数,一个是MID(),一个是FIND()

a)、find()函数可以获取到指定文本在单元格中的位置

find()函数中有三个参数,第一个是需要查找的文本,第二个是指定单元格,第三个是开始查找的单元格中文本开始的下标,如果不填写默认从头开始查找。
eg. 单元格A1中的文本为1234567,使用find()函数找出5所在的单元格中的第几个位置,则这么使用:find("5",A1)得出的结果是5

b)、mid()函数可以获取到单元格内指定范围的数据

mid()函数中也是三个参数且都是必填项,第一个是指定单元格,第二个是显示开始的下标,第三个是从第二个从参数的下标开始往后取几个字符。
eg. 接着上个例子,从5往后取两个数包含5,这么使用:mid(A1,5,2),得出的结果是56

2、直接上栗子

eg. 希望能够获取A列项中的name里的值和greet里的打招呼之后的名字

此时在B1和C1的单元格中如何写公式呢
B1中可以这么写:
=MID(A1,(FIND("name",A1)+LEN("name"":""")),(FIND(""",""greet",A1))-(FIND("name",A1)+LEN("name"":""")))

怎么理解呢,这里是find({"name":",A1)这个指的是第一个name的n这个字母的下标,后面的LEN("name"":""")指的是name":"这些字符串的长度,即(FIND("name",A1)+LEN("name"":""")指的是{"name":"后的第一个字符所在的位置;
(FIND(""",""greet",A1))-(FIND("name",A1)+LEN("name"":"""))这个指的是从name":"到,"greet"经历的长度,即name字段里的姓名的长度。

C1中可以这么写: