利用OFFSET函数与COUNTA函数的组合,可以创建一个动态名称。动态名称是名称的高级用法,可以实现对一个未知大小的区域的引用,此用法在Excel的诸多功能中都可以发挥强大的威力。
在实际工作中,经常会使用如图9-14所示的表格来连续记录数据,表格的行数会随着记录的追加而不断增多。
如果需要创建一个名称来引用C列中的数据,但是又不希望这个名称引用到空白单元格,那么就不得不在每次追加记录以后,都改变名称的引用位置,以适应表格行数的增加。在这种情况下,可以创建动态名称,根据用户追加或删除数据的结果来自动调整引用位置,以达到始终只引用非空白单元格的效果。下面简单介绍创建动态名称的操作技巧。
STEP01:在工作表中任意选择一个单元格,这里选择B2单元格。切换到“公式”选项卡,在“定义的名称”组中单击“定义名称”下三角按钮,在展开的下拉列表中选择“定义名称”选项,打开“新建名称”对话框,如图9-15所示。
图9-14 不断追加记录的表格
图9-15 选择“定义名称”选项
STEP02:打开“新建名称”对话框后,在“名称”文本框中输入“Data”,在“引用位置”文本框中输入公式“=OFFSET(Sheet1!$C$4,,,COUNTA(Sheet1!$C:$C)-1)”,然后单击“确定”按钮完成动态名称的创建,如图9-16所示。
图9-16 创建动态名称
以上公式首先计算C列中除了列标题以外的非空白单元格的数量,然后以C4单元格(首个数据单元格)为基准开始定位,定位的行数等于刚才计算出来的数量。
STEP03:下面可以在C列以外的单元格中通过计算来验证此名称的引用是否正确。比如在B1单元格中输入公式“=SUM(Data)”,按“Enter”键即可得出计算结果,如图9-17所示。
STEP04:继续追加记录,这里在A14:C14单元格区域中增加一行记录,名称“Data”的引用区域就会自动发生改变,B1单元格中的计算结果能够体现这一点,如图9-18所示。
图9-17 使用动态名称进行计算
图9-18 动态适应表格的变化