新浪博客

Excel中Lookup函数查找最后一个非空单元格

2018-05-11 16:35阅读:
lookup函数,excel中查找功能很强的一个函数,用它能巧妙的查找出行或者列中最后一个非空单元格的数值并返回此数值。
Excel中Lookup函数查找最后一个非空单元格
Excel中Lookup函数查找最后一个非空单元格
如上图,是一个人员组织架构图,部门是每个人的所属组织,我们现在需要知道每个人的所在小组,比如美伢,是腾飞组;小葵,是超越组;阿呆,是无限队。以此类推,即每个人的所在小组组名是部门里最后一段。


在数据量比较大的情况下,我们要如何从这么一长串部门名称中提取出最后一个分组呢。这里我们运用分列功能+Lookup函数来实现。
Excel的分列功能

Excel中Lookup函数查找最后一个非空单元格
首先,这里分列就不多说了,很容易实现,我们这里的部门名称每个分组中间都有一个分隔符,这里我们可以通过excel里的分列功能将这些分组全部分隔开。选择部门这一列,点击数据菜单栏下的分列。
Excel中Lookup函数查找最后一个非空单元格



这里我们选择通过分隔符号来进行分列,然后点击下一步。

Excel中Lookup函数查找最后一个非空单元格



然后再分隔符号里勾选其他,在空格里输入反斜杠“\”,这个时候我们能够看到下面的数据预览区域,部门已经全部按照分隔符分成了好几列,然后点击下一步。

Excel中Lookup函数查找最后一个非空单元格



这里列数据格式我们就选默认的常规就可以了,然后点击完成。

Excel中Lookup函数查找最后一个非空单元格



点击完成后,我们可以发现部门已经按照分隔符分成了好几列。

Excel中Lookup函数查找最后一个非空单元格
ExcelLookup函数
Excel中Lookup函数查找最后一个非空单元格

这里分列的工作我们就完成了,现在我们就需要用到Lookup函数来提取每一行这些分组中的最后一个非空单元格了。


F2单元格输入公式:

=LOOKUP(1,0/(C2:E2<>''),C2:E2)
Excel中Lookup函数查找最后一个非空单元格



然后双击单元格右下角的填充柄,下方的小组名称也都全部出来了。

Excel中Lookup函数查找最后一个非空单元格

可以很明显的看到,这里的小组名称全部取的都是各自行所在的最后一个非空单元格文本。那么下面我们来解释下这个公式的含义。


首先说说Lookup函数,Lookup函数可以理解为,数与行或者列的比较,即用一个数与一行或者一列数据依次进行比较,发现匹配的数值后,将另一组数据中对应的数值提取出来。


公式为 =
LOOKUP(lookup_value,lookup_vector,result_vector)

lookup_value需要查找的数值
lookup_vector查询区域,只包含一行或一列的区域
result_vector只包含一行或一列的区域其大小必须与
lookup_vector
相同。

=LOOKUP(1,0/(C2:E2<>''),C2:E2)

C2:E2<>“”
判断C2E2的数据是否为空,如果不为空,返回TRUE,如果为空,则返回FALSE。形成由TRUEFALSE组成的数组。

0/(C2:E2<>''),用0除以判断结果形成的数组,0/TRUE00/FALSE#DIV/0!。形成由0#DIV/0!组成的数组。
LOOKUP
在数组中搜索与1匹配的值,找不到时,返回小于且最接近的数据。在0#DIV/0!组成的数组中,0最接近1,所以返回0对应的第2行数据(即符合条件对应的第2行的非空数据)


注:如果有多个符合条件数据,LOOKUP返回最后一个。

我的更多文章

下载客户端阅读体验更佳

APP专享