入库表中设置了“打印区域”为A1:F10单元格,但是新增的记录未被包含,如图 61‑1所示的第11行的公司库MP4,现在需要解决的问题是让打印区域随数据输入自动扩展。本教程将打印区域引用位置修改为动态引用公式,以实现自动随数据输入变动引用范围。公式中使用MATCH函数定位A列最后一个数值所在单元格的行号,再使用INDIRECT函数实现对A1单元格至F列最后一行的引用。

图61‑1 设置打印区域未自动包含新增记录

解决方案

修改打印区域内置名称,实现动态引用。

操作方法

使用名称设置动态打印区域

步骤1 按<Ctrl+F3>组合键或者单击“公式”选项卡中的“名称管理器”;

步骤2 如图 61‑2所示,将名称Print_Area的“引用位置”修改为以下公式:

=INDIRECT(“A1:F”&MATCH(9E+307,入库!$A:$A))

图61‑2 Excel自动建立打印区域内置名称

原理分析

本例利用Excel设置打印区域时会自动生成内置名称“Print_Area”的特性,将其引用位置修改为动态引用公式,实现自动随数据输入变动引用范围。

公式中,因为入库时间是数值且必须输入,所以使用MATCH(9E+307,入库!$A:$A)定位A列最后一个数值所在单元格的行号,再使用INDIRECT函数实现对A1单元格至F列最后一行的引用。

注意:Print_Area是一个内置的工作表级名称,修改为动态引用后,不得在“页面布局”选项卡中使用“设置打印区域”、“取消打印区域”或“添加到打印区域”命令,否则将破坏动态引用公式且不能通过“撤消”命令恢复。

以上便是为大家介绍有关让打印区域随数据输入自动扩展的实现全过程及原理分析,公式中使用到了MATCH函数及INDIRECT函数,对其不是很了解的朋友可以参阅以下:

MATCH 

全部显示全部隐藏返回在指定方式下与指定数值匹配的数组 中元素的相应位置。
如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用 MATCH 函数而不是 LOOKUP 函数。

语法

MATCH(lookup_value,lookup_array,match_type)

Lookup_value   为需要在数据表中查找的数值。
Lookup_array    可能包含所要查找的数值的连续单元格区域。
Match_type        为数字 -1、0 或 1。

INDIRECT

返回并显示指定引用的内容。使用INDIRECT函数可引用其他工作簿的名称、工作表名称和单元格引用。