勤怠の集計では、月末になると打刻データを従業員ごとに並べ替えて、週や月の実働時間を電卓やSUMで足していませんか。人数と期間が増えるほど手間がかかり、残業分の足し忘れも起きやすくなります。
「従業員ごと」「週ごと」のように条件が2つ以上ある集計は、SUMIFS 関数で自動化できます。打刻明細を貼り付けるだけで、従業員×期間の集計表が自動で埋まります。実際の画面で見ていきましょう。
完成イメージ
左の打刻明細(週・従業員・実働時間)から、右の集計表に「従業員ごと・週ごと」の実働時間が自動で入ります。佐藤さんの第2週のように、同じ週に複数の打刻があっても合算されます。
数式の意味
集計表のセルに入れているのは、次の数式です。
=SUMIFS(打刻!実働, 打刻!従業員, $A2, 打刻!週, B$1)
SUMIFS は「複数の条件をすべて満たす行だけ合計する」関数です。引数は次の順番で、最初に合計したい列、続けて「条件の列」と「条件値」をペアで並べます。
- 合計範囲(打刻!実働)… 実際に足す列。ここでは「実働時間」
- 条件範囲1 と 条件1(打刻!従業員, $A2)… 「従業員」列が、表頭の名前(A2)と一致する行
- 条件範囲2 と 条件2(打刻!週, B$1)… かつ「週」列が、見出しの週(B1)と一致する行
つまり「従業員が佐藤、かつ週が第1週、の行の実働時間だけを合計する」という指示です。条件はカンマ区切りで3つ4つと増やせます。
つまずきやすいポイント①:SUMIFと引数の順番が逆
SUMIF は合計範囲を最後に書きますが、SUMIFS は合計範囲を最初に書きます。SUMIF に慣れているほど間違えやすいところです。「S が付いたら合計範囲は先頭」と覚えておくと迷いません。
つまずきやすいポイント②:$の付け方(複合参照)
集計表は縦(従業員)にも横(週)にもコピーします。きれいに広げるコツは $ の付け方です。
- 明細の範囲(打刻!実働・従業員・週)は
$で全固定します - 行見出しの従業員は
$A2(列だけ固定) - 列見出しの週は
B$1(行だけ固定)
こうしておくと、1つの数式を集計表全体にコピーしても、各セルが「自分の行の従業員 × 自分の列の週」を正しく参照します。
よくあるエラーと対処
- 合計が 0 になる … 従業員名や週ラベルの表記ゆれ(全角半角・空白)が原因のことが多いです。明細と集計表の見出しが完全一致しているか確認します。
- 「数式が壊れています」と出る … 合計範囲と条件範囲の行数(高さ)が違うとエラーになります。すべて同じ範囲(同じ行数)にそろえます。
- 残業分が抜ける … 残業を別の表に分けていると合算されません。打刻明細を1つにまとめれば、同じ週の複数行はSUMIFSが自動で合算します。
まとめ
SUMIFS を一度組んでおけば、勤怠の集計は「打刻明細を貼り付けるだけ」で従業員×期間の表が埋まり、残業の合算も自動です。私たちが実際にお手伝いしたケースでは、毎月半日かけていた勤怠集計が10分程度まで短縮できた例もあります。
「打刻データの形がバラバラで集計しづらい」「関数の先に、給与計算まで含めてマクロで自動化したい」という場合は、ExcelMate のチャット相談でそのまま聞いていただけます。

