Excel 公式:=MATCH() 的等效项是什么,但对于多列而言?

Excel 公式:=MATCH() 的等效项是什么,但对于多列而言?

问题

此公式将返回值“Bob”出现的行号。假设该值恰好在 $A$10 中,则公式将返回:10

=MATCH("Bob",A:A,0)

我希望有一个公式可以做类似的事情,但要给我列。例如,如果我在 A:F 中搜索“Bob”,我想知道它在哪一列。我想到了这样的事情:

=INDEX(1:1,MATCH("Bob",A:F,0))

或者

=CELL("col",B14)

通过查找、索引/匹配等找到地址 B14。

答案1

MATCH 仅适用于单列或单行,因此您可以使用 1:1 这样的行,而不是 A:A

=MATCH("Bob",1:1,0)

这会给你一个数字,所以如果“Bob”首先在 Z1 中找到,你会得到 26.....或者你需要一些不同的东西?

您是否遇到了更大的问题,而这只是其中的一部分?

根据评论进行编辑:

此“数组公式”将在 Summary!A2:Z1000 中的任何位置搜索 A2,并返回找到该值的第一列的列标题

=INDEX(Summary!A1:Z1,SMALL(IF(Summary!A2:Z1000=A2,COLUMN(Summary!A2:Z1000)-COLUMN(Summary!A2)+1),1))

公式需要用CTRL+SHIFT+ENTER大括号(如 { 和 })进行确认,以便在公式栏中的公式周围出现

答案2

查找范围内的隐藏列将执行此操作,使您能够使用 MATCH 带回子数组 - 在我的情况下是命名范围的 1 行 x 5 列子部分_Maturity

=OFFSET(INDEX(_Maturity,MATCH($B7&$C7,INDEX(_Maturity,0,3),0),0),0,3,1,5)

_Maturity数组宽为 8 列,行长动态(使用 OFFSET 和 COUNTA)。

第 1 列保存 B 的值,第 2 列保存 C 的值 - 这些值在隐藏列 C(隐藏)中连接 - 因此,第二个 Index 函数中的列偏移量为 3。

希望这可以帮助。

相关内容