有时收到网友一些魔性提问,我都诧异他们在什么情形下会用到这些需求。


但是既然人有问,咱就必答。


比如,是否能将打印区域设置为自动更新?


案例:


以下图 1 的数据表为基准设置打印区域,要求如下:

  • 将下图 1 的工作表设置为打印区域;
  • 如果第一行或 A 列有新增的文本单元格,无论是否有跳空,那么打印区域会自动拓展到最后一个文本单元格所在的行和列;
  • 如果第一行或 A 列最后的单元格是数值,则该行或列不纳入打印范围


效果如下图 2 至 5 所示。


解决方案:


开始今天的教程前,我们先来看一下按普通方法设置打印区域以后,如果增加内容是否会自动重设打印区域?


1. 选中 A1:D9 区域 --> 选择菜单栏的“页面布局”-->“打印区域”-->“设置打印区域”


2. 按 Ctrl+P,在打印预览区域就能看到刚才所设置的打印区域


3. 退出打印预览模式,在 F1 和 A11 单元格分别输入新的文本 --> 按 Ctrl+P


然而打印区域并未自动新增。


接下来开始今天的教程。


1. 选中数据表的任意单元格 --> 选中菜单栏的“页面布局”-->“打印区域”-->“设置打印区域”


2. 在弹出的对话框中点击“确定”


此时可以看到左上角的名称框中出现了一个名称 Print_Area。


3. 按 Ctrl+F3 --> 在弹出的对话框中选中名称 Print_Area --> 点击“编辑”按钮


4. 在“引用位置”输入以下公式 --> 点击“确定”:

=OFFSET(Sheet1!$A$1,0,0,MATCH("座",Sheet1!A:A),MATCH("座",Sheet1!1:1))


公式释义:

  • MATCH("座",Sheet1!A:A):
    • 在 A 列中查找“座”字,并返回其行号;
    • “座”是一个编码很大的汉字,如果函数查找完整列都没有精确匹配到,也没有找到比它编码更大的字,就会返回最后一个文本单元格的行号
  • MATCH("座",Sheet1!1:1):同理,可以在第 1 行中查找,并返回最后一个文本单元格的列号
  • OFFSET(Sheet1!$A$1,0,0,...,...):以 A1 为起点,行、列都不偏移,引用的行高和列宽分别为上述两个 match 函数返回的值


5. 点击“关闭”


6. 现在,在 E1 单元格中输入“物理”--> 按 Ctrl+P


打印区域就自动纳入了刚才增加的 E 列。


7. 退出打印预览模式,在 A11 单元格中输入“龙淑芬”--> 再次按 Ctrl+P


刚才新增的 11 行也自动进入了打印区域。


8. 我们再试一下,在工作表中随意输入一些数字后 --> 按 Ctrl+P


因为新第一行和第一列新增的单元格并非文本,所以所在行和列不会被打印。


9. 但是如果把 G1 和 A13 单元格中的数值改成文本 --> 再按 Ctrl+P


所有内容都出现在打印区域中了。


很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,文中专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。