Excel – lookup的第三个参数用过吗?它竟能做偏移

文摘   科技   2025-01-07 19:00   上海  

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!


点击上方蓝字 --> 点击“...”--> 选择“设为星标


上一篇查找最后一个非空单元格的推文,各种场景和公式基本已经很全了,再有更多公式变化,最多也就是各种参数和嵌套公式互相组合的演变而已。


不过网友还是提出了灵魂拷问:只能查找最后一个吗?指定查找最后第 n 个非空单元格不行吗?


行!哪能不行呢?而且,还不超纲,不需要什么高难度函数,用 lookup 就能办到,不服来辩。


案例:


如下图 1 所示:分别查找 B 列倒数第 1、2、3 个非空单元格。


效果如下图 2 所示。


解决方案:


1. 在 F2 单元格中输入以下公式:

=LOOKUP(9E+307,B1:B9)


公式释义:

  • 9E+307 表示 Excel 能处理的最大数值;

  • LOOKUP(9E+307,B1:B9):在 B1:B9 区域中查找这个最大数值,找不到则返回区域内的最后一个单元格的值


上述示例是找最后一个非空单元格,对很多读者来说已经不算是难事。


下面是今天要讲解的重点,将第三个参数作为偏移量,查找倒数第 n 个非空单元格。


2. 在 G2 单元格中输入以下公式:

=LOOKUP(9E+307,B2:B9,B1:B8)


在解释本公式前,需要先给大家讲解一下 lookup 各个参数的用途。


LOOKUP 函数详解:


作用:

  • 查询一行或一列并查找另一行或列中的相同位置的值。


语法:

  • LOOKUP(lookup_value, lookup_vector, [result_vector])


参数:

  • lookup_value:必需

    • LOOKUP 在第一个 vector 中搜索的值;

    • Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。

  • lookup_vector:必需

    • 只包含一行或一列的区域;

    • lookup_vector 中的值可以是文本、数字或逻辑值。

  • [result_vector]:可选

    • 只包含一行或一列的区域;

    • result_vector 参数必须与 lookup_vector 参数的大小相同。


说明:

  • 如果 LOOKUP 函数找不到 lookup_value,则该函数会与 lookup_vector 中小于或等于 lookup_value 的最大值进行匹配。

  • 如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回 #N/A 错误值。


公式释义:

  • B2:B9:查找区域

  • B1:B8:结果区域

  • LOOKUP(9E+307,B2:B9,B1:B8):

    • 在 B2:B9 区域中查找最大数值,找不到则定位到区域内的最后一个单元格;

    • 返回区域 B1:B8 中同等位置,即最后一个单元格的值;

    • 本例中,查找区域和结果区域错开,相当于进行了偏移,从而实现了查找 B 列倒数第二个非空单元格的目的


3. 在 H2 单元格中输入以下公式:

=LOOKUP(9E+307,B3:B9,B1:B7)


公式释义:

  • 基本原理与前一个公式相同,因为要查找倒数第 3 个非空单元格,所以第三个区域的设置要比第二个区域向上偏移 2 个单元格。


转发、点赞、在看也是爱!

Excel学习世界
你遇到的所有 Excel 坑,我都帮你趟过了。
 最新文章