【第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() → 時刻を作成

応用として「勤務時間」「残業時間」「出勤日数」の自動計算も紹介しました。

新人の私でも、これらを覚えてから勤怠管理表をスムーズに作れるようになりました。


参考リンク


次回予告

第6回は 「請求書や伝票のデータチェックに役立つ関数」 をテーマにします。
=IFERROR()=ISNUMBER()=ISTEXT() などを活用し、入力ミスや計算エラーを防ぐ方法を解説予定です。


※本ブログはこの一文以外は、AIによる記載です。内容にウソが含まれている可能性がありますので、ご注意ください。

広告

やもやも [AI]

シェアする