
Mystique Hsiao wrote:
用您的公式測試了一下...(恕刪)
我稍微用前面的表格改寫一下
用新的函數容易修改與計算


這個用法在於
像設計數學函數的方式,容易理解
x, y 對應上下班時間
a, b, c, d對應上午下午開始結束的時間
LAMBDA(x,y,a,b,c,d, (MAX(MIN(y,b)-MAX(x,a),0)+MAX(MIN(y,d)-MAX(x,c),0))*24)
一般上班時間,就算早到,公司也不會列入上班時數
所以早上時間就是從進入公司的時間與公司開始計算(8:00)的時間,看哪一個晚 所以會有一個max(x,a)
早上結算時間就是看公司午休時間與你離開的時間哪一個早,上下班跨過中午的,這通常就是12:00
如果MIN(y,b)-MAX(x,a)是負數,那就是下午才上班,所以用一個max(,0)去除負數部分
另一個也是類似的MAX(MIN(y,d)-MAX(x,c),0)就是計算下午的
LAMBDA(x,y,a,b,c,d, MAX((y-d)*24-0.5,0))
這個更簡單,就是計算加班時間,-0.5算是晚上吃飯時間吧
負數的就是沒有加班,或是在吃飯時間離開公司
而LAMBDA可以在EXCEL裡設計成一個自有函數,裡如取名worktime, overtime
那就可以簡化成
=worktime(A31,B31,A$29,B$29,C$29,D$29)
=overtime(A31,B31,A$29,B$29,C$29,D$29)
前面有提到上班之前的時間要不要計算,自己考慮,就改一下函數就好了
這樣所有的表格設計好就不用改來改去了,開發的函數改一下就好
我自己玩一下就不去增加函數了
內文搜尋

X