【发布时间】:2015-11-29 16:20:21
【问题描述】:
我有一个基本上包含键/值对字典的 Google 电子表格。钥匙是独一无二的。在第二张表中,我需要为字典中的每个键添加一个或多个行,其中包含一些数据。在这张表中,我还需要报告每个键的正确值。
为此,我尝试将 ARRAYFORMULA 函数与第二张表的第一行上的许多其他函数结合起来,以避免(如果可能)需要在值列的所有行上复制相同的公式。
到目前为止,QUERY 和 FILTER 都不起作用。
QUERY 要求所有数据(包括 WHERE 谓词的参数)驻留在单个工作表上。在我的情况下,过滤键将在第二张纸上,而字典在第一张纸上。所以这个根本不能用。
FILTER 在与 ARRAYFORMULA 结合使用和不使用时似乎有一种奇怪的(对我而言)行为。
你可以看看我的测试 Google Sheet here 或此处使用 ARRAYFORMULA(B 列)的快照,没有它(C 列)以及我想要获得的内容(D 列):
比 pnuts 的解决方案更进一步提供了没有“N/A”单元格的“完美”结果:
=ARRAYFORMULA(IF(A3:A="";"";VLOOKUP(A3:A;KEYS!A1:B;2;FALSE)))
当然,对性能有重大影响,因为 VLOOKUP 对第二张表中的每一行运行一次(这也是我尝试使用 FILTER 的原因)。 即使使用当前链接的示例表,这些性能也相当低,这真的很瘦。
【问题讨论】:
-
很高兴知道为什么它被否决了。
标签: google-sheets array-formulas gs-vlookup