无需使用VBA,如何获取表格k列最后非空单元格的值用于计算?
获取K列最后一个已填充单元格的值(无VBA方案)
完全可以用公式实现,不用VBA,根据你的Excel版本给你两种实用方案:
Excel 365/2021及以上版本(支持动态数组)
推荐用XLOOKUP公式,简单直观:=XLOOKUP(TRUE,K:K<>"",K:K,"",0,-1)原理:从K列末尾往前查找第一个非空单元格(
-1代表反向查找),返回对应的值。也可以用TAKE+FILTER的组合:=TAKE(FILTER(K:K,K:K<>""),-1)先过滤出K列所有非空内容,再提取最后一行的值。
旧版Excel(2019及更早)
用LOOKUP公式最可靠,不管K列中间有没有空白单元格,都能精准定位最后一个非空值:=LOOKUP(2,1/(K:K<>""),K:K)原理:
K:K<>""会把非空单元格转为TRUE,空单元格转为FALSE;1/(K:K<>"")会把TRUE转成1,FALSE转成错误值;LOOKUP会自动忽略错误值,找到最后一个等于1的位置,返回对应K列的值。
如果你的K列从第一行开始就没有空白(表头+数据连续),也可以用更简单的INDEX+COUNTA组合:=INDEX(K:K,COUNTA(K:K))COUNTA(K:K)统计K列非空单元格数量,INDEX返回对应位置的值,但如果K列中间有空白,这个公式会出错,所以优先用LOOKUP方案。
内容的提问来源于stack exchange,提问作者Giovanni
相关产品推荐
相关产品推荐

