幸好我還有點小聰明,很快就發現這兩張工作表中的所有人員除了工資發生了變化之外,姓名和身份證號碼等信鼠都沒有變。那么,能不能通過一個條件(如身份證號碼)把所有人員的新、舊工資提取出來組合到同一張表中呢?手忙腳亂地上網查找了一番,果然!利用VLOOKUP函數就可以完成這一工作,操作也不算復雜。
step1 首先把舊工資表和新工資表復制并粘貼到同一個Excel文檔中,將兩個工作表命名為“工改前工資”和“工改后工資”。表頭等無用信息最好刪掉。
將兩個工作表中的身份證號碼列都調至第一列,這一步很關鍵,否則就無法得到正確結果。因為在這兩個工作表中,無論工資數據如何變動,每個人的身份證號碼是不會改變的,而且具有惟一性,不會重復,所以我們可將其作為查找條件。
step2再新建一個工作表,命名為“公積金匯繳清冊”。把新工資表中的“姓名”、“身份證號”和“工改后工資”等數據復制過去。在“工改后工資”列前面插入兩列,用來存放老工資數據和2007前半年的公積金繳納數額。同時還要添加一些必要的項目,比如2007后半年的公積金繳納數額以及全年繳納總額。
step3 準備工作做好后,就可以使用VLOOKUP函數提取各個員工對應的老工資數據了。首先把光標定位到“公積金匯繳清冊”工作表中的“工改前工資”列的第一個單元格上,在其中輸入公式“=VLOOKUP(A2,工改前工資!$A$2:$C$2230,3,FALSEI”,并按下回車鍵,對應人員的老工資總額就得到了。然后使用自動填充功能,就能得到所有人員對應的老工資總額了。
按下來,其他數據的統計非常簡單,使用一些常用的函數就能搞定。所有數據統計完成后,我用選擇性粘貼把所得數據全部復制到另一張工作表保存,防止源數據變化引起提取和計算的數據發生變化。
VLOOKuP函數語法為:VLOOKuP(Lookup_value,Tabk_array,col_index_num,gange_lookup)。
Lookup_value為需要在工作表首列進行搜索的值,并確定其行序號。我們要搜索的是A2單元格中的數據,即身份證號。
Table_array為需要在其中搜索數據的工作表。“工改前工資”是指在名為“工改前工資”的工作表中進行搜索;“$A$2:$C$2230”是指搜索單元格范圍為A2-C2230。
Col_index-hum為在table_array中搜索到的匹配值的列序號,表示要返回的數值在所查詢的工作表中的第幾列。我們要提取的工資數值在第三列,就將此參數設定為“3”。
gange_lookup是一個邏輯值,若為TRUE或省略,則返回近似匹配值;若為FALSE,則返回精確匹配值。如果找不到,則返回錯誤值#N/A。
那么,“=VLOOKUP(A2,工改前工資!$A$2:$C$2230,3,FALSE)”的意思就是,在“工改前工資”“工作表中查找與”,“公積金匯繳清冊”工作表A2中的身份證號相同的數值,然后確定查找到的這個數值所在的單元格的行序號,最后將該行的第5列的數值返回到目前光標所在的單元格D2。