问题
此公式将返回值“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。
希望这可以帮助。