利用EXCEL进行二维数据的查找

标签:
excel数据查找函数offsetmatchifit |
分类: EXCEL学习 |
我们往往碰到这样的问题,在EXCEL中有着大量的数据,而我们需要对特定的数据进行查看。
如果数据是一维的话,我们可以很简单的通过筛选,VLOOKUP()函数和HLOOKUP()函数来实现,但是当数据是二维的时候,我们应该怎么查找呢?如图1所示,横向的为产品颜色,而纵向的为产品型号,我们需要查找特定型号特定颜色的数据。
http://s7/middle/469ac9a2g7631b5441526&690
这个时候我们就可以用OFFSET()函数和MATCH()函数进行组合来实现
如图2
http://s7/middle/469ac9a2g9df1206db8d6&690
我们在另外一个工作表中建立数据查找,在单元格C2中写查找函数,函数写法为:
=IF(OR($A2=0,B2=0),"",OFFSET(sheet1!$A$2,MATCH($A2,sheet1!$A$3:$A$18,0),MATCH($B2,sheet1!$B$2:$D$2,0),1,1))
下面对函数分步进行讲解:
MATCH函数的作用是返回符合特定值特定顺序的项在数组中的位置,
MATCH($A2,sheet1!$A$3:$A$18,0)部分的作用是在sheet1的A3到A18中查找与第二个工作表中A2单元格相同的单元格的位置。
同理再用一个MATCH函数查找与第二个工作表中B2单元格相同的单元格的位置。
通过查找到的两个位置值,利用OFFSET函数进行数据偏移,得到相对应的横向与纵向的交叉单元格的值,这个值即为要查找的目标值。
函数中if函数和or函数的作用是防止当A2和B2中数据为空时,C2中返回错误值。
这样,通过这两个函数的组合,我们在A2中输入产品型号,B2中输入产品颜色,C2中就能显示出其对应的产品价格。