Microsoft Lab
全部软件
Excel公式与函数(Formulas and Functions)约 4 分钟

Dynamic Named Range in Excel 动态命名区域

重点内容


适用版本

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


问题演示:固定命名区域不会自动更新

  1. 选中范围 A1:A4,命名为 "Prices"
  2. 用 =SUM(Prices) 计算总和
  3. 在 A5 新增一个数值
  4. 结果:SUM 的计算结果没有变化,因为 "Prices" 这个命名区域仍然固定指向 A1:A4,没把新加的 A5 算进去

把命名区域改成动态区域

  1. 到 Formulas›Name Manager(名称管理器)
  2. 选中要修改的命名区域(例如 "Prices"),点击 Edit(编辑)
  3. 在「引用位置」框里,把原本固定的范围改成下面这条 OFFSET 公式
  4. 确认后,再往 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:

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