想要扫描一行并从顶列返回所有匹配的值以形成列表

想要扫描一行并从顶列返回所有匹配的值以形成列表

我的电子表格是这样的

小时 命令 名称1 名称2 名称3 名称4 名称5
7-8 二十七 挑选 加载 挑选 加载 跑步者
8-9 19 挑选 加载 挑选 加载 跑步者
9-10 21 挑选 加载 加载 挑选 加载
10-11 三十二 挑选 加载 加载 挑选 加载

假设对于 10-11,我想扫描该行或对其进行索引,然后返回该小时内所有正在装货的人员的姓名。因此,在新列中,我将有 10-11,其下是正在装货的人员的姓名列表。

答案1

如果您有数据A1:G5并且有FILTER公式,则可以使用:

=FILTER(C1:G1,FILTER($C$2:$G$5,$A$2:$A$5=$A$8)=$B$8)  

A8您所追求的时刻在哪里,B8您所追求的类型是什么。

在此处输入图片描述

用 包装TRANSPOSE将列表放在一列中。
在此处输入图片描述

编辑:非 365 版本。
这两个公式无疑都需要以数组公式的形式输入。
此公式将返回名称,但没有匹配项的单元格将为空白。

=TRANSPOSE(IF(INDEX($C$2:$C$5,MATCH($A$8,$A$2:$A$5,0)):INDEX($G$2:$G$5,MATCH($A$8,$A$2:$A$5,0))=$A$9,$C$1:$G$1,"")) 

此公式将删除空白单元格。请注意,公式中的 -9 是因为数据位于第 10 行。

=IF(ISERROR(SMALL(IF(A10:A14<>"",ROW(A10:A14)-9),ROW(A10:A14)-9)),"",INDEX(A10:A14,MATCH(SMALL(IF(A10:A14<>"",ROW(A10:A14)-9),ROW(A10:A14)-9),IF(A10:A14<>"",ROW(A10:A14)-9),0)))  

删除空白

在此处输入图片描述

相关内容