Excel 搜索多个列,如果找到,则返回列(标题)的第一行

Excel 搜索多个列,如果找到,则返回列(标题)的第一行,excel,excel-formula,excel-2016,Excel,Excel Formula,Excel 2016,如果在列中找到值,我的目标是获取标题(另一个工作表中的第一行) 因为VLOOKUP和HLOOKUP有一些问题(例如,搜索条件必须在矩阵的第一列),我必须找到一些替代方案。对于VLOOKUP我将索引与匹配一起使用。现在我正在为HLOOKUP寻找一个替代方案。我找到了,但没法用 我有两张纸: 列 Car Living Boat ---------------------------------- Kia appartment Jet-Ski Chevr

如果在列中找到值,我的目标是获取标题(另一个工作表中的第一行)

因为
VLOOKUP
HLOOKUP
有一些问题(例如,搜索条件必须在矩阵的第一列),我必须找到一些替代方案。对于
VLOOKUP
我将
索引与
匹配一起使用。现在我正在为
HLOOKUP
寻找一个替代方案。我找到了,但没法用

我有两张纸:

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

Car        Living        Boat
----------------------------------
Kia        appartment    Jet-Ski
Chevrolet  house         speedboat
Ford       condominium   Yacht
Audi    
原始公式:

换算公式:

目前,上述公式的结果是Car。如果我使用计算公式工具,我可以看到,
If
子句没有计算整个矩阵,但我不知道为什么。我做错了什么


如何获取列的标题?

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

如果您不想通过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)),)))

尝试通过按住ctrl+shift+enter键输入,因为这是一个数组formula@JvdV当前位置似乎工作得好多了。我可以像往常一样复制/扩展公式吗?还是每行都必须按Ctrl+Shift+Enter?您可以拖动它,但在执行此操作之前,您可能需要绝对单元格引用。
=INDEX(column!A1:C1,MAX(INDEX((column!A2:C5="speedboat")*(COLUMN(A2:C5)),)))