Excel2007制作學(xué)校成績(jī)通知書詳細(xì)教程
時(shí)間:
若木1由 分享
每到期末,老師都需要給每個(gè)學(xué)生家長(zhǎng)發(fā)放一份通知書,其中包括學(xué)生成績(jī)、評(píng)語(yǔ)等內(nèi)容,以前大家往往是采用手工填寫或者打印,必須要繁瑣地對(duì)學(xué)生成績(jī)進(jìn)行排名、輸入,工作量非常大。實(shí)際上利用Excel的一些函數(shù)以及功能,就可以對(duì)學(xué)生成績(jī)進(jìn)行排名,并可以實(shí)現(xiàn)批量打印通知書,下面就以某學(xué)校的期末通知書打印為例,介紹Excel軟件中的具體實(shí)現(xiàn)方法。
整理成績(jī)以及評(píng)語(yǔ)表
通常一份標(biāo)準(zhǔn)的家長(zhǎng)通知書,一般都需要包括學(xué)生成績(jī)以及老師的評(píng)語(yǔ),因此在打印通知書之前,必須將這些資料整理好,啟動(dòng)Excel2007,新建一個(gè)工作簿,將其命名,比如“2009年度通知書打印”,在其中新建一個(gè)工作表,將其命名為“學(xué)生成績(jī)明細(xì)”,在此表中將各個(gè)學(xué)生的成績(jī)復(fù)制過(guò)來(lái),由于還需要對(duì)學(xué)生成績(jī)進(jìn)行合計(jì)、排名,因此在“總分”下面的I2單元格中輸入求總分公式“=SUM(B2:H2)”,在“排名”下面的J2單元格中輸入公式“=“第”&RANK(I2,$I$2:$I$71)&“名””,然后將這兩個(gè)公式復(fù)制到對(duì)應(yīng)的下面單元格區(qū)域中,就可以求出所有學(xué)生的總分以及在本班級(jí)中的排名了(圖1)。
此外由于通知書中還需要添加老師的評(píng)語(yǔ),因此新建一個(gè)工作表,將其命名為“老師評(píng)語(yǔ)”,在此表的A列中將學(xué)生成績(jī)明細(xì)中的學(xué)生名單復(fù)制過(guò)來(lái),然后在B列中輸入老師對(duì)每個(gè)學(xué)生的評(píng)語(yǔ)(圖2)。
設(shè)計(jì)通知書打印模板
雖然每個(gè)學(xué)校的家長(zhǎng)通知書格式可能不完全相同,但是大體上是差不多的,新建一個(gè)工作表,將其命名為“批量打印通知書”,然后在此表的A2:K24單元格區(qū)域中,根據(jù)自己學(xué)校的要求,輸入家長(zhǎng)通知書的必要內(nèi)容,如標(biāo)題、開(kāi)頭語(yǔ)、成績(jī)表格、評(píng)語(yǔ)表格以及家長(zhǎng)填寫意見(jiàn)的位置(圖3)。
由于要實(shí)現(xiàn)批量打印,必須在此通知書模板中添加一個(gè)通知書序號(hào)選擇單元格,這樣就能夠通過(guò)這個(gè)單元格中的不同序號(hào),顯示不同的家長(zhǎng)通知書,在L3單元格中輸入“請(qǐng)輸入序號(hào)”,然后確定M3單元格為通知書序號(hào)選項(xiàng)單元格。同時(shí)為了將前面學(xué)生成績(jī)明細(xì)中每個(gè)學(xué)生的數(shù)據(jù)自動(dòng)引用過(guò)來(lái),在通知書中學(xué)生成績(jī)明細(xì)表“學(xué)生姓名”下面的A12中輸入公式“=OFFSET(學(xué)生成績(jī)明細(xì)!$A$2,$M$3*1-1,0)&“””,在第一門課“語(yǔ)文”下面的B12中輸入公式“=VLOOKUP($A$12,學(xué)生成績(jī)明細(xì)!$A$2:$K$60,2,0)”,在第2門課“數(shù)學(xué)”下面的B12中輸入公式“=VLOOKUP($A$12,學(xué)生成績(jī)明細(xì)!$A$2:$K$60,3,0)”,并依次類推,然后在存放老師評(píng)語(yǔ)的A14中輸入公式“=VLOOKUP($A$12,老師評(píng)語(yǔ)!$A$2:$B$71,2,0)”。這樣當(dāng)在M3單元格中輸入1時(shí),就會(huì)在通知書模板中顯示第一個(gè)學(xué)生的家長(zhǎng)通知書,而輸入2時(shí),則顯示第二個(gè)學(xué)生的家長(zhǎng)通知書。
需要注意的是,此處使用了OFFSET、VLOOKUP等函數(shù),其作用為根據(jù)M3單元格中的數(shù)值,自動(dòng)引用學(xué)生成績(jī)明細(xì)對(duì)應(yīng)的學(xué)生姓名,而且在成績(jī)表以及評(píng)語(yǔ)中自動(dòng)引用相應(yīng)學(xué)生的成績(jī)以及評(píng)語(yǔ)資料,而公式“OFFSET(學(xué)生成績(jī)明細(xì)!$A$2,$M$3*1-1,0)&“””中的$M$3*1則是針對(duì)不同數(shù)據(jù)之間相隔行數(shù)而定的,如果相隔2行,則將其修改為$M$3*2即可。
高效率批量打印通知書
在前面通知書模板設(shè)計(jì)的基礎(chǔ)上,就可以利用控件進(jìn)行批量打印通知書的工作了,在N2、N3中分別輸入開(kāi)始序號(hào)、結(jié)束序號(hào),以其后的O2、O3單元格作為批量打印通知書的起始序號(hào),接著單擊“開(kāi)發(fā)工具”菜單,單擊“控件”功能區(qū)中的“插入”選項(xiàng),在彈出的控件列表中,選擇“ActiveX控件”中的命令按鈕,將其拖動(dòng)到M3單元格的下面。
接著右擊此按鈕控件,在彈出的右鍵快捷菜單中,選擇“屬性”命令,在隨之彈出的“屬性”對(duì)話框中,將此按鈕控件的“Caption”屬性,即按鈕標(biāo)題修改為“批量打印通知書”。然后還是右擊此按鈕控件,選擇“查看代碼”命令,在彈出的VBA編輯窗口中輸入以下批量打印命令:
Private Sub CommandButton1_Click()
For i = Range(“o2”) To Range(“o3”)
Range(“m3”) = i
ActiveSheet.PrintOut
Next
End Sub
輸入完畢后,關(guān)閉此VBA編輯框,單擊“控件”功能區(qū)中的“設(shè)計(jì)模式”選項(xiàng),以退出設(shè)計(jì)模式,然后選擇通知書的打印區(qū)域,最后在O2、O3單元格中輸入需要批量打印家長(zhǎng)通知書的起始序號(hào),如1~50,最后單擊“批量打印通知書”按鈕,就可以立即打印出所需要的50名學(xué)生通知書了。
以上的批量打印是僅僅針對(duì)通知書打印而言的,實(shí)際上利用以上方法,稍微修改下,還可以應(yīng)用到其他一些批量打印工作中,如打印標(biāo)簽、付款通知單、成績(jī)單等等,通過(guò)這個(gè)方法能夠大大提高工作效率,減少出現(xiàn)工作誤差的幾率。
整理成績(jī)以及評(píng)語(yǔ)表
通常一份標(biāo)準(zhǔn)的家長(zhǎng)通知書,一般都需要包括學(xué)生成績(jī)以及老師的評(píng)語(yǔ),因此在打印通知書之前,必須將這些資料整理好,啟動(dòng)Excel2007,新建一個(gè)工作簿,將其命名,比如“2009年度通知書打印”,在其中新建一個(gè)工作表,將其命名為“學(xué)生成績(jī)明細(xì)”,在此表中將各個(gè)學(xué)生的成績(jī)復(fù)制過(guò)來(lái),由于還需要對(duì)學(xué)生成績(jī)進(jìn)行合計(jì)、排名,因此在“總分”下面的I2單元格中輸入求總分公式“=SUM(B2:H2)”,在“排名”下面的J2單元格中輸入公式“=“第”&RANK(I2,$I$2:$I$71)&“名””,然后將這兩個(gè)公式復(fù)制到對(duì)應(yīng)的下面單元格區(qū)域中,就可以求出所有學(xué)生的總分以及在本班級(jí)中的排名了(圖1)。
此外由于通知書中還需要添加老師的評(píng)語(yǔ),因此新建一個(gè)工作表,將其命名為“老師評(píng)語(yǔ)”,在此表的A列中將學(xué)生成績(jī)明細(xì)中的學(xué)生名單復(fù)制過(guò)來(lái),然后在B列中輸入老師對(duì)每個(gè)學(xué)生的評(píng)語(yǔ)(圖2)。
設(shè)計(jì)通知書打印模板
雖然每個(gè)學(xué)校的家長(zhǎng)通知書格式可能不完全相同,但是大體上是差不多的,新建一個(gè)工作表,將其命名為“批量打印通知書”,然后在此表的A2:K24單元格區(qū)域中,根據(jù)自己學(xué)校的要求,輸入家長(zhǎng)通知書的必要內(nèi)容,如標(biāo)題、開(kāi)頭語(yǔ)、成績(jī)表格、評(píng)語(yǔ)表格以及家長(zhǎng)填寫意見(jiàn)的位置(圖3)。
由于要實(shí)現(xiàn)批量打印,必須在此通知書模板中添加一個(gè)通知書序號(hào)選擇單元格,這樣就能夠通過(guò)這個(gè)單元格中的不同序號(hào),顯示不同的家長(zhǎng)通知書,在L3單元格中輸入“請(qǐng)輸入序號(hào)”,然后確定M3單元格為通知書序號(hào)選項(xiàng)單元格。同時(shí)為了將前面學(xué)生成績(jī)明細(xì)中每個(gè)學(xué)生的數(shù)據(jù)自動(dòng)引用過(guò)來(lái),在通知書中學(xué)生成績(jī)明細(xì)表“學(xué)生姓名”下面的A12中輸入公式“=OFFSET(學(xué)生成績(jī)明細(xì)!$A$2,$M$3*1-1,0)&“””,在第一門課“語(yǔ)文”下面的B12中輸入公式“=VLOOKUP($A$12,學(xué)生成績(jī)明細(xì)!$A$2:$K$60,2,0)”,在第2門課“數(shù)學(xué)”下面的B12中輸入公式“=VLOOKUP($A$12,學(xué)生成績(jī)明細(xì)!$A$2:$K$60,3,0)”,并依次類推,然后在存放老師評(píng)語(yǔ)的A14中輸入公式“=VLOOKUP($A$12,老師評(píng)語(yǔ)!$A$2:$B$71,2,0)”。這樣當(dāng)在M3單元格中輸入1時(shí),就會(huì)在通知書模板中顯示第一個(gè)學(xué)生的家長(zhǎng)通知書,而輸入2時(shí),則顯示第二個(gè)學(xué)生的家長(zhǎng)通知書。
需要注意的是,此處使用了OFFSET、VLOOKUP等函數(shù),其作用為根據(jù)M3單元格中的數(shù)值,自動(dòng)引用學(xué)生成績(jī)明細(xì)對(duì)應(yīng)的學(xué)生姓名,而且在成績(jī)表以及評(píng)語(yǔ)中自動(dòng)引用相應(yīng)學(xué)生的成績(jī)以及評(píng)語(yǔ)資料,而公式“OFFSET(學(xué)生成績(jī)明細(xì)!$A$2,$M$3*1-1,0)&“””中的$M$3*1則是針對(duì)不同數(shù)據(jù)之間相隔行數(shù)而定的,如果相隔2行,則將其修改為$M$3*2即可。
高效率批量打印通知書
在前面通知書模板設(shè)計(jì)的基礎(chǔ)上,就可以利用控件進(jìn)行批量打印通知書的工作了,在N2、N3中分別輸入開(kāi)始序號(hào)、結(jié)束序號(hào),以其后的O2、O3單元格作為批量打印通知書的起始序號(hào),接著單擊“開(kāi)發(fā)工具”菜單,單擊“控件”功能區(qū)中的“插入”選項(xiàng),在彈出的控件列表中,選擇“ActiveX控件”中的命令按鈕,將其拖動(dòng)到M3單元格的下面。
接著右擊此按鈕控件,在彈出的右鍵快捷菜單中,選擇“屬性”命令,在隨之彈出的“屬性”對(duì)話框中,將此按鈕控件的“Caption”屬性,即按鈕標(biāo)題修改為“批量打印通知書”。然后還是右擊此按鈕控件,選擇“查看代碼”命令,在彈出的VBA編輯窗口中輸入以下批量打印命令:
Private Sub CommandButton1_Click()
For i = Range(“o2”) To Range(“o3”)
Range(“m3”) = i
ActiveSheet.PrintOut
Next
End Sub
輸入完畢后,關(guān)閉此VBA編輯框,單擊“控件”功能區(qū)中的“設(shè)計(jì)模式”選項(xiàng),以退出設(shè)計(jì)模式,然后選擇通知書的打印區(qū)域,最后在O2、O3單元格中輸入需要批量打印家長(zhǎng)通知書的起始序號(hào),如1~50,最后單擊“批量打印通知書”按鈕,就可以立即打印出所需要的50名學(xué)生通知書了。
以上的批量打印是僅僅針對(duì)通知書打印而言的,實(shí)際上利用以上方法,稍微修改下,還可以應(yīng)用到其他一些批量打印工作中,如打印標(biāo)簽、付款通知單、成績(jī)單等等,通過(guò)這個(gè)方法能夠大大提高工作效率,減少出現(xiàn)工作誤差的幾率。