MICROSOFT

EP10. “ADDRESS Function ADDRESS 函数”

首页 Microsoft 工具 Excel · Functions · Cell References · EP10
约 4 分钟· #EP10#Excel#Cell References
🔒 登录后可标记已读
  • ADDRESS 函数根据「行号 + 列号」两个数字,生成一个文字形式的单元格地址
  • 讲基础用法、怎么搭配 INDIRECT 把文字地址变成真正可用的引用
  • 也讲跟 INDEX 函数配合查找最大值位置
  • 前置知识是 EP09 的绝对引用概念
  • 学完能处理需要「动态算出某个位置」的进阶查找场景

重点内容


适用版本

桌面版通用(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 根据行列号生成文字形式的单元格地址
  • ✅ 能用 INDIRECT 把 ADDRESS 算出的文字地址转成真正可用的引用
  • ✅ 能搭配 INDEX 函数,按行列位置从范围里取出对应的值

常见错误

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

Sources

Blog / Website:

  1. Address