當前位置:首頁 > 科技 > 正文

考勤表統計上班天數,别再用5個SUMIF了,試試這個新套路

與 30萬 粉絲一起學Excel

VIP學員的問題,這是一份考勤表,要統計實際上班天數,加班天數。有個特殊情況,中秋節放假3天,為了防止公式誤判,在表頭手工寫上假日。


這種其實就是條件求和,比如現在要統計周二對應的天數,就可以用SUMIF。
=SUMIF($B$2:$AF$2,"二",B3:AF3)


語法:
=SUMIF(條件區域,條件,求和區域)

現在要統計周一到周五,最笨同時也是最容易理解的公式,就是5個SUMIF相加。
=SUMIF($B$2:$AF$2,"一",B3:AF3)+SUMIF($B$2:$AF$2,"二",B3:AF3)+SUMIF($B$2:$AF$2,"三",B3:AF3)+SUMIF($B$2:$AF$2,"四",B3:AF3)+SUMIF($B$2:$AF$2,"五",B3:AF3)

除了條件不同,其他的都一樣,能否将條件合并起來,這樣就可以簡化公式?

這裡就涉及到一個新知識,常量數組,不用按三鍵。{"一","二","三","四","五"}這樣就表示周一到周五。常量數組,可以手工寫,也可以直接引用單元格,然後在編輯欄選擇區域,按F9鍵(部分電腦按Fn+F9)。
=SUMIF($B$2:$AF$2,{"一","二","三","四","五"},B3:AF3)


常量數組跟普通公式不一樣,周一到周五是有5個結果的,同樣可以在編輯欄選擇整個公式,按F9鍵(部分電腦按Fn+F9)。


既然有多個結果,再套個SUM就可以求和。
=SUM(SUMIF($B$2:$AF$2,{"一","二","三","四","五"},B3:AF3))


同理,加班天數也出來了。
=SUM(SUMIF($B$2:$AF$2,{"六","日","假日"},B3:AF3))

現在根據常量數組再進行拓展說明, 根據分數判斷等級。

=VLOOKUP(A2,D:E,2)
=VLOOKUP(A2,{0,"學渣";300,"普通人";600,"學霸";661,"學神"},2)

01第三參數為2,就是返回區域第2列,區域指D:E,第2列就是E列的對應值。

02标準的VLOOKUP函數有四個參數,現在第四參數省略不寫,就是模糊查找,也就是按區間查找。

03VLOOKUP第二參數的常量數組什麼意思?

在編輯欄,用鼠标先選好區域D1:E4,然後按F9鍵,有的電腦比較特殊需要按Fn+F9。


這樣就将區域快速轉換成常量數組。


别傻傻的用手工寫這個常量數組,很容易出錯。這個常量數組的意思,其實就是對應表的内容,轉換成常量數組,就不用輔助列而已。

04常量數組用在哪呢?

如果你是會計,應該對個稅公式不陌生,其實裡面的{}内容都是通過單元格引用,然後按F9鍵得出來的。
=ROUND(MAX((H3-I3)*{0.03;0.1;0.2;0.25;0.3;0.35;0.45}-{0;2520;16920;31920;52920;85920;181920},0)-J3,2)

05數組公式又是什麼?

如果你在VIP群,經常可以看到這句話,這條公式是數組公式,需要按三鍵結束。

對于初學者,聽到這裡都是一頭霧水。通常情況下,我們把需要按Ctrl+Shift+Enter三鍵結束的公式,定義為數組公式。按三鍵結束,公式會自動生成{},這個可不是常量數組,不能用手工寫。

你可能想看:

有話要說...

取消
掃碼支持 支付碼