公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!
点击上方蓝字 --> 点击“...”--> 选择“设为星标”
上一篇查找最后一个非空单元格的推文,各种场景和公式基本已经很全了,再有更多公式变化,最多也就是各种参数和嵌套公式互相组合的演变而已。
不过网友还是提出了灵魂拷问:只能查找最后一个吗?指定查找最后第 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 个单元格。
转发、点赞、在看也是爱!