EP08. “Locate Maximum Value 定位最大值位置”
🔒 登录后可标记已读- 讲怎么不只找出一列数据里的最大值,还要知道这个最大值具体在哪个单元格
- 用 MAX、MATCH、ADDRESS 三个函数组合
- 前置知识需要知道 MATCH 的基本用法(见 EP03)
- 学完能处理「不只要数值,还要知道数值来源位置」的场景
重点内容
函数速查
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| MAX | =MAX(range) | 返回范围内最大值 | =MAX(A:A) → 12 |
| MATCH | =MATCH(value,range,0) | 返回最大值所在的行号位置 | =MATCH(12,A:A,0) → 7 |
| ADDRESS | =ADDRESS(row_num,column_num) | 根据行列号生成单元格地址文本 | =ADDRESS(7,1) → "$A$7" |
操作步骤
- 用 MAX 找最大值:
=MAX(A:A),在 A 列里找出最大的数值。 - 用 MATCH 找最大值所在的行号:
=MATCH(12,A:A,0)
把 MAX 找到的最大值(比如 12)拿去 MATCH 在同一列里定位,第三参数设 0 做精确匹配,结果返回 7(表示 12 在第 7 行)。
- 用 ADDRESS 把行列号转成单元格地址文本:
=ADDRESS(7,1)
第一参数是行号(7),第二参数是列号(1 代表 A 列),返回结果是文本 "$A$7",也就是这个最大值实际所在的单元格地址。
学完你会
- ✅ 能用 MAX 找出范围内的最大值
- ✅ 能用 MATCH 找出这个最大值所在的行号
- ✅ 能用 ADDRESS 把行列号转成看得懂的单元格地址文本
常见错误
- MATCH 的第三参数忘记设 0,导致在未排序的数据里用近似匹配,定位到错误的行
- ADDRESS 函数返回的是"文本"形式的地址(比如 "$A$7"),不能直接当成单元格引用使用,如果要用这个地址去取值,还要再包一层 INDIRECT 函数
- 数据列里有重复的最大值时,MATCH 只会返回第一个出现的位置,不会提示还有其他并列最大值
Sources
Blog / Website: