搜索多列并返回列的第一行(标题)(如果找到)

时间:2019-09-13 10:27:08

标签: excel excel-formula excel-2016

如果在列中找到值,我的目标是获取标题(另一张纸的第一行)。

由于VLOOKUPHLOOKUP遇到了一些问题(例如,搜索条件必须在矩阵的第一列中),因此我不得不寻找其他选择。对于VLOOKUP,我将INDEXMATCH一起使用。现在,我正在寻找HLOOKUP的替代方法。我找到了this post,但无法正常工作。

我有两张纸

Car        Living        Boat
----------------------------------
Kia        appartment    Jet-Ski
Chevrolet  house         speedboat
Ford       condominium   Yacht
Audi    

搜索列

原始公式

=INDEX(column!A1:C1;;MIN(WENN(column!A1:C5="speedboat";SPALTE(column!A:C))))

换算公式

=INDEX(column!A1:C1,,MIN(IF(column!A1:C5="speedboat",COLUMN(column!A:C))))

当前,以上公式的结果为 Car 。如果使用评估公式工具,我会看到IF子句不会评估整个矩阵,但是我不知道为什么。我在做什么错了?

如何获取列的标题?

1 个答案:

答案 0 :(得分:2)

问题是您使用的数组公式需要通过 Ctrl Shift Enter 进行确认。您只需要这样做一次,就可以拖动公式。

如果您不想通过 Ctrl Shift Enter 输入,则公式的另一种选择可能是:

=INDEX(column!A1:C1,SUMPRODUCT((column!A2:C5="speedboat")*(COLUMN(A2:C5))))

也许更好:

=INDEX(column!A1:C1,MAX(INDEX((column!A2:C5="speedboat")*(COLUMN(A2:C5)),)))