【第5回】新人経理が学んだ!Excelで勤怠管理に役立つ日付・時間関数【HowTo】[AI]
このブログは「経理の基本で使用するExcel関数シリーズ」です
第1回:Excelの基本操作と画面構成
第2回:基本関数入門 — SUM・AVERAGE・COUNTなど
第3回:条件付き関数の使い方 — IF・SUMIF・COUNTIF
第4回:検索・参照関数 — VLOOKUP・INDEX/MATCH
第5回:データの可視化 — グラフ作成と書式設定
第6回:テーブル・フィルター・並べ替えでデータ管理
第7回:ピボットテーブルで集計・分析する
第8回:データ分析基礎 — 統計関数・データ検証
第9回:マクロ・自動化入門 — VBAまたはOfficeスクリプト
第10回:応用テクニックまとめと実践サンプル
こんにちは。経理事務1年目の新人です。
これまで数値集計や文字列加工を学んできましたが、今回は 勤怠管理 に欠かせない「日付・時間の関数」を紹介します。
私が勤怠表を扱い始めて最初に困ったのは…
- 「出勤日数をどうやって数えるの?」
- 「遅刻や残業時間を計算できない」
- 「締め日(例:毎月25日)ごとに集計するのが大変」
という点でした。
手入力ではミスが多く、時間もかかってしまいます。
そこで、Excelの日付・時間関数を活用して効率化した体験を、HowTo形式でまとめました。
TODAY関数 ― 今日の日付を自動表示
書式
=TODAY()
使い方
常に今日の日付をセルに表示します。
=TODAY()
👉 勤怠表のタイトル部分に「=TODAY()」を入れておくと、開いた日の日付が自動表示されます。
NOW関数 ― 現在の日付と時刻
書式
=NOW()
使い方
現在の「日付と時刻」を表示します。
=NOW()
👉 打刻の代用や、勤怠管理表に「入力時刻」を残したいときに便利。
YEAR・MONTH・DAY関数 ― 年・月・日を分解
書式
=YEAR(日付)
=MONTH(日付)
=DAY(日付)
使い方
セルA2に「2025/9/23」がある場合:
=YEAR(A2) → 2025
=MONTH(A2) → 9
=DAY(A2) → 23
👉 勤怠管理で「月ごとに集計」「日ごとに条件分岐」をするときに役立ちます。
WEEKDAY関数 ― 曜日を数値で取得
書式
=WEEKDAY(日付, 種類)
- 種類を省略 → 日曜=1、月曜=2 … 土曜=7
- 種類=2 → 月曜=1、火曜=2 … 日曜=7
実務での例
出勤簿のA列に日付を入力して、B列に曜日を表示:
=CHOOSE(WEEKDAY(A2,2),"月","火","水","木","金","土","日")
👉 曜日を日本語で表示できます。
NETWORKDAYS関数 ― 営業日数を自動計算
書式
=NETWORKDAYS(開始日, 終了日, [祝日])
使い方
2025年9月の営業日数を求める(祝日はセルD2:D10に入力済み):
=NETWORKDAYS("2025/9/1","2025/9/30",D2:D10)
👉 自動で土日を除外し、さらに指定した祝日も除外して「営業日数」を計算できます。
DATEDIF関数 ― 2つの日付の差を求める
書式
=DATEDIF(開始日, 終了日, 単位)
- “d” → 日数
- “m” → 月数
- “y” → 年数
実務での例
入社日(A2)から今日までの日数を求める:
=DATEDIF(A2,TODAY(),"d")
👉 勤怠管理では「在籍日数の確認」「月をまたいだ勤務期間の計算」に使えます。
TIME関数 ― 時刻を作る
書式
=TIME(時, 分, 秒)
使い方
セルに直接「9:00」と入力しても時刻は扱えますが、数式で作ることも可能です。
=TIME(9,0,0) → 9:00
👉 シフト表や所定労働時間の基準値を固定するのに便利。
応用① 勤務時間の計算(出勤時刻と退勤時刻)
A列:出勤時刻、B列:退勤時刻の場合
=B2-A2
👉 「退勤−出勤」で勤務時間が算出されます。
ただし注意点として、セルの表示形式を「時間(hh:mm)」に設定しましょう。
応用② 残業時間の計算
所定労働時間を「9:00〜18:00(休憩1時間含む)」とした場合、実働時間は8時間です。
勤務時間(C2)が「=B2-A2」で計算済みなら:
=IF(C2>TIME(8,0,0),C2-TIME(8,0,0),0)
👉 8時間を超えた分だけ残業時間として表示されます。
応用③ 出勤日数を自動カウント
出勤簿に「出勤」「休暇」「欠勤」と入力されている場合、
=COUNTIF(B2:B31,"出勤")
👉 その月の出勤日数を自動でカウント可能。
さらに土日祝を除いた「平日の出勤率」を求めるなら:
=COUNTIF(B2:B31,"出勤") / NETWORKDAYS("2025/9/1","2025/9/30",祝日一覧)
実務での気づき(新人の体験談)
私が最初に勤怠管理をExcelでやったとき、
- 「9:00〜18:00で8時間じゃないの?」
- 「退勤−出勤で計算したら、昼休みを引くのを忘れていた」
など、色々失敗しました。
そこで、TIME関数で基準時間を固定し、IF関数で条件分岐を加えることで、ようやく正しく残業時間を出せるようになりました。
また、NETWORKDAYS関数を覚えてからは、営業日数を一瞬で計算できるようになり、締め処理が一気に楽になりました。
まとめ
今回紹介した「勤怠管理に役立つ関数」はこちらです。
=TODAY()
→ 今日の日付=NOW()
→ 現在の日付と時刻=YEAR()
,=MONTH()
,=DAY()
→ 年月日を分解=WEEKDAY()
→ 曜日を数値化=NETWORKDAYS()
→ 営業日数を自動計算=DATEDIF()
→ 日数や月数を計算=TIME()
→ 時刻を作成
応用として「勤務時間」「残業時間」「出勤日数」の自動計算も紹介しました。
新人の私でも、これらを覚えてから勤怠管理表をスムーズに作れるようになりました。
参考リンク
- IF 関数 – Microsoft サポート
- NETWORKDAYS 関数 – Microsoft サポート
- TEXT 関数 – Microsoft サポート
- WORKDAY 関数 – Microsoft サポート
- Excel での勤務時間の計算方法 – Microsoft サポート
- Excel の NETWORKDAYS 関数を使った営業日数の計算 – Excel Tips
- Excel での勤務時間の計算方法 – Excel Tips
次回予告
第6回は 「請求書や伝票のデータチェックに役立つ関数」 をテーマにします。=IFERROR()
や =ISNUMBER()
、=ISTEXT()
などを活用し、入力ミスや計算エラーを防ぐ方法を解説予定です。
※本ブログはこの一文以外は、AIによる記載です。内容にウソが含まれている可能性がありますので、ご注意ください。