如图1,有多列数据,怎样提取最后一列非空单元格内容,比如,第2行最后一列非空单元格是B2,就把B2的内容提取出来,第5行最后一列非空单元格是A5,当行数很多的时候,一个个手工提取就非常慢,怎样快速提取呢?用函数Lookup轻松实现。 图1 在D列输入公式=LOOKUP(2,1/(A2:C2<>""),A2:C2) 我们先来看看lookup的基本语法,第1个参数lookup_value是要查找的值,第2个参数lookup_vector是在该数值值中查找,第3个参数result_vector返回该数组值中相对位置的值.如图2。如果是找不到要查找的,会从后向前查找到比它小的值,如果找不到,则返回错误值。 注意: 1、查找的区域必须按升序排列。 ...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE 2、查找的区域可以有错误值,但在查找时会被忽略 图2 我们再来看这个公式分解: 1、以第2行公式为例,公式A2:C2<>"" ,返回的是数组true,true,false, 选中公式标红的部分按F9可以看到; 2、1/(true,true,false),得到数组(1,1,#DIV/0!) 选中公式中标红的部分按F9可以看到; 3、在数组(1,1,#DIV/0!)中查找比第一个参数2,查找不到2,返回比2小的值,错误值可以忽略,所以返回的是最后的1对应的B2单元格内容。 关于Lookup函数有些通用的公式返回对应的内容,汇总如下: A1:A20存放着数字、文本、错误值等,下列公式将返回: 注1:为了确保公式通用,第1个参数始终比第2个大,所以上面的公式第一个参数都是2。 注2:9E+307表示Excel中最大的数值,我们在Excel中按F1,输入“规范与限制”,可以看到Excel 最大正数如图3: 图3 今天的分享到此结束,如果想看更多历史文章,请从菜单所有文章查看。 |
|
来自: sunnynie2021 > 《待分类》