職工工資構成非常復雜,往往超過10項,因此每月發(fā)工資時要向職工提供一包含工資各構成部分的項目名稱和具體數值的工資條。打印工資條時要求在每個職工的工資條間有一空行便于彼此裁開。本模板就是用EXCEL函數根據工資清單生成一便于分割含有工資細目的工資條表格。
本工資簿包含兩張工資表。 第1張工資表就是工資清單,稱為"清單"。它第一行為標題行包括職工姓名、各工資細目。 第2張工作表就是供打印的表,稱為"工資條"。它應設置為每三行一組,每組第一行為標題,第二為姓名和各項工資數據,第三行為空白行。就是說整張表被3除余1的行為標題行,被3除余2的行為包括職工姓名、各項工資數據的行,能被3整除的行為為空行。 在某一單元格輸入套用函數"=MOD(ROW(),3)",它的值就是該單元格所在行被3除的余數。因此用此函數能判別該行是標題行、數據行還是空行。 在A1單元格輸入公式"=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,清單!A$1,"value-if-false"))"并往下填充,從A1單元格開始在A列各單元格的值分別為清單A1單元格的值即姓名、value-if-false、空白,姓名、value-if-false、空白,……。其中value-if-false表示MOD(ROW(),3)既不等于0又不等于1時,即它等于2時應取的值。它可用如下函數來賦值:"INDEX(清單!$A:$G,INT((ROW()+4)/3),COLUMN())"。INDEX()為一查找函數它的格式為:INDEX(reference,row-num,col-num),其中reference為查找的區(qū)域,本例中為清單表中的A到G列,即函數中的"清單!$A:$G",row-num為被查找區(qū)域中的行序數即函數中的INT((ROW()+4)/3),col-num為被查找區(qū)域中的列序數即函數中的COLUMN()。第2、5、8…….行的行號代入INT((ROW()+4)/3)正好是2、3、4……,COLUMN()在A列為1。因此公式"=INDEX(清單!$A:$G,INT((ROW()+4)/3),COLUMN())"輸入A列后,A2、A5、A8……單元格的值正好是清單A2、A3、A4……,單元格的值。這樣,表的完整的公式應為"=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,清單!A$1,INDEX(清單!$A:$G,INT((ROW()+4)/3),COLUMN())))"。把此公式輸入A1單元格,然后向下向右填充得到了完整的工資條表。 為了表格的美觀還應對格式進行設置,一般習慣包括標題、姓名等文字在單元格中要取中,數字要右置,數字小數點位數也應一致,還有根據個人的愛好設置邊框。本表格只需對一至三行的單元格進行設置,然后通過選擇性格式設置完成全表的設置。 本工作簿的特點是1、不對清單表進行操作保持清單工作表的完整,2、全工作表只有一個公式通過填充得到全表十分方便。 |
|