excel怎麼按人頭打出工資條

來源:文萃谷 3.14W

用“郵件合併” 功能操作雖説不難,但數據過多時也很麻煩;用VBA處理起來倒是很方便,但幾十行的程序也夠初學者忙活的。經過一番試驗,小編找出了一個比較簡單的方法,只需一個公式就可以按人頭打印出工資條來。

excel怎麼按人頭打出工資條

新建一Excel文件,在sheet1中存放工資表的原始數據,假設有N列。第一行是工資項目,從第二行開始是每個人的工資。

在sheet2中我們來設置工資條。根據實際情況,工資條由三行構成,一行對應工資項目,一行對應一個人的工資數據,然後是一個空行用來方便切割。這樣三行構成一個工資條。工資項目處在行號除以3餘數為1的行上;空行處在行號能整除3的行上。以上兩行不難設置,關鍵是工資數據行,牽扯到sheet1與 sheet2中數據的'對應,經分析不難看出“sheet1中的數據行=INT((sheet2中的數據行+4)/3)”。

這樣我們在sheet2的A1單元格中輸入公式“=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,Sheet1!A$1,INDEX(Sheet1!$A:$N,INT((ROW()+4)/3),COLUMN())))”。確認後選擇A1單元格,把鼠標放在A1單元格的右下角,鼠標變成“+”時,向右拖動鼠標自動填充至N列,這樣工資條中的第一行就出來了。選定A1:N1,把鼠標放在N1單元格的右下角,鼠標再次變成“+”時,向下拖動鼠標自動填充到數據的最後一行,工資條就全部製作完成了。

該公式運用IF函數,對MOD函數所取的引用行號與3的餘數進行判斷。如果餘數為0,則產生一個空行;如果餘數為1,則固定取sheet1中第一行的內容;否則運用INDEX函數和INT函數來取Sheet1對應行上的數。

最後來設置一下格式,選定A1:N2設上表格線,空行不設。然後選定A1:N3,拖動N3的填充柄向下自動填充,這樣有數據的有表格線,沒有數據的沒有表格線。最後調整一下頁邊距,千萬別把一個工資條打在兩頁上。怎麼樣,還滿意吧?(下載樣表)

熱門標籤