无需使用VBA,返回列中最后一个含数值单元格的地址
解决方案
假设你的目标数据列是A列,可使用以下公式获取最后一个包含有效数值(排除公式返回的空字符串"")的单元格地址:
=ADDRESS(MAX(IF(A:A<>"",ROW(A:A),0)),COLUMN(A:A))
公式说明
IF(A:A<>"",ROW(A:A),0):遍历A列所有单元格,若单元格内容不是空字符串,返回对应的行号;否则返回0MAX(...):提取上述结果中的最大行号,即最后一个非空字符串所在的行ADDRESS(行号,列号):将行号和列号转换为标准的单元格地址格式(比如$A$10)
注意事项
- 如果你的数据范围是固定区间(比如A1:A100),建议将公式中的
A:A替换为具体区间,能提升计算效率:=ADDRESS(MAX(IF(A1:A100<>"",ROW(A1:A100),0)),COLUMN(A1:A100)) - 若使用的是Excel 2019及更早版本,输入公式后需按
Ctrl+Shift+Enter触发数组计算;Excel 365/2021及以后版本直接回车即可生效
内容的提问来源于stack exchange,提问作者user26707498
相关产品推荐
相关产品推荐

