業務効率化

SUMIFS関数で勤怠を従業員×期間に自動集計する|打刻明細から残業も合算

ExcelMate編集部7分

この記事の要点

  • 従業員×週など複数条件の勤怠集計はSUMIFS関数で自動化でき、同じ週に複数の打刻があっても自動で合算される
  • 数式は =SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2…)。SUMIFと違い合計範囲を最初に書くのがポイント
  • 範囲は絶対参照($)で固定し、見出しを指す条件は複合参照($A2 / B$1)にすると縦横にコピーしても崩れない

勤怠の集計では、月末になると打刻データを従業員ごとに並べ替えて、週や月の実働時間を電卓やSUMで足していませんか。人数と期間が増えるほど手間がかかり、残業分の足し忘れも起きやすくなります。

「従業員ごと」「週ごと」のように条件が2つ以上ある集計は、SUMIFS 関数で自動化できます。打刻明細を貼り付けるだけで、従業員×期間の集計表が自動で埋まります。実際の画面で見ていきましょう。

完成イメージ

左の打刻明細(週・従業員・実働時間)から、右の集計表に「従業員ごと・週ごと」の実働時間が自動で入ります。佐藤さんの第2週のように、同じ週に複数の打刻があっても合算されます。

SUMIFS関数で従業員×週の実働時間を集計したExcel画面。C2セルに =SUMIFS(打刻!実働, 打刻!従業員, $A2, 打刻!週, C$1) を入力し、佐藤の第2週が複数打刻を合算して43hと表示されている
C2 に入力した数式と、その集計結果(佐藤・第2週=41.0h+2.0hの残業=43h に自動合算)

数式の意味

集計表のセルに入れているのは、次の数式です。

=SUMIFS(打刻!実働, 打刻!従業員, $A2, 打刻!週, B$1)

SUMIFS は「複数の条件をすべて満たす行だけ合計する」関数です。引数は次の順番で、最初に合計したい列、続けて「条件の列」と「条件値」をペアで並べます。

  1. 合計範囲(打刻!実働)… 実際に足す列。ここでは「実働時間」
  2. 条件範囲1 と 条件1(打刻!従業員, $A2)… 「従業員」列が、表頭の名前(A2)と一致する行
  3. 条件範囲2 と 条件2(打刻!週, B$1)… かつ「週」列が、見出しの週(B1)と一致する行

つまり「従業員が佐藤、かつ週が第1週、の行の実働時間だけを合計する」という指示です。条件はカンマ区切りで3つ4つと増やせます。

つまずきやすいポイント①:SUMIFと引数の順番が逆

SUMIF は合計範囲を最後に書きますが、SUMIFS は合計範囲を最初に書きます。SUMIF に慣れているほど間違えやすいところです。「S が付いたら合計範囲は先頭」と覚えておくと迷いません。

つまずきやすいポイント②:$の付け方(複合参照)

集計表は縦(従業員)にも横(週)にもコピーします。きれいに広げるコツは $ の付け方です。

  • 明細の範囲(打刻!実働・従業員・週)は $全固定します
  • 行見出しの従業員は $A2(列だけ固定)
  • 列見出しの週は B$1(行だけ固定)

こうしておくと、1つの数式を集計表全体にコピーしても、各セルが「自分の行の従業員 × 自分の列の週」を正しく参照します。

よくあるエラーと対処

  • 合計が 0 になる … 従業員名や週ラベルの表記ゆれ(全角半角・空白)が原因のことが多いです。明細と集計表の見出しが完全一致しているか確認します。
  • 「数式が壊れています」と出る … 合計範囲と条件範囲の行数(高さ)が違うとエラーになります。すべて同じ範囲(同じ行数)にそろえます。
  • 残業分が抜ける … 残業を別の表に分けていると合算されません。打刻明細を1つにまとめれば、同じ週の複数行はSUMIFSが自動で合算します。

まとめ

SUMIFS を一度組んでおけば、勤怠の集計は「打刻明細を貼り付けるだけ」で従業員×期間の表が埋まり、残業の合算も自動です。私たちが実際にお手伝いしたケースでは、毎月半日かけていた勤怠集計が10分程度まで短縮できた例もあります。

「打刻データの形がバラバラで集計しづらい」「関数の先に、給与計算まで含めてマクロで自動化したい」という場合は、ExcelMate のチャット相談でそのまま聞いていただけます。

よくある質問

SUMIFSとSUMIFの違いは?
SUMIFは条件が1つ、SUMIFSは条件が複数(従業員かつ週、など)使えます。引数の順番も違い、SUMIFSは合計範囲を最初に、SUMIFは最後に書きます。条件が2つ以上ならSUMIFSを使います。
SUMIFS関数の引数の順番は?
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …) の順です。最初に「足したい列(実働時間)」、続けて「条件の列」と「その条件値」をペアで並べます。
同じ従業員・同じ週に打刻が複数行あっても合算される?
はい。SUMIFSは条件に一致する行を全て合計するため、残業や打刻し直しで同じ週に複数行あっても自動で合算されます。
数式を縦横にコピーすると集計がズレるのはなぜ?
範囲が絶対参照になっていない、または見出しを指す条件の$の付け方が原因です。範囲は$で全固定、行見出しは$A2、列見出しはB$1のように複合参照にするとズレません。

監修・運営者

株式会社KOPS 代表取締役 馬込 浩

馬込 浩株式会社KOPS 代表取締役

業務システムの要件定義〜設計〜実装を一気通貫で手がけ、経営者として自社のバックオフィスも運営。Excel・VBA・Power Query/スプレッドシート自動化の実務経験にもとづき、ExcelMateの記事を監修しています。

運営者情報・監修者プロフィールを見る