統計員工考勤情況,是每個HR必會碰到的問題。如下表中:
根據左邊的<缺勤登記表>統計出不同月份缺勤人數,具體要求:
同一個人在同月份里只算一次(不考慮重名情況),比如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月缺勤人數。(公式有點長,這幾行都是同一個公式!)
公式分解:
分解一:
每月缺勤表中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月份缺勤人數。