微笔记:Lookup函数常用的3个技巧

原文信息
标题:Lookup函数使用集锦

作者: Excel技巧网

链接:http://t.cn/RxIGr1D

原文大意

文中主要介绍了7种应用场景:

  1. 快速返回多列查询内容。

    使用Column()来计算Vlookup返回结果所在的列,代替手动的输入1、2、3类似的机械工作

  2. Vlookup实现多条件查询

    使用if(1,0)和数组公式,构建内存两列数据区域,然后使用Vlookup查找,返回匹配的多调校结果

  3. 查询不连续字段

    作用和column()类似,vlookup第3参数中,返回结果所在列,由Match()函数动态计算得出,代替手动查找对应的列

  4. Vlookup从右向左查询

    使用if({1,0})返回动态的两列数据区域,和多条件查询的原理一样。

  5. 去除VLOOKUP查询结果返回的错误值

    使用isNA()函数,首先判断vlookup返回结果是否为N/A,然后使用if()函数来做一个判断,如果不是N/A,则返回VLOOKUP查询的结果。

  6. VLOOKUP搞定多条件判断(分段查询)

    即使用模糊查询,建立分段数据表,区域段内的查询,返回对应的结果。

  7. 提取非空单元格

    使用0/($B$2:B2<>"")构建一个包含0和#DIV!0的数组,然后使用lookup函数,查找1返回最后一个零的位置对应的数据,即能找到的最后一个不为空的单元格

拆为己用

根据原文中的三个公式,可以简单的总结出以下几种,编写公式的常用技巧:

1-IF10法

=vlookup(A9&B9&C9,IF({1,0},A3:A5:B3:B5&C3:C5,D3:D5),2,)

IF01法是指:在数组公式中,使用if语句构建一个两列的数据区域。其中参数1是数组{1,0},参数2是第一列数据,参数3是第2列数据。这样返回的结果,恰好是这两列数据组成的数据区域。

这两列数据区域可以用来:

  1. 结合&符号,实现多个查询条件合并,节省了一个辅助列。
  2. 数据返回列顺序互换,实现VLOOKUP反向查找,节省了辅助列。

2-列标填充法

=VLOOKUP(A1,A:E,COLUMN())

数字填充法是指:在VLOOKUP或LOOKUP中,都包含了一个参数,表示数据区域查询后,返回第几列的数据,通常这个参数是固定的数字。当返回数据较多是,固定的数字,不方便后续的修改和更新。

可以使用函数来代替这个数字,实现返回列自动更新。常用的函数有:

  1. COLUMN()或ROW(),对应VLOOKUP使用COLUMN(),HLOOKUP使用ROW(),根据单元格的移动,自定更新返回列参数。
  2. MATCH(),根据返回数据列的标题内容,自动计算出返回列参数。

3-LOOKUP找边缘

=LOOKUP(1,0/(B$2:B2<>""),B$2:B2)

LOOKUP找边缘是指,找出数组中最后一个非N/A或#DIV!0的数据。大致原理是这样的:

  1. 使用0/($B$2:B2<>"")类似的公式,构建一个只包含0和#DIV!0的数组(暂且叫做数组A)
  2. 使用LOOKUP(1,数组A,返回列)的公式,查找出数组A中的最后一个0,返回对应的数据。
  3. 向下填充公式,找出所有不为空的数据(数据会重复填充)

这个方法的关键点,在步骤1中,0除以的那个数组,要值包含true和false,然后在能形成0和#DIV!0的数组。


掌握了这几个技巧后,后续在VLOOKUP和SUMPRODUCT等复杂的函数中,都有可能会用得到。

你可能感兴趣的:(微笔记:Lookup函数常用的3个技巧)