Excel|一整年的缺勤表,統計出每月缺勤人數,還要排除重複項

問題情景

統計員工考勤情況,是每個HR必會碰到的問題。如下表中:

Excel|一整年的缺勤表,統計出每月缺勤人數,還要排除重複項


根據左邊的統計出不同月份缺勤人數,具體要求:

同一個人在同月份裡只算一次(不考慮重名情況),比如1月份裡共有3人缺勤,分別為王五,李四,張三。

關鍵操作

在E3單元格輸入公式:

=SUMPRODUCT((MONTH($A$3:$A$30)=D3)*(MATCH((MONTH($A$3:$A$30)=D3)&$B$3:$B$30,(MONTH($A$3:$A$30)=D3)&$B$3:$B$30,0)=ROW($3:$30)-2)),可算出1月缺勤人數。(公式有點長,這幾行都是同一個公式!)

Excel|一整年的缺勤表,統計出每月缺勤人數,還要排除重複項


公式分解:

分解一:

每月缺勤表中D3:D14區域中的1月——12月單元格,設置為“通過格式“月”“份””,這樣就可以直接輸入數據,但顯示為某某月份,而實際單元格內容又是數值,不影響後同的計算:

Excel|一整年的缺勤表,統計出每月缺勤人數,還要排除重複項

分解二:

“MONTH($A$3:$A$30=D3)&$B$3:$B$30”

返回一組值:{TRUE王五;TRUE李四;TRUE王五;TRUE張三;TRUE李四;FALSE李四;FALSE甲一;FALSE李四;FALSE開心;FALSE李四;FALSE張三;FALSE張三;FALSE李五;FALSE王五;FALSE開心;FALSE王五;FALSE李四;FALSE開心;FALSE李四;FALSE甲一;FALSE李四;FALSE開心;FALSE李四;FALSE張三;FALSE開心;FALSE李四;FALSE張三;FALSE張三};

分解三:

"MATCH(MONTH($A$3:$A$30=D3)&$B$3:$B$30,MONTH($A$3:$A$30=D3)&$B$3:$B$30,0)=ROW($3:$39)-2",含義在“分解二”中藍色字體的數組中匹配出每一數值的位次,與當前實際位次是否相等,返回一組值邏輯值:{TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

分解四:

"(MONTH($A$3:$A$30)=D3",返回一組邏輯值:{TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

總:

SOMPRODUCT函數,對“分解三”“分解四”紅色字體兩數邏輯值對應位置數據乘積加和,得到1月份缺勤人數。

(注:視頻中每一分解函數返回值是單獨分解的情況下的顯示值,文字中的是“公式求值”中的顯示值。)



分享到:


相關文章: