Board logo

標題: [發問] 請問如何統計班表的資料(正常日、加班、星期日)? [打印本頁]

作者: gaishutsusuru    時間: 2021-10-22 22:55     標題: 請問如何統計班表的資料(正常日、加班、星期日)?

本帖最後由 gaishutsusuru 於 2021-10-22 23:01 編輯

大家好,
我自製一張表,但在計算公式上一直試不出來,因此想請教大家如何計算班表的資料呢?

以下是相關的細節:
[attach]34265[/attach]
(1) 這張圖為了說明,因此只截圖1~10日 (完整31天的日期資料,再煩請見附檔操作)
(2) 符號說明:
早班:「S」
中班:「C」
夜班:「D」
「S+2」:早班,有加班2小時
「C+1」:中班,有加班1小時
排休:「休」
…其餘以此類推

[attach]34266[/attach]
希望能把紅字這些數字,用公式計算出來。
(1) 出勤有分成:早班中班晚班 (註:出勤不計入星期日)
(2) 加班小時,有分成:平常日加班、星期日加班
(3) 星期日有分成:早班中班晚班

最後,附上附檔:[attach]34267[/attach]

希望大家能抽空幫忙協助提供想法,非常感謝大家。(如對問題描述有任何不清楚,歡迎留言給我,謝謝)
作者: ML089    時間: 2021-10-23 08:07

[attach]34268[/attach]

[attach]34269[/attach]
作者: gaishutsusuru    時間: 2021-10-23 11:30

回復 2# ML089


原來如此,真的非常謝謝ML089大大的幫忙,公式可以用哦。:)
作者: ML089    時間: 2021-10-23 16:38

回復 3# gaishutsusuru
補充一下,儲存格顏色設定方式

選擇 B2:AF3 設定格式化,星期日不同顏色                       
        B2:AF3 直接設底色               
        B2:AF8 設定格式化,公式 =AND(WEEKDAY(B$2,2)=7,COUNTA($B2:$AF2)>0) ,填顏色
作者: gaishutsusuru    時間: 2021-10-26 15:44

回復 4# ML089

謝謝您的幫忙。

但在實做上又遇到另一個問題,因此想再請教您:

若考慮到早退的情況,該如何處理呢?

[attach]34281[/attach]
1個班都是8小時,情況舉例:(+代表加班,-代表早退)
(1) S-1/8:上早班,但早退1小時
(2) S+2-2/8:上早班,但早退2小時,但當天又跑來加班2小時  (實務上少見,但仍有可能出現)
因此,希望能把公式改成,出現像是「黃色螢光筆」的數字。
(我嘗試用了search來判斷,改寫公式,但一直試不出來)

希望您能抽空提供幫忙,謝謝您。


註:我是用您附的檔案進行編輯的,因此就未再附上excel檔了。
作者: ML089    時間: 2021-10-26 20:04

回復 5# gaishutsusuru

AH4 =SUMPRODUCT((LEFT($B4:$AF4,1)=MID(AH$3,4,1))*($B$3:$AF$3<>"日")) - SUMPRODUCT((LEFT($B4:$AF4,1)=MID(AH$3,4,1))*($B$3:$AF$3<>"日")*TEXT(MID($B4:$AF4,{2;4},2),"!0;0;;!0"))/8               
AK4 =SUMPRODUCT((LEFT($B4:$AF4,1)=MID(AH$3,4,1))*($B$3:$AF$3="日")) - SUMPRODUCT((LEFT($B4:$AF4,1)=MID(AH$3,4,1))*($B$3:$AF$3="日")*TEXT(MID($B4:$AF4,{2;4},2),"!0;0;;!0"))/8               
AN4 =SUMPRODUCT(TEXT(MID($B4:$AF4,{2;4},2),"0;!0;;!0")*($B$3:$AF$3<>"日"))               
Ao4 =SUMPRODUCT(TEXT(MID($B4:$AF4,{2;4},2),"0;!0;;!0")*($B$3:$AF$3="日"))               
AH4:AM5 儲存格格式 "# #/8"
作者: gaishutsusuru    時間: 2021-10-26 21:07

回復 6# ML089


真的非常謝謝ML089大大,公式可以用,真的幫助我很大。

另外,想請教您「TEXT(MID($B4:$AF4,{2;4},2),"0;!0;;!0"」這個公式裡面的「{2;4}」、「"0;!0;;!0"」的用意是什麼呢? 這個在書面好像幾乎沒有提到,不知道可否請您抽空解惑呢?


謝謝您 :)
作者: ML089    時間: 2021-10-26 22:42

回復 7# gaishutsusuru


    「TEXT(MID($B4:$AF4,{2;4},2),"0;!0;;!0"」這個公式裡面的「{2;4}」、「"0;!0;;!0"」的用意是什麼呢?
text( ... , "0;!0;;!0")   表示 TEXT 的格式  "正數; 負數; 0; 文字"  處理方式,  !0 表示 任一數都以 0 顯示,所以 "0;!0;;!0" 意思將正數留下,其他都設為 0

MID(... , {2;4},2) 連續取2個數字,列
S+2-2/8 會取出 {"+2" ; "-2")  ---> "+2" 視為 正數2 ; "-2"視為負數2
S-1/8 會取出 {"-1" ; "/8") ---> "-1" 視為 正數1 ; "/8"視為文字
作者: gaishutsusuru    時間: 2021-10-26 23:08

回復 8# ML089


原來如此,謝謝ML089大大的解惑,謝謝您的抽空協助。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)