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))
我正在尝试将一系列 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))