<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>勤務表 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%E5%8B%A4%E5%8B%99%E8%A1%A8/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Fri, 12 Jun 2026 22:00:31 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>勤務表 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートで勤怠管理表を作る方法｜自動計算テンプレート付き</title>
		<link>https://mashukabu.com/spreadsheet-attendance-management/</link>
					<comments>https://mashukabu.com/spreadsheet-attendance-management/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 22:00:31 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[NETWORKDAYS関数]]></category>
		<category><![CDATA[TEXT関数]]></category>
		<category><![CDATA[テンプレート]]></category>
		<category><![CDATA[勤務表]]></category>
		<category><![CDATA[勤怠管理]]></category>
		<category><![CDATA[業務効率化]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=8013</guid>

					<description><![CDATA[Googleスプレッドシートで勤怠管理表をゼロから作る手順を解説します。出退勤時刻・労働時間・残業・有休を自動計算し、月またぎや曜日表示も自動化。MOD・TEXT・NETWORKDAYS関数の組み合わせとコピー可能な完成テンプレートで、4月の新年度から使える勤務表が今日完成しますよ。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">毎月の勤怠管理表を、Googleスプレッドシートで自動化したいと考えていませんか。出退勤時刻を入れるだけで労働時間と残業時間がそろう仕組みは、関数を組み合わせれば自分でも作れますよ。月をまたいでも壊れない構造にすることも難しくありません。</p>



<p class="wp-block-paragraph">専用ツールを導入する予算がない事務・総務担当者にとって、Googleスプレッドシートは強い味方になります。クラウドで共有できて、無料で使えて、関数の組み合わせ次第ではSaaSに匹敵する自動化も可能ですよね。</p>



<p class="wp-block-paragraph">この記事では、Googleスプレッドシートで勤怠管理表をゼロから作る手順を7ステップで解説します。MOD・TEXT・NETWORKDAYS・TIME関数を実務文脈で組み合わせ、24時間超の合計表示・深夜跨ぎ計算・月またぎ自動更新・印刷レイアウトまで網羅しました。記事末尾にはコピーして使えるテンプレート構造も載せていますので、4月の新年度準備にぜひお役立てください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートで勤怠管理表を作るメリット</a></li><li><a href="#toc2" tabindex="0">完成イメージと用意するもの</a></li><li><a href="#toc3" tabindex="0">【手順1】基本レイアウトを作る（日付・曜日の自動表示）</a><ol><li><a href="#toc4" tabindex="0">日付の自動表示数式</a></li><li><a href="#toc5" tabindex="0">曜日の自動表示数式</a></li><li><a href="#toc6" tabindex="0">土日の自動色付け（条件付き書式）</a></li></ol></li><li><a href="#toc7" tabindex="0">【手順2】出退勤時刻の入力欄と労働時間の自動計算</a><ol><li><a href="#toc8" tabindex="0">労働時間の数式（深夜跨ぎ対応）</a></li></ol></li><li><a href="#toc9" tabindex="0">【手順3】残業時間と所定外労働の自動振り分け</a><ol><li><a href="#toc10" tabindex="0">深夜残業（22時以降）を分けたい場合</a></li></ol></li><li><a href="#toc11" tabindex="0">【手順4】有休・欠勤・出社区分のプルダウン化</a><ol><li><a href="#toc12" tabindex="0">有休・欠勤の自動カウント</a></li></ol></li><li><a href="#toc13" tabindex="0">【手順5】月合計と稼働日数の集計（24時間超対応）</a><ol><li><a href="#toc14" tabindex="0">24時間超を正しく表示する2つの方法</a></li><li><a href="#toc15" tabindex="0">月の稼働日数を NETWORKDAYS で取得</a></li></ol></li><li><a href="#toc16" tabindex="0">【手順6】月またぎでも壊れない自動更新の仕組み</a><ol><li><a href="#toc17" tabindex="0">シート複製の手順</a></li><li><a href="#toc18" tabindex="0">過去月のシートと連携させたい場合</a></li></ol></li><li><a href="#toc19" tabindex="0">【手順7】印刷レイアウトとシート保護の設定</a><ol><li><a href="#toc20" tabindex="0">1ページに収める手順</a></li><li><a href="#toc21" tabindex="0">シート保護で計算列を守る</a></li></ol></li><li><a href="#toc22" tabindex="0">コピーして使えるテンプレート</a><ol><li><a href="#toc23" tabindex="0">セル別の数式リスト</a></li><li><a href="#toc24" tabindex="0">条件付き書式の設定</a></li><li><a href="#toc25" tabindex="0">データ入力規則</a></li></ol></li><li><a href="#toc26" tabindex="0">よくあるつまずきと対処法</a><ol><li><a href="#toc27" tabindex="0">月合計が 0:00 になる</a></li><li><a href="#toc28" tabindex="0">深夜跨ぎの労働時間がマイナスになる</a></li><li><a href="#toc29" tabindex="0">来月分のシートを作るのが面倒</a></li><li><a href="#toc30" tabindex="0">入力欄に時刻以外の値が入ってしまう</a></li></ol></li><li><a href="#toc31" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートで勤怠管理表を作るメリット</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートで勤怠管理表を作る最大のメリットは、自分の運用に合わせて細かくカスタマイズできることです。市販の勤怠管理SaaSは便利な反面、月額費用がかかり、機能が固定化されています。</p>



<p class="wp-block-paragraph">スプレッドシートなら、関数を組み合わせるだけで「うちの会社の所定労働時間に合わせた残業計算」「有休と特別休暇を分けた集計」など、自社ルールに合った自動化が可能です。さらに、Googleアカウントさえあれば追加コストはゼロですよね。</p>



<p class="wp-block-paragraph">具体的には次の3つのメリットがあります。</p>



<ul class="wp-block-list"><li><strong>無料で運用できる</strong>: Googleアカウントだけで始められる</li><li><strong>クラウド共有が前提</strong>: 上司と部下で同じシートを開いて確認できる</li><li><strong>関数で自動化できる</strong>: 出退勤を入れるだけで労働時間・残業・月合計が自動算出</li></ul>



<p class="wp-block-paragraph">事務・総務担当者にとって、Googleスプレッドシートは「コストをかけずに業務を仕組み化できるツール」です。新年度のタイミングで仕組みを作り直したい方には、特におすすめですよ。</p>



<h2 class="wp-block-heading"><span id="toc2">完成イメージと用意するもの</span></h2>



<p class="wp-block-paragraph">これから作る勤怠管理表は、月単位で1シートを使う構成です。B1セルに「対象月（例: 2026/04/01）」を入れるだけで、A列に1日〜末日の日付と曜日が自動展開されます。</p>



<p class="wp-block-paragraph">各行で出退勤時刻と休憩時間を入力すれば、労働時間・残業時間が自動計算されます。月合計と稼働日数もヘッダー部にまとまる仕組みですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>列</th><th>内容</th><th>入力方法</th></tr></thead><tbody><tr><td>A</td><td>日付</td><td>自動表示</td></tr><tr><td>B</td><td>曜日</td><td>自動表示</td></tr><tr><td>C</td><td>出勤時刻</td><td>手入力</td></tr><tr><td>D</td><td>退勤時刻</td><td>手入力</td></tr><tr><td>E</td><td>休憩</td><td>手入力（デフォルト 1:00）</td></tr><tr><td>F</td><td>区分</td><td>プルダウン選択</td></tr><tr><td>G</td><td>備考</td><td>手入力（任意）</td></tr><tr><td>H</td><td>労働時間</td><td>自動計算</td></tr><tr><td>I</td><td>残業時間</td><td>自動計算</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">用意するものは次のとおりです。</p>



<ul class="wp-block-list"><li>Googleアカウント（無料）</li><li>ブラウザでアクセスできる環境</li><li>自社の所定労働時間（例: 1日8時間）</li></ul>



<p class="wp-block-paragraph">スプレッドシートの基本操作に不安がある方は、まず<a href="https://mashukabu.com/google-spreadsheet-beginner-guide/">Googleスプレッドシートの使い方入門</a>をご覧ください。関数の入れ方やセル参照の仕組みをおさらいしておくと、この後の手順がスムーズに進みますよ。</p>



<h2 class="wp-block-heading"><span id="toc3">【手順1】基本レイアウトを作る（日付・曜日の自動表示）</span></h2>



<p class="wp-block-paragraph">まず新しいスプレッドシートを開き、ヘッダー行とデータ部のレイアウトを作ります。シートの先頭に「対象月」を入れる仕組みにしておきましょう。月またぎでもこの1セルを変えるだけで日付列が更新できる構造になりますよ。</p>



<p class="wp-block-paragraph">A1〜I1に列見出し（日付／曜日／出勤／退勤／休憩／区分／備考／労働時間／残業）を入れます。続いてB1セル（仮置き）に対象月を入力してください。今月分なら <code>2026/04/01</code> のように月初の日付を入れます。</p>



<h3 class="wp-block-heading"><span id="toc4">日付の自動表示数式</span></h3>



<p class="wp-block-paragraph">A列の日付は、ROW関数（行番号を返す関数）と DATE 関数（年・月・日からシリアル値を作る関数）を組み合わせて自動展開します。A2セルに次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IFERROR(DATE(YEAR($B$1),MONTH($B$1),ROW()-1),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph"><code>ROW()-1</code> は「現在の行番号から1引いた値」を返すので、A2では1日、A3では2日…とずれていきます。31日に満たない月（2月など）は IFERROR（エラー時に代替値を返す関数）で空白に逃がす設計です。A33まで一括で数式をコピーしておけば、どの月でも壊れませんよ。</p>



<h3 class="wp-block-heading"><span id="toc5">曜日の自動表示数式</span></h3>



<p class="wp-block-paragraph">B列の曜日は TEXT 関数（数値を指定書式の文字列に変換する関数）で表示します。B2に次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IFERROR(TEXT(A2,&quot;ddd&quot;),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">書式 <code>ddd</code> は「火」のような短縮表記、<code>dddd</code> は「火曜日」のフルネームです。記事のレイアウト都合で短く出したい場合は <code>ddd</code> がおすすめですよ。</p>



<h3 class="wp-block-heading"><span id="toc6">土日の自動色付け（条件付き書式）</span></h3>



<p class="wp-block-paragraph">土曜と日曜は、条件付き書式（特定の条件で自動的に色を変える機能）で背景色を変えると視認性が上がります。</p>



<p class="wp-block-paragraph">A2:I33を選択して「表示形式 → 条件付き書式 → カスタム数式」を選び、次の式を設定してください。</p>



<pre class="wp-block-code"><code>=WEEKDAY($A2)=7</code></pre>



<p class="wp-block-paragraph">WEEKDAY 関数（日付から曜日番号を返す関数）は日曜=1、土曜=7を返します。土曜は薄い水色、日曜は薄いピンクなど、控えめな色を選ぶと印刷したときも見やすいですよ。詳しい操作は<a href="https://mashukabu.com/spreadsheet-conditional-formatting/">スプレッドシートの条件付き書式の使い方</a>も参考にしてください。</p>



<h2 class="wp-block-heading"><span id="toc7">【手順2】出退勤時刻の入力欄と労働時間の自動計算</span></h2>



<p class="wp-block-paragraph">C列(出勤)とD列(退勤)は手入力欄です。<code>8:30</code> のように半角コロン区切りで入力すれば、スプレッドシートが自動的に時刻として認識します。</p>



<p class="wp-block-paragraph">E列(休憩)にはデフォルトで <code>1:00</code> を入れておきます。固定値でも数式でもどちらでも構いません。</p>



<h3 class="wp-block-heading"><span id="toc8">労働時間の数式（深夜跨ぎ対応）</span></h3>



<p class="wp-block-paragraph">労働時間（H列）は「退勤時刻 − 出勤時刻 − 休憩」で計算できます。ただし、22:00 出勤・翌6:00 退勤のような深夜跨ぎだと、単純な引き算では負の値になってしまいますよね。</p>



<p class="wp-block-paragraph">そこで IF 関数で日付跨ぎを判定し、跨いでいる場合は <code>+1</code>（=1日ぶんのシリアル値）で補正します。H2セルに次の数式を入れてください。</p>



<pre class="wp-block-code"><code>=IFERROR(IF(F2=&quot;有休&quot;,&quot;&quot;,IF(D2-C2&gt;=0,D2-C2,D2-C2+1)-E2),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">長く見えますが、構造は次の3階層です。</p>



<ol class="wp-block-list"><li>F列が「有休」なら空白</li><li>退勤≥出勤なら <code>D2-C2</code>、そうでなければ <code>D2-C2+1</code>（深夜跨ぎ補正）</li><li>上記から休憩時間 E2 を引く</li></ol>



<p class="wp-block-paragraph">MOD 関数（割り算の余りを返す関数）を使って <code>=MOD(D2-C2,1)-E2</code> と書く流派もあります。短くてエレガントな書き方です。ただし IF を使った書き方のほうが「何を判定しているか」が読みやすいので、まずはこちらをおすすめしますよ。MOD関数自体については<a href="https://mashukabu.com/spreadsheet-mod-function/">スプレッドシートのMOD関数の使い方｜余り</a>で詳しく解説していますので、興味があればあわせて読んでみてください。</p>



<h2 class="wp-block-heading"><span id="toc9">【手順3】残業時間と所定外労働の自動振り分け</span></h2>



<p class="wp-block-paragraph">労働時間が出たら、所定労働時間（例: 8時間）を超えた分を残業として自動で切り出します。ここで活躍するのが TIME 関数（時・分・秒からシリアル値を作る関数）です。</p>



<p class="wp-block-paragraph">I2セル（残業時間）に次の数式を入れます。</p>



<pre class="wp-block-code"><code>=IFERROR(MAX(0, H2-TIME(8,0,0)),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph"><code>TIME(8,0,0)</code> は「8時間ぶんのシリアル値」を返します。<code>H2-TIME(8,0,0)</code> で「8時間からの超過分」を計算する仕組みです。MAX 関数（最大値を返す関数）で 0 と比較することで「マイナスにならない」保護をかけているわけですね。</p>



<p class="wp-block-paragraph">所定労働時間が7時間30分の会社なら <code>TIME(7,30,0)</code> に変えるだけ。フレックスや変形労働で月単位の所定が変わる場合も、TIME関数の引数を会社ルールに合わせて調整できます。</p>



<h3 class="wp-block-heading"><span id="toc10">深夜残業（22時以降）を分けたい場合</span></h3>



<p class="wp-block-paragraph">22時以降の深夜残業を別カウントしたい場合は、もう一列追加して次のように書きます。</p>



<pre class="wp-block-code"><code>=IFERROR(MAX(0, MIN(D2,TIME(6,0,0)+1)-TIME(22,0,0)),&quot;&quot;)</code></pre>



<p class="wp-block-paragraph">22時から翌6時までの範囲を切り出すロジックです。この記事のメインテーマからは外れるので、ベース版では省略して構いません。まずは「残業をひとくくりで集計する」シンプル版から始めて、運用しながら必要な列を増やしていく流れがおすすめですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">【手順4】有休・欠勤・出社区分のプルダウン化</span></h2>



<p class="wp-block-paragraph">F列の「区分」は、出社／在宅／有休／欠勤の4択のプルダウンにします。手で打ち込むより選択式のほうが早く、表記揺れ（「有休」「ゆうきゅう」「YK」など）も防げますよね。</p>



<p class="wp-block-paragraph">F2:F33を選択し、「データ → データの入力規則 → 条件: プルダウン」を選んでください。選択肢に次のように4つ追加します。</p>



<ul class="wp-block-list"><li>出社</li><li>在宅</li><li>有休</li><li>欠勤</li></ul>



<p class="wp-block-paragraph">色分けまでしておくと、月の傾向が一目でわかるようになります。プルダウンの作り方や色付けの細かい手順は<a href="https://mashukabu.com/spreadsheet-pulldown/">スプレッドシートのプルダウン作り方</a>で詳しく解説していますので、初めての方はそちらをご覧くださいね。</p>



<h3 class="wp-block-heading"><span id="toc12">有休・欠勤の自動カウント</span></h3>



<p class="wp-block-paragraph">ヘッダー部に「月の有休日数」「欠勤日数」を表示しておくと、月末の集計が楽になります。COUNTIF関数（条件に一致するセルを数える関数）でカウントできますよ。</p>



<pre class="wp-block-code"><code>=COUNTIF(F2:F33,&quot;有休&quot;)
=COUNTIF(F2:F33,&quot;欠勤&quot;)</code></pre>



<p class="wp-block-paragraph">これでヘッダーの該当セルが、その月の有休・欠勤日数を自動表示してくれます。</p>



<h2 class="wp-block-heading"><span id="toc13">【手順5】月合計と稼働日数の集計（24時間超対応）</span></h2>



<p class="wp-block-paragraph">月合計はSUM関数（合計を返す関数）で簡単に出せます。ところがここに、勤怠管理ならではの落とし穴があるんです。</p>



<p class="wp-block-paragraph">労働時間を単純に <code>=SUM(H2:H33)</code> で合計すると、表示が <code>0:00</code> に戻ってしまうことがあります。原因は、スプレッドシートが時刻を「シリアル値」として扱う仕組みにあります。24時間を超えると次の日として繰り上げてしまうため、月の労働時間（当然24時間超え）の表示でつまずきやすいんですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">24時間超を正しく表示する2つの方法</span></h3>



<h4 class="wp-block-heading">方法A: TEXT 関数で書式指定</h4>



<p class="wp-block-paragraph">数式の中で書式を指定する方法です。D1セルに次の数式を入れます。</p>



<pre class="wp-block-code"><code>=TEXT(SUM(H2:H33),&quot;[h]:mm&quot;)</code></pre>



<p class="wp-block-paragraph"><code>[h]</code> の角括弧は「24時間で繰り上げず累計時間として表示する」スプレッドシート独特の書式記号です。これで月合計が <code>162:30</code> のように24時間超でも正しく表示されますよ。</p>



<h4 class="wp-block-heading">方法B: セルの書式設定で <code>[h]:mm</code> を指定</h4>



<p class="wp-block-paragraph">数式は <code>=SUM(H2:H33)</code> のままにして、セル側の表示形式を <code>[h]:mm</code> にする方法もあります。「表示形式 → 数字 → カスタム数値形式」で <code>[h]:mm</code> を入力すれば設定できます。</p>



<p class="wp-block-paragraph">数式が短くなる利点はありますが、シートを別の場所にコピーすると書式が崩れることがあります。安定運用なら方法Aの TEXT 関数版が扱いやすいですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">月の稼働日数を NETWORKDAYS で取得</span></h3>



<p class="wp-block-paragraph">ヘッダーに「月の稼働日数（土日と祝日を除いた営業日）」を表示するなら、NETWORKDAYS 関数（土日と祝日を除く営業日数を返す関数）を使います。</p>



<pre class="wp-block-code"><code>=NETWORKDAYS(B1, EOMONTH(B1,0), 祝日リスト範囲)</code></pre>



<p class="wp-block-paragraph">EOMONTH 関数（月末日を返す関数）で月末を取得します。第3引数に祝日リストの範囲（別シートの祝日マスタなど）を渡せば、その月の所定労働日数が自動表示されますよ。祝日リストはシート内の隅に列を作るか、別シート「祝日マスタ」を作って参照するのがおすすめです。</p>



<h2 class="wp-block-heading"><span id="toc16">【手順6】月またぎでも壊れない自動更新の仕組み</span></h2>



<p class="wp-block-paragraph">ここまで作った数式は、すべて B1 セル（対象月）を参照する形になっています。つまり来月分のシートを作りたいときは、シートを複製して B1 を <code>2026/05/01</code> に書き換えるだけでOKです。</p>



<p class="wp-block-paragraph">A列の日付、B列の曜日、月合計、稼働日数、有休カウントまで、すべて B1 連動で自動更新されますよ。手作業で日付を打ち直す手間がゼロになります。</p>



<h3 class="wp-block-heading"><span id="toc17">シート複製の手順</span></h3>



<ol class="wp-block-list"><li>シートタブを右クリック → 「複製」</li><li>シート名を「2026年5月」など対象月に変更</li><li>B1 セルを <code>2026/05/01</code> に書き換える</li></ol>



<p class="wp-block-paragraph">これだけで来月の勤怠表が完成します。出退勤入力欄（C列・D列・E列）と区分（F列）はリセットして、新しい月の入力を始めてください。</p>



<h3 class="wp-block-heading"><span id="toc18">過去月のシートと連携させたい場合</span></h3>



<p class="wp-block-paragraph">複数月のシートをまたいで集計したい場合もあります。年間サマリシートを別に作り、QUERY 関数で各月シートのヘッダーから合計値だけを引っ張る運用も可能ですよ。週次集計を扱いたい場合は<a href="https://mashukabu.com/spreadsheet-isoweeknum-function/">スプレッドシートのISOWEEKNUM関数の使い方</a>も参考になります。</p>



<h2 class="wp-block-heading"><span id="toc19">【手順7】印刷レイアウトとシート保護の設定</span></h2>



<p class="wp-block-paragraph">社内提出や記録保管のために印刷する場合、A4縦1ページに収める設定をしておくと、月初に提出する流れが楽になります。「ファイル → 印刷」で印刷プレビューを開いてください。</p>



<h3 class="wp-block-heading"><span id="toc20">1ページに収める手順</span></h3>



<ul class="wp-block-list"><li><strong>用紙サイズ</strong>: A4</li><li><strong>方向</strong>: 縦</li><li><strong>スケール</strong>: 「幅に合わせる」または「カスタム」で1ページ収まるように調整</li><li><strong>余白</strong>: 「狭い」を選ぶと収まりが良くなる</li><li><strong>ヘッダーとフッター</strong>: 「ページ番号」「シート名」を有効化</li></ul>



<p class="wp-block-paragraph">「カスタムページ番号」セクションで「行と列を繰り返す」を有効にしましょう。見出し行（1行目）を指定すると、複数ページにまたがった場合も各ページに見出し行が表示されますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">シート保護で計算列を守る</span></h3>



<p class="wp-block-paragraph">入力欄以外を編集できないようにロックすると、誤って数式を消してしまう事故を防げます。「データ → シートと範囲を保護」で次のように設定してください。</p>



<ol class="wp-block-list"><li>範囲を「A:B, G:I」（自動表示・自動計算の列）に指定</li><li>「権限を設定」で「自分のみ」を選択</li><li>C・D・E・F列（手入力欄）はロックしない</li></ol>



<p class="wp-block-paragraph">これで他のメンバーと共有しても、計算式が壊れる心配がなくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc22">コピーして使えるテンプレート</span></h2>



<p class="wp-block-paragraph">ここまでの手順で作った勤怠管理表のレイアウトを、すぐに使える形でまとめます。新しいシートを開いて、次のとおりに入力してみてください。</p>



<h3 class="wp-block-heading"><span id="toc23">セル別の数式リスト</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>数式</th><th>役割</th></tr></thead><tbody><tr><td>B1</td><td><code>2026/04/01</code></td><td>対象月（手入力）</td></tr><tr><td>D1</td><td><code>=TEXT(SUM(H2:H33),"[h]:mm")</code></td><td>月合計（労働時間）</td></tr><tr><td>F1</td><td><code>=TEXT(SUM(I2:I33),"[h]:mm")</code></td><td>月合計（残業時間）</td></tr><tr><td>H1</td><td><code>=COUNTIF(F2:F33,"有休")</code></td><td>有休日数</td></tr><tr><td>J1</td><td><code>=NETWORKDAYS(B1,EOMONTH(B1,0))</code></td><td>稼働日数</td></tr><tr><td>A2</td><td><code>=IFERROR(DATE(YEAR($B$1),MONTH($B$1),ROW()-1),"")</code></td><td>日付自動表示</td></tr><tr><td>B2</td><td><code>=IFERROR(TEXT(A2,"ddd"),"")</code></td><td>曜日自動表示</td></tr><tr><td>H2</td><td><code>=IFERROR(IF(F2="有休","",IF(D2-C2>=0,D2-C2,D2-C2+1)-E2),"")</code></td><td>労働時間</td></tr><tr><td>I2</td><td><code>=IFERROR(MAX(0,H2-TIME(8,0,0)),"")</code></td><td>残業時間</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">A2・B2・H2・I2 の4つの数式は、A33・B33・H33・I33までコピーしておけばOKです。</p>



<h3 class="wp-block-heading"><span id="toc24">条件付き書式の設定</span></h3>



<ul class="wp-block-list"><li>範囲: <code>A2:I33</code></li><li>数式: <code>=WEEKDAY($A2)=7</code>（土曜・薄水色）</li><li>数式: <code>=WEEKDAY($A2)=1</code>（日曜・薄ピンク）</li></ul>



<h3 class="wp-block-heading"><span id="toc25">データ入力規則</span></h3>



<ul class="wp-block-list"><li>範囲: <code>F2:F33</code></li><li>条件: プルダウン</li><li>値: <code>出社, 在宅, 有休, 欠勤</code></li></ul>



<p class="wp-block-paragraph">ここまで設定すれば、対象月を変えるだけで毎月使える勤怠管理表の完成です。自社用に列を増やしたり、所定労働時間を変えたりしても応用が効く構造になっていますよ。</p>



<h2 class="wp-block-heading"><span id="toc26">よくあるつまずきと対処法</span></h2>



<p class="wp-block-paragraph">最後に、勤怠管理表を作っていてつまずきやすいポイントを4つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc27">月合計が 0:00 になる</span></h3>



<p class="wp-block-paragraph">シリアル値が24時間で繰り上がる仕様が原因です。TEXT 関数で <code>"[h]:mm"</code> 書式を指定するか、セルの表示形式を <code>[h]:mm</code> に変えてください。「【手順5】月合計と稼働日数の集計」で詳しく解説しています。</p>



<h3 class="wp-block-heading"><span id="toc28">深夜跨ぎの労働時間がマイナスになる</span></h3>



<p class="wp-block-paragraph">退勤時刻が出勤時刻より小さい場合の補正が必要です。IF と <code>+1</code>（=1日ぶんのシリアル値）を組み合わせる方法か、<code>MOD(D2-C2,1)</code> で正のシリアル値に変換する方法を使います。「【手順2】出退勤時刻の入力欄と労働時間の自動計算」を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc29">来月分のシートを作るのが面倒</span></h3>



<p class="wp-block-paragraph">B1セルに対象月を入れる構造にしておけば、シートを複製してB1だけ書き換えれば来月分が完成します。「【手順6】月またぎでも壊れない自動更新の仕組み」で解説しました。</p>



<h3 class="wp-block-heading"><span id="toc30">入力欄に時刻以外の値が入ってしまう</span></h3>



<p class="wp-block-paragraph">データの入力規則で「時刻のみ受け付ける」を設定しておくと事故が減ります。「データ → データの入力規則 → 条件: 有効な日付」を選び、適用範囲を C2:E33 に設定してください。</p>



<h2 class="wp-block-heading"><span id="toc31">まとめ</span></h2>



<p class="wp-block-paragraph">Googleスプレッドシートで勤怠管理表を作る7ステップを駆け足で解説しました。MOD・TEXT・NETWORKDAYS・TIME関数を使い分け、24時間超の合計表示や深夜跨ぎの計算、月またぎ自動更新までカバーしましたが、いかがでしたか。</p>



<p class="wp-block-paragraph">ポイントを振り返ると次のとおりです。</p>



<ul class="wp-block-list"><li>B1セル（対象月）を中心にした「1セル変更で月またぎ更新」構造</li><li>TEXT関数の <code>[h]:mm</code> 書式で24時間超の合計を正しく表示</li><li>IF または MOD 関数で深夜跨ぎ労働時間に対応</li><li>TIME関数で残業境界（所定労働時間）を直接指定</li><li>NETWORKDAYS関数で月の稼働日数を自動取得</li><li>条件付き書式・プルダウン・シート保護で実運用に耐える表に</li></ul>



<p class="wp-block-paragraph">専用ツール導入の前に、まずはGoogleスプレッドシートで自社運用に合った仕組みを作ってみるのがおすすめですよ。4月の年度切り替えタイミングで仕組みを整えておけば、1年間の勤怠管理がぐっと楽になります。</p>



<p class="wp-block-paragraph">スプレッドシートの基礎をもう少し固めたい方は<a href="https://mashukabu.com/google-spreadsheet-beginner-guide/">Googleスプレッドシートの使い方入門</a>、関連関数を深掘りしたい方は<a href="https://mashukabu.com/spreadsheet-mod-function/">スプレッドシートのMOD関数の使い方</a>もあわせてどうぞ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-attendance-management/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
