求助:如何获取指定列区域(E22:E52)中最后一个非0数值
获取Excel指定区域最后一个非0数值的解决方案
针对E22:E52这个货币格式(含正负值)的区域,推荐两个直接可用的公式:
方法1:使用LOOKUP函数
公式:
=LOOKUP(2,1/(E22:E52<>0),E22:E52)
原理:E22:E52<>0生成逻辑数组,非0单元格返回TRUE,0单元格返回FALSE;1/(...)将TRUE转为1,FALSE转为错误值。LOOKUP自动忽略错误值,查找小于2的最大数值(即1),最终定位到区域内最后一个非0数值的位置并返回对应值。
方法2:使用INDEX+MATCH组合
公式:
=INDEX(E22:E52,MATCH(2,1/(E22:E52<>0),1))
原理:MATCH函数第三个参数设为1(近似匹配),会找到最后一个符合1/(E22:E52<>0)=1的位置,再通过INDEX返回该位置的数值。
注意事项
货币格式仅影响单元格显示,不会干扰函数读取实际数值。如果公式返回错误,检查区域内是否存在文本型的0或空值,可通过VALUE()函数转换为数值后再计算。
内容的提问来源于stack exchange,提问作者George Cireş
相关产品推荐
相关产品推荐

