在每次成绩公布时都需要面对一个难题:为了方便汇总《学生成绩表》,每人成绩占据一行;而每个学生之《成绩通知单》为了美观却设计为多行多列。如何方便而快速地进行格式转换?WPS表格的函数可以轻松地为您解决疑难。
首先,让我们看看《成绩表》和《成绩通知单》的格式。见图1和图2。
图1成绩表
图2成绩通知单
解决思路:
1.《成绩表》和《通知单》分建立在两个工作表中。
2.《通知单》可以通过函数调用《成绩表》中每个学生之资料。
3.建立一个单元格下拉菜单供选择所有学生姓名,当选项改变时,通知单跟随改变。而且在现有资料上增加学生数量后不受影响,从而使通知单设计达到通用之功能。
明确了思路,现在以实例具体讲解实现方法。
步骤1.定义名称
选择《成绩表》A1,点击【插入】【名称】【定义】,然后按图3方式输入信息:当前工作簿的名称处输入“姓名”(不含引号),在引用位置处输入“=OFFSET($A$1,1,0,COUNTA(A:A)-1,)”。公式含义:通过COUNTA(A:A)-1返回A列学生数目,减1是因A列中非空单元格数量包括首行“姓名”二字;然后利用OFFSET函数提取A列所有学生姓名。
图3定义名称
步骤2.设置数据有效性
进入《通知单》单元格A4,点击【数据】【有效性】【设置】,在有效性条件之允许处选择条件为序列,来源处输入“=姓名”,同时确保右边“提供下拉箭头”前已打勾(见图4),确定后点击单元格I4试试效果(见图5)
图4设置数据有效性
图5效据有效性建立之单元格下拉菜单
步骤3.建立通知单基本格式
按以下图六建立一个空白格式,以待调用成绩表之数据。
图6通知单格式
步骤4.设计公式调用数据
A.选中单元格C2,输入以下公式:
=VLOOKUP(I4,成绩表!A2:D1000,4,0)&" "&I4&" 同学成绩通知单"
B.选中单元格D4,输入公式:=I4
C.选中单元格F4,输入以下公式:
=VLOOKUP(I4,成绩表!A2:C1000,3,0)
D.选中单元格H4,输入以下公式:
=VLOOKUP(I4,成绩表!A2:B1000,2,0)
E.选中单元格F5,输入以下公式:
=VLOOKUP(I$4,成绩表!A$2:K$1000,ROW(A5),0)
F.选中单元格F5,将公式向下拉至F11
此时公式设计完毕,可以选择单元格I4之下拉箭头选择不同学生姓名,可以看到《通知单》之数据有跟随变化。后续打印时则通过下拉框打印随时打印任何学生之成绩,而不破坏原成绩表之格式。
公式解析:VLOOKUP是查找公式,有四个参数,分别为[查找值]、[数据表]、[序列数]、[匹配条件]。
查找值即需要到目标区域查找之目标数据,可以输入目标值,也可以是单元格引用;
数据表是被查找之区域,本例中数据只有10个,而引用区域输入A2:D1000是为了让成绩表中增加数据时通知单公式可以通用,不用再修改公式。若您的学生数目超过1000时可以将本引用域再相应增大,使公式能适应所有变化。
序列数是指目标值在被查找区域所在的列数,输入2,则返回目标区域第二列的值。
匹配条件一般有两个选项,0和1。0表示精确匹配,1表示近似匹配。可以根据不同状况下选择相应的匹配条件。
结语:查找函数除VLOOKUP外还有HLOOKUP、LOOKUP、MATCH、INDIRECT、INDEX、OFFSET等等,只有灵活掌握这些函数才能让WPS表格真正发挥潜能,让很多人工查询方式转化为函数自动搜索,从而提升效率。
……