技巧教程:创建动态名称
利用OFFSET函数与COUNTA函数的组合,可以创建一个动态的名称。动态名称是名称的高级用法,能够实现对一个未知大小的区域的引用,此用法在Excel的诸多功能中都能发挥强大的威力。
在实际工作中,经常会使用如图82‑1所示的来连续记录,表格的行数会随着记录追加而不断增多。
图82‑1 不断追加记录的表格
如果需要创建一个名称来引用C列中的数据,但又不希望这个名称引用到空白单元格,那么就不得不在每次追加记录后都改变名称的引用位置,以适应表格行数的增加。在这种情况下,可以创建动态名称,根据用户追加或删除数据的结果来自动调整引用位置,以达到始终只引用非空白单元格的效果。
创建动态名称的方法如下。
单击菜单“插入”→“名称”→“定义”(或者按<Ctrl+F3>组合键)。
在“定义名称”对话框中,在“在当前工作簿中的名称”文本框中输入“Data”,在“引用位置”文本框中输入公式:
=OFFSET(Sheet1!$C$4,,,COUNTA(Sheet1!$C:$C) ‑1)
如图82‑2所示。
图82‑2 创建动态名称
单击“确定”按钮。
以上公式先计算B列中除了列标题以外的非空白单元格的数量,然后以C4单元格(首个数据单元格)为基准开始定位,定位的行数等于刚才计算出来的数量。
下面可以在C列以外的单元格中通过计算来验证此名称的引用是否正确,比如在B1中输入公式:=SUM(Data),如图82‑3所示。
图82‑3 使用动态名称进行计算
如果继续追回记录,名称“Data”的引用位置会自动发生改变,B2中的计算结果能够体现这一点,如图82‑4所示。
图82‑4 动态名称的引用位置自动适应表格的变化
注意:
以上公式只能正确计算不间断的连续数据,如果表格中的数据有空白单元格,那么动态名称的引用位置将发生错误。