網友問到,在 Excel 中如何設計依年資算出特休天數?計算規則如下:(參考下圖)
(1) 6個月以上未滿1年:特休3天
(2) 1年以上未滿2年:特休7天
(3) 2年以上未滿3年:特休10天
(4) 3年以上未滿5年:特休14天
(5) 5年以上未滿10年:特休15天
(6) 滿(含)10年以上,每增一年加給1天,最多給至30天為止
【公式設計與解析】
首先,你要先建立如儲存格E1:F7的資料清單,目的是要給 VLOOKUP 函數查表之用。
接著,輸入公式:
儲存格C2:=VLOOKUP(B2,$E$2:$F$7,2,TRUE)+INT((B2>=10)*(B2<=24)*(B2-9))+(B2>24)*15
複製儲存格C2,貼至儲存格C2:C23。
(1) VLOOKUP(B2,$E$2:$F$7,2,TRUE)
在 VLOOKUP 函數中藉由查表,查出年資對應特休天數。
(2) INT((B2>=10)*(B2<=24)*(B2-9))
若年資在 10~24 之間,則每一年的特休加 1。(B2>=10)*(B2<=24)之中的『*』,乃相當於執行兩個條件(B2>=10 和 B2<=24)的邏輯 AND 運算,傳回 TRUE/FALSE 。當在執行『*(B2<=24)』的『*』,及在執行算術運算,會將 TRUE/FALSE 轉換為 1/0。
(3) (B2>24)*15
由第(2)式處理10年~24年,每一年增加 1 天,若年資大於 24 年者,要再加 15,以補足年休30天。
【補充說明】
若要在B欄中輸入年和月的資料,可以將儲存格的數值格式定為:?0 ??/12。
這是分數的格式,其中整數部分對齊 2 位數,而小數部分則以 12 為分母。輸入資料時,整數和分數之間要有一個空白鍵。
【延伸閱讀】
參考:本部落格中其他關於 Excel VLOOKUP 函數的應用
* Excel-根據成績評定的對照表給予評定(VLOOKUP,MATCH,INDEX,CHOOSE)
* Excel-用XLOOKUP取代VLOOKUP,HLOOKUP,INDEX
* Excel-依規則調整顯示的時間(TIME,VLOOKUP)
* Excel-依指定的數量列出項目(VLOOKUP,INT,MOD)
* Excel-使用VLOOKUP函數查詢文字和數值的變通技巧
留言列表