俞木發(fā)
老師們都知道,每次開家長會的時候都要制作每個學(xué)生的成績條,這樣需要在原來的成績統(tǒng)計數(shù)據(jù)加上表頭(即各個科目行)。如果成績數(shù)據(jù)很多,這一工作便顯得有些繁瑣。筆者今天就教大家?guī)讉€高效完成成績通知條制作的方法。

無中生有 使用輔助列添加
成績通知條的主要操作就是在原來的每行統(tǒng)計數(shù)據(jù)前添加一個表頭數(shù)據(jù),因此我們可以通過添加輔助列的方法實(shí)現(xiàn)。具體原理就是先復(fù)制原來的表頭內(nèi)容(具體行數(shù)和原來的學(xué)生姓名人數(shù)一致),最后再通過排序?qū)⒈眍^內(nèi)容依次和姓名列組合即可。這里以下圖作為示例(圖1)。
先選中原來的編號序列A2:A4,然后將其復(fù)制到A5:A7,繼續(xù)選中B1:I1的標(biāo)題內(nèi)容復(fù)制,然后將其粘貼到B5:I7,使得這些單元格填滿表頭內(nèi)容(圖2)。
按住Ctrl+A全選數(shù)據(jù),接著點(diǎn)擊“數(shù)據(jù)→排序”,主要關(guān)鍵字是“序號”,次序選擇“升序”,這樣Excel會按照序號進(jìn)行升序排列,因?yàn)樘砑虞o助列序號和原來的一致,所以可以將每個學(xué)生姓名行和復(fù)制的表頭行排列在一起。為了美觀,最后可以將A列刪除(圖3)。
巧用函數(shù) 引用標(biāo)題行
在Excel中很多高效的操作都是借助函數(shù)來完成,同樣上述添加表頭也可以借助Vlookup函數(shù)。因?yàn)槌煽儐蔚囊髮?shí)際上是引用表頭的內(nèi)容和學(xué)生行的內(nèi)容,表頭內(nèi)容是一樣的,學(xué)生行則是根據(jù)序號進(jìn)行引用。因此我們可以先復(fù)制表頭內(nèi)容,接著使用Vlookup引用學(xué)生成績即可。
首先在A8:I8行復(fù)制上述表頭的內(nèi)容,接著在A9輸入序號“1”,在B9輸入公式“=VLOOKUP($A9,$A$ 2:$I$4,COLUMN(),0)”,向右填充完成學(xué)生成績的提取。
為了方便后續(xù)裁剪,這里還可以再引用一個空行,填充完成績后繼續(xù)選中A8:I10的內(nèi)容,其中A10為空行,然后該區(qū)域作為填充模塊(圖4)。
按住鼠標(biāo)下拉進(jìn)行填充,這樣表頭、學(xué)生行、空行的內(nèi)容會被自動引用。如果后續(xù)需要增加學(xué)生的成績引用,只要按照上述格式在后續(xù)的單元格進(jìn)行添加,接著操作同上,下拉填充列表即可快速完成所需的成績單(圖5)。
多表數(shù)據(jù) VBA快速添加
上述方法僅僅是對一張工作表的數(shù)據(jù)進(jìn)行表頭的操作,如果數(shù)據(jù)保存在不同的工作表中,比如需要將保存在不同工作表的各個班級的數(shù)據(jù)進(jìn)行各自表頭的添加,此時借助VBA腳本即可快速插入表頭。假設(shè)一班和二班的數(shù)據(jù)分別保存在各自對應(yīng)的工作表“一班數(shù)據(jù)”和“二班數(shù)據(jù)”中,現(xiàn)在需要在一班數(shù)據(jù)工作表中將兩個班級的數(shù)據(jù)全部完成表頭的添加。
按下Alt+F11打開VB編輯窗口,點(diǎn)擊“插入→模塊”,按提示插入下列的代碼(圖6):
Sub 插入表頭()
Dim i As Long ,定義一個變量
For i = 1 To 3 ,從第一行直到第三行間隔插入表頭,具體插入數(shù)量與學(xué)生數(shù)對應(yīng)
ActiveCell.Rows("1:1"). EntireRow.Select
Selection.Copy
ActiveCell.Offset(2, 0).Rows("1:1").EntireRow.Select

S e l e c t i o n . I n s e r t Shift:=xlDown
ActiveCell.Select
Next
End Sub
完成代碼的編輯后返回Excel窗口,點(diǎn)擊“開發(fā)工具→宏”,可以看到新增一個名為“插入表頭”的宏,點(diǎn)擊“選項(xiàng)”,將該宏運(yùn)行的快捷鍵設(shè)置為Ctrl+R(圖7)。
這樣將鼠標(biāo)定位在A1,然后按下Ctrl+R即可完成表頭文件的添加。操作同上,在打開的每個工作表中依次定位到A1,重復(fù)上述操作即可完成所有成績單表頭的制作(圖8)。