Microsoft Lab
全部软件
Excel单元格引用(Cell References)约 4 分钟

ADDRESS Function ADDRESS 函数

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等)。


函数速查

函数语法用途例子
ADDRESS=ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])根据行列号生成文字形式的地址=ADDRESS(8,5) → $E$8
INDIRECT=INDIRECT(ref_text)把文字形式的地址转成真正可用的引用=INDIRECT(ADDRESS(8,5))
INDEX=INDEX(array, row_num, [column_num])从二维范围里按行列位置取值=INDEX(E4:F7,3,2)

基础用法

  • =ADDRESS(8,5) 返回 $E$8(第 8 行、第 5 列,默认是绝对引用格式)
  • =ADDRESS(3,7) 返回 $G$3(第 3 行、第 7 列)

ADDRESS 返回的是文字,不是真正的引用

ADDRESS 函数算出来的结果只是一段「看起来像地址的文字」,Excel 不会自动把它当成引用来读取数值。要真正拿这个地址去取值,需要搭配 INDIRECT 函数把文字转换成实际引用: =INDIRECT(ADDRESS(8,5))


生成相对引用

默认 ADDRESS 返回的是绝对引用格式(带 $)。如果想要相对引用格式,把第三个参数设成 4: =ADDRESS(8,5,4) 返回 E8(不带 $)


加上工作表名称

用第五个参数指定工作表名,让返回的地址带上工作表前缀: =ADDRESS(3,7,,,"Sheet2") 返回 Sheet2!$G$3


应用:查找最大值所在的位置

先用 MAX 或 MATCH 类函数找出最大值所在的行/列号,再用 ADDRESS 把这两个数字转成看得懂的单元格地址文字,方便直接标注「最大值在哪一格」。


搭配 INDEX 函数查值

INDEX 函数能从一个二维范围里,按「第几行、第几列」直接取出对应的值: =INDEX(E4:F7,3,2) 表示从范围 E4:F7 里取第 3 行、第 2 列的值,结果为 92。 ADDRESS/INDIRECT 和 INDEX 常常搭配使用,一个负责算出位置,一个负责按位置取值。


学完你会

常见错误

  • 忘记 ADDRESS 返回的是「文字」,直接把结果当引用用,公式没有效果
  • 第三个参数(引用类型)没设对,需要相对引用时忘记设成 4,结果拖动公式后行为跟预期不一样
  • INDEX 的行列号跟实际数据位置搞混,容易把「第几行」和「第几列」的参数顺序写反

Sources

Blog / Website:

  1. Address
只记在你的浏览器里,换设备不会同步。