You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过单元格行号与列号实现动态MAX函数?

解决动态范围的MAX计算问题

你用ADDRESS的方法行不通,因为ADDRESS函数返回的是文本格式的单元格地址(比如"A5"、"C10"),而MAX需要的是真正的单元格引用,不是文本,所以没法直接计算。给你两种可行的解决办法:

方法一:用INDIRECT转换文本引用

把两个ADDRESS生成的地址用&":"&拼接成完整的范围文本,再用INDIRECT函数把文本转换成可识别的单元格引用,公式如下:

=MAX(INDIRECT(ADDRESS(5,1)&":"&ADDRESS(10,3)))

这个公式会先生成"A5:C10"的文本地址,再通过INDIRECT转换成实际的单元格范围,最后用MAX计算最大值。

方法二:用INDEX生成动态引用(推荐)

INDEX函数可以直接根据行号和列号返回对应的单元格引用,不需要转换文本,而且它不是易失性函数(不会每次工作表变动都重新计算),效率更高。公式如下:

=MAX(INDEX($1:$1048576,5,1):INDEX($1:$1048576,10,3))

其中$1:$1048576代表整个工作表的行范围,你也可以换成具体的列范围(比如A:C),写成:

=MAX(INDEX(A:A,5):INDEX(C:C,10))

进阶用法:用单元格存储行号列号

如果想让范围更灵活,比如把起始行、起始列、结束行、结束列分别存在E1、E2、F1、F2单元格里,直接改这些单元格的数值就能调整范围,公式可以写成:

=MAX(INDEX($1:$1048576,E1,E2):INDEX($1:$1048576,F1,F2))

内容的提问来源于stack exchange,提问作者Markowitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 19:36:00