在每次成绩公布时都需要面对一个难题:《学生成绩表》为了方便汇总,每人成绩占据一行;而每个学生之《成绩通知单》为了美观却设计为多行多列。如何方便而快速地进行格式转换?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是查找公式,有四个参数,分别为[查找值]、[数据表]、[序列数]、[匹配条件]。