搜索多列和 return 列的第一行 (header)(如果找到)

Search multiple columns and return first row of column (header) if found

如果在列中找到该值,我的目标是获取 header(另一个 sheet 的第一行)。

因为 VLOOKUPHLOOKUP 有一些问题(例如搜索条件必须在矩阵的第一列),我必须找到一些替代方案。对于 VLOOKUP,我将 INDEXMATCH 一起使用。现在我正在寻找 HLOOKUP 的替代方案。我找到 this post,但无法正常工作。

我有两个sheet:

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 子句不会评估整个矩阵,但我不知道为什么。我做错了什么?

如何获取列的header?

问题是您使用的数组公式需要通过CtrlShiftEnter[=确认24=]。您只需执行一次,即可拖动公式。

如果不想通过CtrlShiftEnter输入,另一种方法您的公式可以是:

=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)),)))