我有一个源表,其中的列数可变。第一列是名称,其余列是类型,根据我的数据,其值为true
或false
。
我也有一个输入查阅列,其中包含类型的名称。
根据查找列中选择的类型,我想从来源返回名称 >包含任何所选类型类型的true
的列。
很难解释,所以我制作了一个带有预期输出的样本表,https://docs.google.com/spreadsheets/d/1U7-Vz8tq-4E1Z6jkVFzsoIvW8VHRJNGw0oqDE1LUKOI/edit?usp=sharing上的解释包含了样本输入和预期输出。
可以将新行添加到源表中,还可以添加新列(类型)。有人以为我要对 source 表中的每一行都有一个公式,根据 lookup 表中的内容检查列,但我想避免这种情况,因为新行/列可以添加到源表中。
我希望有一个arrayformula
或高效的产品。我已经看了好几个小时没有运气了。我什至不知道从哪里开始...
答案 0 :(得分:1)
对于 H9 :
=ARRAYFORMULA(UNIQUE(TRIM(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF(B3:F=TRUE, "♠"&B2:F2&"♦"&A3:A, )),,999^99)),,999^99), "♠")), "♦"),
"select Col2 where Col1 matches '"&TEXTJOIN("|", 1, G9:G)&"'"))))
对于 H3 :
=ARRAYFORMULA(UNIQUE(TRIM(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF(B3:F=TRUE, "♠"&B2:F2&"♦"&A3:A, )),,999^99)),,999^99), "♠")), "♦"),
"select Col2 where Col1 matches '"&TEXTJOIN("|", 1, G3:G6)&"'"))))