本文介绍了当其他列为真时,使用查阅列表从第一列获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个具有可变列数的源表。第一列是名称,其余列是类型,值为true
或false
,基于我的数据。
我还有一个输入查找列,它将具有类型的名称。
根据在查找列中选择的类型%s,我要从源列返回名称,该列具有所选任何类型的true
。
很难解释,所以我在https://docs.google.com/spreadsheets/d/1U7-Vz8tq-4E1Z6jkVFzsoIvW8VHRJNGw0oqDE1LUKOI/edit?usp=sharing有样本输入和我的预期输出时制作了一张预期输出和解释的样张。
可以向源表添加新行,也可以添加新列(类型)。一种想法是让源表中的每一行都有一个公式,根据查找表中的内容检查列,但我想避免这种情况,因为可以向源表中添加新的行/列。
我希望是一个arrayformula
或一些有效的东西。我已经盯着这个看了几个小时了,但一直没有运气。我甚至不知道从何说起……
推荐答案
对于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)&"'"))))
这篇关于当其他列为真时,使用查阅列表从第一列获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!