功能案例详解:excel一个工作薄中两个不同表格,表格名称为“期初盘点”和“库存报表”,库存报表的B5至B300读取“期初盘点”的A5至A300的数据,库存报表作为报表自动生成禁止修改。通过修改“期初盘点”而达到自动更新,并且在A5-A300之间进行插入和删除操作,B5-B300同样可以自动更新不出错。
要实现这个功能可通过如下步骤:
1、打开“期初盘点表”,点击“公式”选项卡,选择“名称管理器”。在名称管理器窗口中,点击“新建”。
在新建名称窗口中,输入名称(例如,期初盘点)。在“引用位置”字段中,输入以下公式以创建动态命名范围:
=OFFSET('期初盘点'!$A$5, 0, 0, COUNTA('期初盘点'!$A$5:$A$300), 1)
此公式创建了一个动态范围,基于“期初盘点”工作表中从A5开始到A300的非空单元格数量.
确定,关闭名称管理器。
2、打开“库存报表”工作表,在B5单元格中输入以下公式以引用动态命名范围,
=IF(ROW(A1)>COUNTA(期初盘点),"",INDEX(期初盘点,ROW(A1)))
此公式在“库存报表”工作表的B列中填充数据。ROW(A1)返回当前行的行号,COUNTA(期初盘点)计算动态范围中的非空单元格数。INDEX(期初盘点,ROW(A1))按行号引用动态范围中的数据。
将该公式拖动到B5:B300区域,填充所有单元格.
动态命名范围的优势
自动更新:当你在“期初盘点”工作表中插入或删除行时,动态命名范围会自动调整。
保持同步:在“库存报表”工作表中使用公式,可以确保数据始终与“期初盘点”工作表中的数据保持同步不会出错。如图:
如果在“库存报表”的B5-B300中使用常规的函数,比如:=IF(期初盘点!A5<>””,期初盘点!A5,””)虽然也可以实现在“期初盘点”A5-A300中输入数据而B5-B300显示数据,但是当进行插入或删除行的操作时,B5-B300不会自动更新。所以还是上述函数更为智能。