今天遇到一个小伙伴的问题,如下图,A1:L6区域为原始数据区域,姓名与月份相隔排列,要求在下方表格填写姓名与月份对应的数据:

利用index+match+offset函数实现查找的方法和实例-趣帮office教程网

思路:月份是比较容易查找的,因为都分布在第一行,而姓名却不规范地分布在多列,经过观察得知:要查找的姓名都是在要查找的月份左侧一列的,所以先找出月份所在的列数,再-1就是姓名所在的列,根据这个思路,整个问题迎刃而解。

以B10单元格写入公式为例,步骤:①公式:=MATCH(B$9,$A$1:$L$1,0)

利用index+match+offset函数实现查找的方法和实例-趣帮office教程网

以此可以确定,B9单元格代表的月份在原数据区域的列数

②公式=MATCH($A10,OFFSET($A$1:$A$6,,MATCH(B$9,$A$1:$L$1,0)-2,,),0)

利用index+match+offset函数实现查找的方法和实例-趣帮office教程网

(2.1)公式OFFSET($A$1:$A$6,,MATCH(B$9,$A$1:$L$1,0)-2,,)代表将区域A1:A6向右偏移MATCH(B$9,$A$1:$L$1,0)-2个单位,得到一个新的列,即是需要查找的月份左侧的一列。

(2.2)MATCH($A10,OFFSET($A$1:$A$6,,MATCH(B$9,$A$1:$L$1,0)-2,,),0),利用MATCH函数,在得到的新列中查找A10单元格代表的姓名所在的位置,以此可以确定,A10单元格代表的姓名在原数据区域的行数

③此时已经得到了要查找的数据的行数和列数了,再用INDEX函数查找即可:

=INDEX($A$1:$L$6,MATCH($A10,OFFSET($A$1:$A$6,,MATCH(B$9,$A$1:$L$1,0)-2,,),0),MATCH(B$9,$A$1:$L$1,0))

④最后再套一个IFERROR函数屏蔽错误值,填充空白单元格,完结收工

利用index+match+offset函数实现查找的方法和实例-趣帮office教程网

总结:INDEX MATCH不愧是万能查找公式,很强大。