返回列表 上一主題 發帖

[發問] 員工特休計算

[發問] 員工特休計算

不好意思~希望把特休計算以EXCEL的方式寫出,有塗顏色的格子是為輸入公式格,以在職年資所帶出本年度可休的特休;若是離職的話,也希望可以計算出實際上應有的特休時數,以便得知是否有超休的情形~


特休計算.zip (3.04 KB)

e2=IF(C2>10,14+INT(C2-10),LOOKUP(C2,{0,3,5,10},{0,7,10,14}))

TOP

回復 1# jessicawu

由於 C2 年資的格式並非整數,並且使用 NOW 函數。使用 LOOKUP 系列的函數會有趨近的問題,所以還是採用了表格參照。

特休計算.zip (3.71 KB)

TOP

Angela大大,謝謝您的解答呦~初步上了解囉!Lookup這功能我倒是很少用到,大部份都是使用vlookup,但是倒不知為何使用{ }呢?

Eugene大大,真不好意思看不到您的附件...偶素小學生...

TOP

本帖最後由 ANGELA 於 2011-8-5 12:10 編輯

回復 4# jessicawu


    LOOKUP 函數會從單列、單欄範圍 (範圍:工作表上的兩個或多個儲存格。範圍中的儲存格可以相鄰或不相鄰。)或從陣列 (陣列:用來建立產生多個結果或運算一組以列及欄排列之引數的單一公式。陣列範圍共用一個公式;一個陣列常數是用作一個引數的一組常數。)傳回一個值。LOOKUP 函數有兩種語法形式:向量形式與陣列形式

LOOKUP(C2,{0,3,5,10},{0,7,10,14)
c2的值>=0,<3,傳回陣列的第一個值 0
c2的值>=3,<5,傳回陣列的第二個值7
>=5,<10,傳回10
>=10,傳回14

TOP

嗯~~了解~~等同於陣列的方式...可能還需要一點時間消化一下!謝謝呦~~

TOP

本帖最後由 Eugene 於 2011-8-5 15:16 編輯

回復 4# jessicawu

E2=IF(TRUNC(C2)>25,30,VLOOKUP(TRUNC(C2),$N$2:$O$27,2,0))

由於 Microsoft Excel 說明中:如果 LOOKUP 函數無法找到 lookup_value,它會採用陣列中等於或小於 lookup_vector 的最大值。
所以,新增了一個表格:

TOP

本帖最後由 gong 於 2011-8-5 16:04 編輯

E2=VLOOKUP(min(25,TRUNC(C2)),$N$2:$O$27,2,0))
E2=VLOOKUP(C2,$N$2:$O$27,2,1)
應該可以得到相同答案
知之為知之,不知為不知,誠實也!

TOP

=LOOKUP(C2,{0,1,3,5,10},{0,7,10,14,15})+MAX(0,MIN(15,INT(C2)-10))
知之為知之,不知為不知,誠實也!

TOP

=LOOKUP(C2,{0,1,3,5,10},{0,7,10,14,15})+(C2>10)*INT(C2-10)
知之為知之,不知為不知,誠實也!

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題