3个Excel公式都看不懂!”( 二 )


3个Excel公式都看不懂!”


通过上面的例子我看到如果IF判断0则返回错误 , 判断1则返回正确 。现在我们可以将公式拆分为以下两种情况:IF(0, H2:H19&I2:I19,J2:J19) , 0表示FALSE , 所以只能返回J列数据 。IF(1, H2:H19&I2:I19,J2:J19) , 1表示TRUE , 所以只能返回H列和I列合并结果 。那么IF({0,1},H2:H19&I2:I19,J2:J19)怎么理解呢?既然是数组公式 , 那么可以将它理解为同时返回两组数据 , 0对应的是J2:J19 , 1对应的H2:H19&I2:I19 , 构建了两列数据 。
3个Excel公式都看不懂!”


最后我们使用vlookup函数完成嵌套 , =VLOOKUP(A3&B3,IF({1,0},H3:H20&I3:I20,J3:J20),2,0) , 这里我们就可以理解为用A3&B3在H3:H20&I3:I20中查找对应J3:J20中的数据 。因为公式中IF({1,0},H3:H20&I3:I20,J3:J20)返回的顺序是先返回H3:H20&I3:I20再返回J3:J20 。
3个Excel公式都看不懂!”


注意:很多人不明白为什么嵌套的时候IF第一参数又变成了{1,0} , 因为这里我们需要返回的是H和I合并结果作为查找区域 。PS:所有数组公式完成输入后要使用数组三键ctrl+shift+ener来返回运算结果!这样我们不用辅助列也能通过vlookup函数完成多条件查询 。
3、OFFSET+MATCH函数
下面举例跟大家分享一下通过offset函数完成多条件查询 。
3个Excel公式都看不懂!”


【3个Excel公式都看不懂!”】函数公式:{=OFFSET($J$2,MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0),)}公式解析:完成多条件查询第一步先要确定A表中姓名&地区合并后对应在B表中姓名&地区的顺序 。这里我们通过MATCH来完成 , 我们用个简单的例子说明 。
3个Excel公式都看不懂!”


=MATCH(A2,E:E,0)表示使用A2单元格在E列中查找 , 0表示精确查找、1小于、-1大于 , 通常情况下都是精确查找 。MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0)表示将A3与B3合并作为查找内容 , H列和I列合并作为查找区域 , 0表示精确查找 。
3个Excel公式都看不懂!”


确定顺序后我们通过OFFSET函数以顺序数据作为偏移行数返回对应数值 。OFFSET函数的功能是以指定的单元格引用为参照系 , 通过给定偏移量得到新的引用 。返回的引用可以为一个单元格或区域 。并可以指定返回的行数或列数 。Reference 作为偏移量参照系的引用区域 。Reference 必须为对单元格或相连单元格区域的引用;否则 , 函数 OFFSET 返回错误值#VALUE! 。
3个Excel公式都看不懂!”


=OFFSET(J2,1,0,1,1)表示以J2单元格作为参照物向下偏移1行 , 向右偏移0列 , 返回1行1列数据区域 。=OFFSET($J$2,MATCH(A3&B3,$H$3:$H$19&$I$3:$I$19,0),)表示以$J$2为参照单元格 , 通过MATCH查找出来顺序作为向下偏移的行数 , 偏移列数量省略表示不偏移 , 第三个、第四个参数省略表示只返回一个单元格区域 。下面我们来总结一下三种方式的利弊 。LOOKUP函数使用过程中运算较慢;VLOOKUP函数使用IF({0,1})数组公式 , 理解上存在一定难度;OFFSET+MATCH函数公式简单 , 可以作为首选方案 。

猜你喜欢