Google 工作表:对存储在不同单元格中的数组执行 VLOOKUP

Google Sheets: Conduct VLOOKUP on array stored in a different cell

我正在尝试将一系列 key/value 对存储在 Google 工作表的单个单元格中,然后使用 VLOOKUP() 等公式查询数组。

例如,有一个数组存储一系列 key/value 对:

{"keyA", "valueA"; "keyB", "valueB"; "keyC", "valueC"}

如果该数组嵌入公式中,您可以对其使用 VLOOKUP:

=VLOOKUP("keyB",{"keyA","valueA";"keyB","valueB";"keyC","valueC"},2,FALSE)

这将 return“valueB”。

但是如果您将数组存储在单元格中(例如 B2)并在公式中引用该单元格,例如:

=VLOOKUP("keyB",B2,2,FALSE)

...你得到一个#REF!回复详细信息:“错误。VLOOKUP 的计算结果超出范围。”

有人可以提出解决方案吗?

非常感谢

电子表格中没有EVALUATE公式。

数组表达式是某种公式,为了输出一个范围内的值,你必须输入:

={"keyA", "valueA"; "keyB", "valueB"; "keyC", "valueC"}

然后您可以对输出执行 VLOOKUP


不过,你可以自己解析SPLIT

=ArrayFormula(SPLIT(TRANSPOSE(SPLIT(REGEXREPLACE(B2,"^{""|""}$",),"""; """,FALSE)),""", """,FALSE))