本文介绍了当其他列为真时,使用查阅列表从第一列获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个具有可变列数的表。第一列是名称,其余列是类型,值为truefalse,基于我的数据。

我还有一个输入查找列,它将具有类型的名称

根据在查找列中选择的类型%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)&"'"))))

这篇关于当其他列为真时,使用查阅列表从第一列获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-13 08:53