EXCEL - 使用INDEX MATCH

时间:2016-05-25 18:07:39

标签: excel excel-formula

在此示例中,有两个工作表, Sheet1 Sheet2 。 Sheet1包含我们的公式,还包含单元格B4中的单元格查找值。 Sheet2包含要搜索的数据索引。目标是在Sheet1上使用INDEX MATCH公式来匹配Sheet1 Cell B4(在此示例中包含日期,' 2016年5月23日')对跨越多列的大型索引的内容( L:DX),其中包含日期。细胞查找值' 5/23/2016'只会在Sheet2上出现一次。

我按照以下一般语法尝试了一些不成功的INDEX MATCH变体:

=INDEX(Sheet2!L:DX,MATCH(Sheet1!B4,Sheet2!L:DX,0))

Sheet2!L:DX 是搜索单元格查找值的索引。请注意它如何跨越多列。

B4 是单元格查找值

" 0" 指定匹配必须完全

我相信肯定会有一些我遗漏的东西,因为这会返回一个#N / A错误。我理解这个错误的一个原因可能是MATCH无法以我编写的方式在多个列中搜索此单元格查找值。想知道如何实现这一点,因为我无法找到应用于多列的公式示例

1 个答案:

答案 0 :(得分:1)

要获取地址,我们可以使用ADDRESS()函数。要使用它,我们需要列号和行号:

找到行:

=AGGREGATE(15,6,ROW(Sheet2!$L$10:$DX$999)/(Sheet2!$L$10:$DX$999=$B$4),1)

找到列:

=AGGREGATE(15,6,COLUMN(Sheet2!$L$10:$DX$999)/(Sheet2!$L$10:$DX$999=$B$4),1)

然后找到地址:

=ADDRESS(AGGREGATE(15,6,ROW(Sheet2!$L$10:$DX$999)/(Sheet2!$L$10:$DX$999=$B$4),1),AGGREGATE(15,6,COLUMN(Sheet2!$L$10:$DX$999)/(Sheet2!$L$10:$DX$999=$B$4),1),1,1,"Sheet2")