如果单元格匹配,如何返回列标题?

如果单元格匹配,如何返回列标题?

假设我有一张桌子:

图片描述

我想搜索一个单元格并返回其列标题。例如,如果我搜索Orange,结果为Fruit。我可以通过在此处使用嵌套的 if ( E2is Orangein) 来实现此目的:

=IF(NOT(ISERROR(MATCH(E2,A1:A4,0))),A1,IF(NOT(ISERROR(MATCH(E2,B1:B3,0))),B1,C1))

但在大型表格中这是不可能的。另外,我不知道是否发生了错误。有没有更好的方法来获取结果?我不知道每列有多少行。表中没有重复的数据。该表不是以 开始的A1,将来可以移动到另一个电子表格中。

答案1

如果 Aggregate 不在您可以使用的函数之间:
=OFFSET(A1,0,SUMPRODUCT(--(A2:C4=E2)*COLUMN(A2:C4))-1)
Sumproduct 将确定您要搜索的匹配值的列号。Offset
将返回等效列的标题。

在此处输入图片描述

答案2

使用 AGGREGATE() 将列号返回给 INDEX() 函数:

=INDEX(1:1,AGGREGATE(15,6,COLUMN($A$2:$C$4)/($A$2:$C$4=E2),1))

在此处输入图片描述

相关内容