拆分数组公式的挑战

Split challenges on an array formula

我正在尝试拆分以下标准: 这是B列

{"Dom":"DSQR","ID":"987","Name":"Stephen Jones"}
{"Dom":"DSQR","ID":"987","Name":"Tania Dewes"}

公式如下:

=ArrayFormula(IF(B2:B="", "", TRIM(SPLIT(B2:B,M2)))) 

M2 单元格是:

ID":" 

结果是:

您能解释一下为什么 Stephen Jones 显示正确而 Tania 不显示吗? 我希望拆分像第一行那样工作。

那是因为 Stephen Jones 中有 ID":" 个 none,而 Tania Dewes 中有 D 个。建议使用合适的解析器,比如自定义函数来解析 JSON.

使用:

=INDEX(IFERROR(REGEXREPLACE(SPLIT(A1:A, ":,", 1), "[\{\}""]", )))

或:

=INDEX(IFERROR(SPLIT(REGEXREPLACE(A1:A, "[\{\}""]|ID", ), ":,", 1)))