重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
问题演示:固定命名区域不会自动更新
- 选中范围 A1:A4,命名为 "Prices"
- 用
=SUM(Prices)计算总和 - 在 A5 新增一个数值
- 结果:SUM 的计算结果没有变化,因为 "Prices" 这个命名区域仍然固定指向 A1:A4,没把新加的 A5 算进去
把命名区域改成动态区域
- 到 (名称管理器)
- 选中要修改的命名区域(例如 "Prices"),点击 Edit(编辑)
- 在「引用位置」框里,把原本固定的范围改成下面这条 OFFSET 公式
- 确认后,再往 A5 及以下新增数值,SUM 结果就会自动正确更新
Edit Name 对话框,Refers to 栏填入 OFFSET 公式的界面
核心公式
=OFFSET($A$1,0,0,COUNTA($A:$A),1)公式参数说明
| 参数 | 值 | 作用 |
|---|---|---|
| 参考位置 | $A$1 | 区域的起始锚点 |
| 行偏移量 | 0 | 不做行偏移 |
| 列偏移量 | 0 | 不做列偏移 |
| 高度 | COUNTA($A:$A) | 用 COUNTA 计算 A 列非空单元格数量,决定区域高度 |
| 宽度 | 1 | 区域只有 1 列宽 |
函数速查
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| OFFSET | =OFFSET(reference, rows, cols, [height], [width]) | 从参考位置偏移出一个新的范围引用 | =OFFSET($A$1,0,0,COUNTA($A:$A),1) |
| COUNTA | =COUNTA(range) | 计算范围内非空单元格数量(含文字) | =COUNTA($A:$A) |
学完你会
常见错误
- 新增数据后发现 SUM 结果没变,却没意识到问题出在命名区域是「固定」而非「动态」的
- OFFSET 公式里的高度参数忘记用
$A:$A整列引用,导致 COUNTA 算出来的数量不准确 - A 列如果混有非数据的标题行,COUNTA 会把标题也算进「非空单元格」,导致动态区域多算一行
Sources
Blog / Website: