← ブログ一覧へ戻る
勤怠管理タイムカード

タイムカードをエクセルで自作する方法|ひな形・入力の工夫・マクロと記録の残し方

公開: 2026年8月10日 · 更新: 2026年8月12日

会社にタイムレコーダーがなく、Excelで勤怠表を自作したい——そんな場面は小規模事業や個人事業主に多くあります。一方で、「会社にタイムカードがないので自分で記録している。労基に出せる?会社の印は必要?」という悩みもよく聞かれます。

この記事では、ひな形の列構成から入力を楽にする工夫マクロでの自動化複数人の管理スプレッドシート・Numbersでの代替自作記録の証拠としての扱い自作か給与ソフトかの判断まで、実務で使える形でまとめます。実働・残業・深夜・丸めなどの計算式は計算式まとめに譲り、ここではシートの作り方と入力の仕組みに集中します。

目次

エクセルでタイムカードを自作する基本(ひな形の作り方)

Excelでタイムカードを自作するときは、まず「何を入力し、何を自動計算するか」を列に落とし込みます。

まず用意する列(日付・出退勤・休憩・実働・区分)

基本的な列構成の例です。

内容 補足
A 日付 2026/8/1 など
B 曜日 関数で自動表示
C 出勤 h:mm で入力
D 退勤 h:mm(日またぎは翌日換算)
E 休憩 時間または時刻
F 実働 計算式で自動算出
G 区分 通常/休日/有給など
H 備考 遅刻・早退・訂正メモ

1行目は見出し行、2行目以降に日ごとのデータを並べます。月の最下行に合計行を置き、実働・残業の月合計を SUM で集計する形が一般的です。

曜日を自動表示する・月ごとに使い回す

日付を入れたら曜日は自動で出すと、入力の手間が減ります。

=TEXT(A2,"aaa")

月が変わったら、前月シートをコピーして日付列だけ上書きする方法が手軽です。シート名を 2026年8月 のようにしておくと、後から探しやすくなります。計算式や入力規則(プルダウン)はそのまま引き継がれるため、毎月ゼロから作り直す必要はありません。

計算式(実働・残業・深夜)は計算記事に沿って入れる

実働の基本は「退勤−出勤−休憩」、日をまたぐ夜勤は MOD を使います。未入力の日を空白にする IF(OR(...),"",...) も入れておくと、後の集計が安定します。

=IF(OR(C2="",D2=""),"",MOD(D2-C2,1)-E2)

残業(8時間超)、深夜(22時〜5時)、15分・30分の丸め、月合計の [h]:mm 表示など、計算式の詳細は計算式まとめを参照してください。自作シートでは、実態は1分単位で残し、丸めは給与計算の段階で行う設計がおすすめです。日々の入力から常に切り捨てる設計は避けてください。

入力を楽にする工夫(プルダウン・印鑑○・自動表示)

列構成が決まったら、入力の手間を減らす工夫を足します。

区分はデータの入力規則でプルダウンにする

区分列(通常/休日/有給/欠勤など)は、セルを選んで「データの入力規則」>「リスト」に設定します。リストの元データは別シートに置き、=区分マスタ のように参照すると、区分の追加・変更が楽になります。

入力したら印鑑○や「済」を自動表示する

紙のタイムカードのように、入力済みの日に印鑑(○)や「済」を出したい場合は、退勤が入ったら自動表示する式が使えます。

=IF(D2="","","○")

図の印鑑画像をセルに紐づけるより、文字や記号で扱うほうがコピー・印刷・共有が簡単です。承認印の代わりに「済」「確認」など、社内で統一した記号を使う方法もあります。

未入力を空白にしてエラーを防ぐ

出勤・退勤のどちらかが空欄だと、Excelが0として計算し、意図しない値(13:00など)が出ることがあります。実働列は未入力チェック付きの式にします。

=IF(OR(C2="",D2=""),"",MOD(D2-C2,1)-E2)

計算列全体を IFERROR で包むと、入力ミス時のエラー表示も抑えられます。

=IF(OR(C2="",D2=""),"",IFERROR(MOD(D2-C2,1)-E2,""))

テンキーで 8458.45 と入れたい場合は変換列を用意できますが、入力規則を h:mm に統一し、8:45 形式で入れるほうが安全です。

マクロ(VBA)で整形・自動化する

人数が増えたり、紙の様式に合わせて行を整えたいときは、VBAマクロが役立ちます。

社員ごと・曜日基準で空白行を挿入する

紙のタイムカードでは、社員ごと・曜日ごとに区切り行を入れる様式があります。Excelでも、「氏名(または社員番号)+曜日」が変わる行の前に空白行を挿入するマクロを書けます。キー列を見て変わり目を判定し、Rows(i).Insert で行を挿入する考え方です。

複数シートを氏名順に並べ替える

1人1シートで管理している場合、シート見出しを五十音順や社員番号順に並べ替えたい場面があります。シート名を配列に取得してソートし、Sheets(名前).Move で順序を変えるマクロが使えます。手動でドラッグするより、定期的な整理が楽になります。

マクロを使うときの注意(バックアップ・.xlsm)

マクロを含むブックは .xlsm 形式で保存します。実行前に必ずバックアップを取ってください。共有フォルダやクラウド上では、マクロ有効ブックのセキュリティ設定や、他の人がマクロを無効にしている場合があるため、運用ルールを決めておくことが大切です。

複数人・複数シートの勤怠を管理する

人数が増えると、シート設計の見直しが必要になります。

50人分を並べ替える・見出しを整理する

50人分を1人1シートで持つ場合、シートタブの並べ替えは手動でも可能ですが、人数が多いとVBAでの一括並べ替えが現実的です。シート名の先頭に社員番号を付ける(例:001_山田)と、並べ替えや検索がしやすくなります。

1人1シートと1シート集約のどちらがよいか

方式 メリット デメリット
1人1シート 個人ごとに見やすい、印刷が楽 人数が多いとファイルが重くなる
1シート集約 全体を一覧で見られる、ピボット集計が楽 行数が膨大になる、フィルター必須

数名〜十数名なら1人1シートでも問題ありません。30〜50人を超えると、1シートに全員のデータを並べ、氏名列・日付列・実働列を持ち、フィルターやピボットテーブルで集計する構成が扱いやすくなることが多いです。

スプレッドシート・Numbersで自作する

Excel以外でも、同じ考え方で自作できます。

Googleスプレッドシートで作る(共有・同時編集)

Googleスプレッドシートは、TEXTIFFLOORMOD など、Excelとほぼ同じ関数が使えます。複数人が同時に入力・閲覧できるため、小規模チームでの勤怠共有に向いています。入力規則(プルダウン)や条件付き書式も設定できます。ファイルをクラウドで共有する場合は、アクセス権限(誰が編集できるか)を適切に設定してください。

Numbers(Mac)で作るときの注意

Numbers(Mac)でも時刻計算は可能ですが、関数名や書式設定が一部Excelと異なります。凝った自動化やマクロ相当の処理をしたい場合は、ExcelまたはGoogleスプレッドシートのほうが情報も多く、運用が無難です。Numbersで作ったファイルをExcelに渡す際は、書式や関数の互換性を確認してください。

会社にタイムカードがないとき自作記録を残すコツ

「会社にタイムカードがないので、自分でExcelや手書きで記録している。労基署に提出できる?会社の印は必要?」——この問いは、自作の動機として重要です。

自作の勤怠記録も証拠になり得る(会社の印は不要)

会社にタイムカードがなくても、労働者が自分で継続的に記録した勤怠(自作の日報・出退勤メモ)も、労働時間の証拠になり得ます。会社の承認印がないから無効、ということはありません。客観性・継続性・他資料(シフト表、業務メール、チャット)との整合が揃うほど、証拠としての価値が高まります。

未払い賃金を請求する場合、賃金は全額払われるべきものです(労働基準法第24条)。請求権の時効は原則3年です(同法第115条)。自作記録は、その請求の根拠資料のひとつになります。

あとから直しにくい形で、その都度つける

自作記録で重要なのは、事実を、その都度、あとから直しにくい形で残すことです。月末にまとめて後から作ると、証拠力が下がります。毎日出勤・退勤・休憩・業務内容を淡々と記録し、訂正が必要なときは備考欄に理由を書き残します。

Excelで作る場合も、日付ごとにその日のうちに入力する習慣をつけるほうが、後からまとめて入力するより信頼性が高くなります。

本来は会社に把握義務がある

本来、使用者には始業・終業時刻を客観的に把握・記録する義務があります(労働時間の適正把握のためのガイドライン、平成29年1月20日 基発0120第3号)。会社にタイムカードがない状況自体が問題であり、賃金台帳・出勤簿の調製・保存義務も会社側にあります(労働基準法第108条・第109条)。労働者が自作で記録するのは、会社が義務を果たしていない状況での現実的な対処であり、記録の残し方を知ることは労働者にとっても重要です。

自作・無料テンプレ・給与ソフトの使い分け

自作で足りるケースと、ソフトや外注を検討すべきケースを整理します。

自作/テンプレで足りるケース

次のような場合は、Excel自作や無料テンプレで十分対応できることが多いです。

  • 従業員が数名〜十数名で、就業規則が比較的シンプル
  • 残業・深夜の計算ルールが明確で、月1回の集計で足りる
  • 社保・年末調整までExcelで別管理している、または社労士が別途対応している

無料テンプレを使う場合も、列構成と計算式が自社の就業規則に合っているか必ず確認してください。テンプレの丸め設定が会社有利に偏っている場合は、式を修正する必要があります。

給与ソフトや外注(社労士)を検討する目安

次のような場合は、給与計算ソフトへの切り替えや社労士への相談を検討する価値があります。

  • 従業員が30〜50人以上で、複数拠点・複数雇用形態がある
  • 社保・年末調整まで一体で運用したい
  • 法改正や就業規則の変更に追随する体制が社内にない
  • 複雑な就業規則(変形労働・フレックス・裁量労働など)の適法性を確認したい

Excelの実装と労務の適法性は別問題です。就業規則や丸めの合法性については社会保険労務士に相談し、シートの設計・マクロ実装は別途担当者や外注に依頼する、という分担も現実的です。

まとめ:自作は「様式→入力補助→自動化」の順、記録はその都度残す

  • ひな形:日付・曜日・出退勤・休憩・実働・区分・備考の列を用意。月ごとにシートをコピーして使い回す。
  • 計算式:実働・残業・深夜・丸めは計算式まとめを参照。実態は1分で残し、丸めは給与計算段階で。
  • 入力補助:曜日自動表示、区分プルダウン、印鑑○の自動表示、未入力を空白にする IF
  • マクロ:行挿入・シート並べ替えはVBAで自動化可能。実行前にバックアップ、.xlsm で保存。
  • 複数人:数名なら1人1シート、人数が多いなら1シート集約+フィルター/ピボット。
  • スプレッドシート:Googleは共有に強い。Numbersは互換性に注意。
  • 自作記録:会社の印は不要。継続的・その都度・改変しにくい形で残すと証拠力が高まる。
  • 使い分け:小規模・単純なら自作/テンプレ、大規模・複雑なら給与ソフトや社労士を検討。

まずは1人分・1か月分のシートを作り、計算が正しく動くことを確認してから、入力補助とマクロを足していく流れが、失敗が少ないです。

このテーマのまとめ