4204 |
Excel如何統計該月員工連續值班次數-不連續計次 |
為了不讓公司同仁太過操勞,但也不能讓公司同仁連續休假次數太多避免造成分配不公的情形,因此需要統計「班表」工作表中連續值班次數的需求,班表如下圖。
以連續值班3天為例,條件為如果連續值班3天則記錄1次,如果連續4天依舊記錄1次,連續值班6天則計錄2個1次,依此類推。
以新工作表分析
為了不造成班表工作表混亂,故我們新增一張空白工作表(3次),點取B2儲存格,輸入公式「=IF (COUNTIF(OFFSET(B1,,,-MIN(ROW(B1),2)),1)=0,IF(COUNTIF(OFFSET(工作表1!B2,,,-MIN(ROW(B1), 3)),"值班")=3,1,""),"")」後,向下複製公式到B3:D32儲存格(以一個月31天來算)。
公式說明
=IF(COUNTIF(OFFSET(B1,,,-MIN(ROW(B1),2)),1)=0,IF(COUNTIF(OFFSET(工作表1!B2,,,-MIN (ROW(B1),3)),"值班")=3,1,""),"")
公式一:MIN(ROW(B1),3) 傳回對應列號與3二個值中最大值,這是因為要統計連續3筆所以MIN函數第二參數為3,要統計連續4次則為4,以此類推。
公式二:OFFSET(班表!B2,,,-公式一,3)) 傳回從班表工作表中B2儲存格開始向上二列的儲存格內容。
公式三:COUNTIF(公式二,"值班") 統計公式二傳回的三個儲存格中含有值班字串的儲存格數量。
公式四:IF(公式三=3,1,"") 如果公式三傳回結果為3時,則填入1,否則不填入任何內容。
公式五:MIN(ROW(B1),2) 傳回對應列號與2二個值中最大值,這是因為要統計上面二格是否含有1。
公式六:OFFSET(B1,,,-公式五,2)) 傳回從中B1儲存格開始向上一列的儲存格內容。
公式七:COUNTIF(公式六,1) 統計公式六傳回的二個儲存格中含有1的儲存格數量。
公式八:IF(公式七=0, 公式四,"") 如果公式七傳回結果為0時,則填入公式四傳回結果,否則不填入任何內容。
統計整月次數
點取班表工作表G2儲存格,輸入公式「=SUM('3次'!B:B)」後,向右複製公式到H2:I2儲存格。
留言列表