<?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>DATE関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/date%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:48:19 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>DATE関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのDATEVALUE関数の使い方｜文字列→日付変換</title>
		<link>https://mashukabu.com/spreadsheet-datevalue-function/</link>
					<comments>https://mashukabu.com/spreadsheet-datevalue-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:36:34 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[CSV変換]]></category>
		<category><![CDATA[DATEVALUE関数]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[シリアル値]]></category>
		<category><![CDATA[文字列変換]]></category>
		<category><![CDATA[日付変換]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4883</guid>

					<description><![CDATA[スプレッドシートのDATEVALUE関数で文字列の日付をシリアル値に変換する方法を解説。CSVインポートで日付が文字列になったときの対処法から、DATE関数・VALUE関数・TEXT関数との使い分けまで実務例を交えて紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">CSVをインポートしたら、日付のはずなのに並べ替えも日数計算もできない。セルを見ると左寄せになっていて、どうやら文字列として取り込まれたみたいだ。</p>



<p class="wp-block-paragraph">こうなると一つずつ手入力で直すのは大変ですよね。数百行あるデータなら、なおさらです。</p>



<p class="wp-block-paragraph">そんなときに使うのがDATEVALUE関数です。文字列として入っている日付を、計算に使えるシリアル値に一発変換してくれます。</p>



<p class="wp-block-paragraph">この記事では、DATEVALUE関数の基本から、CSVデータの一括変換、DATE関数やVALUE関数との使い分けまで解説します。</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">DATEVALUE関数とは？文字列の日付をシリアル値に変換する関数</a></li><li><a href="#toc2" tabindex="0">DATEVALUE関数の基本的な使い方</a><ol><li><a href="#toc3" tabindex="0">構文と引数</a></li><li><a href="#toc4" tabindex="0">使用例：文字列の日付をシリアル値に変換する</a></li></ol></li><li><a href="#toc5" tabindex="0">CSVインポートで文字列になった日付を一括変換する</a><ol><li><a href="#toc6" tabindex="0">CSVデータの文字列日付を変換する</a></li><li><a href="#toc7" tabindex="0">&#038;で結合した日付文字列をシリアル値に変換する</a></li><li><a href="#toc8" tabindex="0">文字列の日付同士で日数差を計算する</a></li></ol></li><li><a href="#toc9" tabindex="0">DATEVALUE関数のよくあるエラーと対処法</a><ol><li><a href="#toc10" tabindex="0">認識できない日付形式のとき</a></li><li><a href="#toc11" tabindex="0">見えないスペースや制御文字があるとき</a></li><li><a href="#toc12" tabindex="0">IFERRORで安全に変換する</a></li></ol></li><li><a href="#toc13" tabindex="0">DATE関数・VALUE関数・TEXT関数との使い分け</a><ol><li><a href="#toc14" tabindex="0">DATEVALUEとVALUEの違い</a></li><li><a href="#toc15" tabindex="0">DATEVALUEとDATE関数の違い</a></li><li><a href="#toc16" tabindex="0">DATEVALUEとTEXT関数は逆の操作</a></li></ol></li><li><a href="#toc17" tabindex="0">まとめ</a><ol><li><a href="#toc18" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DATEVALUE関数とは？文字列の日付をシリアル値に変換する関数</span></h2>



<p class="wp-block-paragraph">DATEVALUE関数（読み方: デイトバリュー関数）は、<strong>文字列形式の日付をシリアル値に変換する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「date（日付）」+「value（値）」がそのまま関数名になっています。</p>



<p class="wp-block-paragraph">Googleスプレッドシートでは、日付を内部的に「シリアル値」という数値で管理しています。1899年12月30日を起点にした通し番号で、たとえば「2026/1/1」はシリアル値で「46023」です。</p>



<p class="wp-block-paragraph">セルに「2026/3/15」と入力すると、通常はスプレッドシートが自動でシリアル値として認識してくれます。ところがCSVインポートや&#038;での文字列結合で「見た目は日付だけど中身は文字列」という状態になることがあります。</p>



<p class="wp-block-paragraph">DATEVALUE関数は、こうした文字列の日付をシリアル値に変換してくれます。変換すれば、日付の計算や並べ替えができるようになりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>文字列かどうかを見分けるコツは、セルの配置です。数値や日付は右寄せ、文字列は左寄せで表示されます。左寄せになっていたら文字列の可能性が高いです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">DATEVALUE関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc3">構文と引数</span></h3>



<pre class="wp-block-code"><code>=DATEVALUE(日付文字列)</code></pre>



<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>日付文字列</td><td>必須</td><td>日付を表す文字列、またはセル参照</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>時刻を含む文字列（&#8221;2026/3/15 10:00&#8243;など）を渡した場合、時刻部分は無視されます。日付部分のシリアル値だけが返ります。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc4">使用例：文字列の日付をシリアル値に変換する</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方です。ダブルクォーテーションで囲んだ日付文字列を指定します。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「46097」（シリアル値）です。セルの表示形式が「標準」のままだと数字で表示されます。「表示形式」メニューから「日付」を選べば、「2026/3/15」として表示されますよ。</p>



<p class="wp-block-paragraph">セル参照でも使えます。A2に文字列「2026/3/15」が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEVALUE(A2)</code></pre>



<p class="wp-block-paragraph">結果は同じく「46097」です。</p>



<p class="wp-block-paragraph">さまざまな日付形式に対応しています。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15&quot;)      → 46097
=DATEVALUE(&quot;2026-3-15&quot;)      → 46097
=DATEVALUE(&quot;2026年3月15日&quot;)   → 46097
=DATEVALUE(&quot;March 15, 2026&quot;) → 46097</code></pre>



<p class="wp-block-paragraph">スラッシュ区切り・ハイフン区切り・日本語表記・英語表記、いずれもスプレッドシートが日付として認識できれば変換できます。</p>



<h2 class="wp-block-heading"><span id="toc5">CSVインポートで文字列になった日付を一括変換する</span></h2>



<p class="wp-block-paragraph">DATEVALUE関数がもっとも活躍するのは、CSVインポートの場面です。</p>



<h3 class="wp-block-heading"><span id="toc6">CSVデータの文字列日付を変換する</span></h3>



<p class="wp-block-paragraph">他のシステムから出力したCSVをスプレッドシートにインポートすると、日付列が文字列として取り込まれることがよくあります。</p>



<p class="wp-block-paragraph">A列に文字列の日付が並んでいるとします。B2に次の数式を入れましょう。</p>



<pre class="wp-block-code"><code>=DATEVALUE(A2)</code></pre>



<p class="wp-block-paragraph">この数式をB列にコピーすれば一括変換できます。変換後のB列をコピーして「値のみ貼り付け」すれば、数式を消してシリアル値だけ残せます。</p>



<p class="wp-block-paragraph">あとはセルの表示形式を「日付」に変更すれば完了です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>大量のデータを変換するときは、B列に数式を入れてからB列全体をコピーし、A列に「値のみ貼り付け」すると元のデータを直接置き換えられます。補助列が不要になってすっきりしますよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc7">&#038;で結合した日付文字列をシリアル値に変換する</span></h3>



<p class="wp-block-paragraph">セルの値を<code>&</code>で結合すると、結果は文字列になります。日付として使いたい場合はDATEVALUE関数で変換しましょう。</p>



<p class="wp-block-paragraph">A1に「2026」、B1に「3」、C1に「15」が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEVALUE(A1&amp;&quot;/&quot;&amp;B1&amp;&quot;/&quot;&amp;C1)</code></pre>



<p class="wp-block-paragraph">結果は「46097」（2026/3/15のシリアル値）です。</p>



<p class="wp-block-paragraph">ただしこのケースでは、<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>で<code>=DATE(A1,B1,C1)</code>と書くほうがシンプルです。DATEVALUE関数は「すでに日付形式の文字列が存在する」場面で使うのがベストです。</p>



<h3 class="wp-block-heading"><span id="toc8">文字列の日付同士で日数差を計算する</span></h3>



<p class="wp-block-paragraph">文字列のままでは引き算ができません。DATEVALUE関数で変換すれば日数差を計算できます。</p>



<p class="wp-block-paragraph">A1に「2026/3/1」（文字列）、B1に「2026/4/1」（文字列）が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEVALUE(B1)-DATEVALUE(A1)</code></pre>



<p class="wp-block-paragraph">結果は「31」（日数差）です。期日管理や経過日数の計算で、元データが文字列のときに使えるパターンです。</p>



<h2 class="wp-block-heading"><span id="toc9">DATEVALUE関数のよくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">DATEVALUE関数で発生するエラーは、ほとんどが引数の文字列に関する問題です。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!エラー</td><td>認識できない日付形式</td><td>&#8220;2026/3/15&#8243;のように認識できる形式に修正する</td></tr><tr><td>#VALUE!エラー</td><td>空のセルを参照している</td><td><code>=IF(A1="","",DATEVALUE(A1))</code> で空セルチェック</td></tr><tr><td>#VALUE!エラー</td><td>余分なスペースが混入</td><td><code>=DATEVALUE(TRIM(A1))</code> でスペースを除去</td></tr><tr><td>5桁の数字が表示される</td><td>表示形式が「標準」のまま</td><td>表示形式を「日付」に変更する（正常動作）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc10">認識できない日付形式のとき</span></h3>



<p class="wp-block-paragraph">「15/03/2026」のように日/月/年の順番で入力されていると、スプレッドシートのロケール設定によっては正しく認識されないことがあります。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-substitute-function/">SUBSTITUTE関数</a>で区切り文字を置き換えるか、文字列操作で年/月/日の順に並べ替えてからDATEVALUE関数に渡しましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">見えないスペースや制御文字があるとき</span></h3>



<p class="wp-block-paragraph">見た目は正しい日付なのにエラーが出るときは、スペースや制御文字が混入している可能性があります。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-trim-function/">TRIM関数</a>と<a href="https://mashukabu.com/spreadsheet-clean-function/">CLEAN関数</a>で前処理してから変換しましょう。</p>



<pre class="wp-block-code"><code>=DATEVALUE(TRIM(CLEAN(A1)))</code></pre>



<p class="wp-block-paragraph">TRIM関数は余分なスペースを除去し、CLEAN関数は印刷できない制御文字を除去します。</p>



<h3 class="wp-block-heading"><span id="toc12">IFERRORで安全に変換する</span></h3>



<p class="wp-block-paragraph">変換できない文字列が混在しているときは、IFERRORで囲むとエラーを回避できます。</p>



<pre class="wp-block-code"><code>=IFERROR(DATEVALUE(A1), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">エラーのときは空白を返します。大量データを一括変換するときに便利です。</p>



<h2 class="wp-block-heading"><span id="toc13">DATE関数・VALUE関数・TEXT関数との使い分け</span></h2>



<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><strong>DATEVALUE</strong></td><td>文字列の日付をシリアル値に変換</td><td><code>=DATEVALUE("2026/3/15")</code> → 46097</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-value-function/">VALUE関数</a></strong></td><td>文字列を数値に変換（日付・時刻・数値すべて対応）</td><td><code>=VALUE("2026/3/15")</code> → 46097</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a></strong></td><td>シリアル値を指定書式の文字列に変換</td><td><code>=TEXT(46097,"YYYY/MM/DD")</code> → &#8220;2026/03/15&#8221;</td></tr><tr><td><strong><a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a></strong></td><td>年・月・日の数値から日付を作成</td><td><code>=DATE(2026,3,15)</code> → 2026/3/15</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc14">DATEVALUEとVALUEの違い</span></h3>



<p class="wp-block-paragraph">VALUE関数は日付文字列にも使えるため、多くの場面でDATEVALUE関数と同じ結果になります。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15&quot;)  → 46097
=VALUE(&quot;2026/3/15&quot;)      → 46097</code></pre>



<p class="wp-block-paragraph">結果は同じです。ではどう使い分ければいいのでしょうか。</p>



<p class="wp-block-paragraph">DATEVALUE関数は「日付文字列専用」です。数式を見た人に「この列は日付データを扱っている」という意図が伝わります。確実に日付とわかっている列にはDATEVALUE関数がおすすめです。</p>



<p class="wp-block-paragraph">一方、VALUE関数は数値も日付も時刻もまとめて変換できます。「何の文字列が入っているかわからない」ときや、数値と日付が混在している列にはVALUE関数が向いています。</p>



<p class="wp-block-paragraph">もうひとつの違いは、時刻を含む文字列の扱いです。</p>



<pre class="wp-block-code"><code>=DATEVALUE(&quot;2026/3/15 10:30&quot;)  → 46097（日付部分のみ）
=VALUE(&quot;2026/3/15 10:30&quot;)      → 46097.4375（日付＋時刻）</code></pre>



<p class="wp-block-paragraph">DATEVALUE関数は時刻部分を無視して日付のシリアル値だけを返します。VALUE関数は時刻も含めた値を返します。日付だけが必要なときはDATEVALUE関数のほうが安全です。</p>



<h3 class="wp-block-heading"><span id="toc15">DATEVALUEとDATE関数の違い</span></h3>



<p class="wp-block-paragraph">どちらも日付のシリアル値を返しますが、入力が異なります。</p>



<ul class="wp-block-list"><li><strong>DATEVALUE関数</strong>: 文字列の日付を受け取る（例: <code>=DATEVALUE("2026/3/15")</code>）</li><li><strong>DATE関数</strong>: 年・月・日の数値を受け取る（例: <code>=DATE(2026,3,15)</code>）</li></ul>



<p class="wp-block-paragraph">年・月・日がバラバラのセルに入っているなら<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>を使いましょう。「2026/3/15」のような日付形式の文字列がすでにあるならDATEVALUE関数が適しています。</p>



<h3 class="wp-block-heading"><span id="toc16">DATEVALUEとTEXT関数は逆の操作</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>はシリアル値を文字列に変換する関数です。DATEVALUE関数はその逆で、文字列をシリアル値に戻します。</p>



<pre class="wp-block-code"><code>=TEXT(46097, &quot;YYYY/MM/DD&quot;)   → &quot;2026/03/15&quot;（文字列）
=DATEVALUE(&quot;2026/03/15&quot;)     → 46097（シリアル値に戻る）</code></pre>



<p class="wp-block-paragraph">TEXT関数で書式を整えた結果をさらに計算に使いたくなったら、DATEVALUE関数で戻せることを覚えておくと便利です。</p>



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



<p class="wp-block-paragraph">DATEVALUE関数は、文字列形式の日付をシリアル値に変換する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DATEVALUE(日付文字列)</code> の1引数だけ</li><li>CSVインポートで日付が文字列になったときの定番の解決策</li><li>スラッシュ区切り・ハイフン区切り・日本語表記など幅広い形式に対応</li><li>時刻を含む文字列は日付部分のみ変換（時刻は無視される）</li><li>VALUE関数との違いは「日付専用」であること。意図が明確になる</li><li>年・月・日がバラバラなら<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>、文字列がすでにあるならDATEVALUE関数</li><li><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>はDATEVALUE関数の逆操作</li><li>エラーが出たらTRIM・CLEAN関数で前処理、IFERRORで安全に変換</li></ul>



<p class="wp-block-paragraph">まずは <code>=DATEVALUE(A2)</code> でCSVデータの文字列日付を変換するところから試してみてください。</p>



<h3 class="wp-block-heading"><span id="toc18">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-date-function/">スプレッドシートDATE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-value-function/">スプレッドシートのVALUE関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-text-function/">スプレッドシートのTEXT関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-year-function/">スプレッドシートのYEAR関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-day-function/">スプレッドシートのDAY関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-edate-function/">スプレッドシートのEDATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-datevalue/">ExcelのDATEVALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別のエクセル関数一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-datevalue-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDAYS関数の使い方｜2つの日付間の日数を計算</title>
		<link>https://mashukabu.com/spreadsheet-days-function/</link>
					<comments>https://mashukabu.com/spreadsheet-days-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 10:56:00 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DATEDIF関数]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[DAYS関数]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[日付関数]]></category>
		<category><![CDATA[日数計算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4326</guid>

					<description><![CDATA[スプレッドシートのDAYS関数で2つの日付間の日数を計算する方法を解説。引数の順序や日付の引き算との違い、DATEDIFとの使い分けを比較表で整理。TODAY関数と組み合わせた残り日数カウントや経過率の求め方も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「プロジェクトの開始日から終了日まで何日あるんだろう？」。スプレッドシートで期限管理をしていると、こんな場面がよくありますよね。</p>



<p class="wp-block-paragraph">日付を引き算すれば日数は出せますが、数式を見ただけでは「何を計算しているのか」が伝わりにくいです。</p>



<p class="wp-block-paragraph">GoogleスプレッドシートのDAYS関数を使えば、2つの日付の間の日数を明快に求められます。数式の意図もひと目で読み取れますよ。</p>



<p class="wp-block-paragraph">この記事ではDAYS関数の基本から実務活用まで解説します。TODAY関数との組み合わせやDATEDIFとの使い分けも紹介しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DAYS関数とは？スプレッドシートで日数を計算する関数</a></li><li><a href="#toc2" tabindex="0">DAYS関数の書き方｜構文と引数</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の詳細</a></li></ol></li><li><a href="#toc5" tabindex="0">DAYS関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">セル参照で日数を求める</a></li><li><a href="#toc7" tabindex="0">日付を直接入力する場合</a></li><li><a href="#toc8" tabindex="0">DATE関数と組み合わせる</a></li></ol></li><li><a href="#toc9" tabindex="0">実務で使えるDAYS関数の活用例</a><ol><li><a href="#toc10" tabindex="0">残り日数カウント ── TODAY関数との組み合わせ</a></li><li><a href="#toc11" tabindex="0">プロジェクトの経過率を計算する</a></li></ol></li><li><a href="#toc12" tabindex="0">日付の引き算とDAYS関数の違い</a></li><li><a href="#toc13" tabindex="0">DATEDIFとの使い分け｜引数の順序に注意</a><ol><li><a href="#toc14" tabindex="0">引数の順序が真逆</a></li><li><a href="#toc15" tabindex="0">DAYS・DATEDIF・日付引き算の使い分け早見表</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#VALUE!エラー（日付が文字列の場合）</a></li><li><a href="#toc18" tabindex="0">結果がマイナスになる場合</a></li></ol></li><li><a href="#toc19" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DAYS関数とは？スプレッドシートで日数を計算する関数</span></h2>



<p class="wp-block-paragraph">DAYS関数（読み方: デイズ関数）は、<strong>2つの日付の間の日数を整数で返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「days（日数）」がそのまま関数名になっています。</p>



<p class="wp-block-paragraph">たとえば「2025/4/1」と「2025/9/30」の間が何日あるかを、1つの数式で求められます。うるう年の2月29日も自動で考慮してくれるので、手計算の必要はありません。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DAYS関数はGoogleスプレッドシートとExcel（2013以降）の両方で使えます。構文も同じなので、ファイルを変換しても数式はそのまま動きますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">DAYS関数の書き方｜構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=DAYS(終了日, 開始日)</code></pre>



<p class="wp-block-paragraph">カッコの中に「終了日」「開始日」の2つを順番に入れます。どちらも必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>終了日</td><td>必須</td><td>期間の終わりとなる日付（第1引数）</td></tr><tr><td>開始日</td><td>必須</td><td>期間の始まりとなる日付（第2引数）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>引数の順番に注意してください。DAYS関数は<strong>終了日が先、開始日が後</strong>です。<a href="https://mashukabu.com/spreadsheet-datedif-function/">DATEDIF関数</a>は「開始日, 終了日」の順番なので、逆になっている点がよくある間違いポイントですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">DAYS関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">セル参照で日数を求める</span></h3>



<p class="wp-block-paragraph">A2に開始日「2025/4/1」、B2に終了日「2025/9/30」が入っているとします。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=DAYS(B2, A2)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_days-basic.png" alt="02 formula days basic" /></figure>



<p class="wp-block-paragraph">結果は「182」です。2つの日付の間には182日あるとわかります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_days-basic.png" alt="03 result days basic" /></figure>



<p class="wp-block-paragraph">引数はセル参照で指定するのが基本です。日付データを変更するだけで結果が自動更新されますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">日付を直接入力する場合</span></h3>



<p class="wp-block-paragraph">セルを使わずに、数式内に日付を直接書くこともできます。</p>



<pre class="wp-block-code"><code>=DAYS(&quot;2025/9/30&quot;, &quot;2025/4/1&quot;)</code></pre>



<p class="wp-block-paragraph">こちらも結果は「182」です。ちょっとした計算のときに便利ですが、日付を変更するたびに数式を書き直す必要があります。普段はセル参照を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc8">DATE関数と組み合わせる</span></h3>



<p class="wp-block-paragraph">年・月・日がバラバラのセルに入っている場合は、<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>（年・月・日から日付を作る関数）を組み合わせます。</p>



<pre class="wp-block-code"><code>=DAYS(DATE(2025,9,30), DATE(2025,4,1))</code></pre>



<p class="wp-block-paragraph">DATE関数で日付データを作ってからDAYSに渡す形です。結果はもちろん「182」ですよ。</p>



<h2 class="wp-block-heading"><span id="toc9">実務で使えるDAYS関数の活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">残り日数カウント ── TODAY関数との組み合わせ</span></h3>



<p class="wp-block-paragraph">締め切りまであと何日か知りたいときは、<a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>（今日の日付を返す関数）と組み合わせます。</p>



<p class="wp-block-paragraph">B2に期限日「2026/3/31」が入っているとして、次の数式を入力します。</p>



<pre class="wp-block-code"><code>=DAYS(B2, TODAY())</code></pre>



<p class="wp-block-paragraph">今日が2026/3/19なら結果は「12」です。期限まで残り12日とわかります。</p>



<p class="wp-block-paragraph">TODAY関数はファイルを開くたびに自動で更新されます。毎日の残り日数を常に最新の状態で確認できますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>期限を過ぎるとマイナスの値が返ります。たとえば期限が3日前なら「-3」です。マイナスになったら「期限超過」と表示したい場合は、IF関数を組み合わせましょう。<br><code></code><code><br>=IF(DAYS(B2, TODAY()) < 0, "期限超過", DAYS(B2, TODAY()) &#038; "日")<br></code><code></code></p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">プロジェクトの経過率を計算する</span></h3>



<p class="wp-block-paragraph">プロジェクトの進捗を「経過率」で把握したい場面もありますよね。開始日がA2、終了日がB2に入っているとします。</p>



<pre class="wp-block-code"><code>=DAYS(TODAY(), A2) / DAYS(B2, A2)</code></pre>



<p class="wp-block-paragraph">分子が「開始日から今日までの日数」、分母が「開始日から終了日までの全日数」です。</p>



<p class="wp-block-paragraph">A2が「2025/4/1」、B2が「2025/9/30」、今日が「2025/7/1」なら次のようになります。</p>



<ul class="wp-block-list"><li>分子: DAYS(&#8220;2025/7/1&#8221;, &#8220;2025/4/1&#8221;) = 91日</li><li>分母: DAYS(&#8220;2025/9/30&#8221;, &#8220;2025/4/1&#8221;) = 182日</li><li>経過率: 91 / 182 = 0.5（50%）</li></ul>



<p class="wp-block-paragraph">セルの表示形式を「パーセント」にすれば「50%」と表示されます。ガントチャートの代わりに使えて便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc12">日付の引き算とDAYS関数の違い</span></h2>



<p class="wp-block-paragraph">スプレッドシートでは、日付の引き算でも日数を求められます。</p>



<pre class="wp-block-code"><code>=B2 - A2</code></pre>



<p class="wp-block-paragraph">A2が「2025/4/1」、B2が「2025/9/30」なら、引き算でも結果は「182」です。DAYS関数と同じ値になります。</p>



<p class="wp-block-paragraph">では、なぜDAYS関数が用意されているのでしょうか？違いを整理してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>日付の引き算（=B2-A2）</th><th>DAYS関数（=DAYS(B2,A2)）</th></tr></thead><tbody><tr><td>結果</td><td>同じ（日数を返す）</td><td>同じ（日数を返す）</td></tr><tr><td>時刻を含む場合</td><td>小数になる（例: 182.5）</td><td>整数のみ（時刻は無視）</td></tr><tr><td>数式の読みやすさ</td><td>何を計算しているか分かりにくい</td><td>「日数を求めている」と一目瞭然</td></tr><tr><td>チーム共有時</td><td>意図の説明が必要な場合がある</td><td>関数名で意図が伝わる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務的に大きな違いが出るのは「時刻を含む日付」を扱うときです。引き算だと「182.5」のような小数になりますが、DAYS関数なら時刻部分を無視して整数だけを返します。</p>



<p class="wp-block-paragraph">数式を他の人と共有する場面が多いなら、DAYS関数を使うほうが意図が明確になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc13">DATEDIFとの使い分け｜引数の順序に注意</span></h2>



<h3 class="wp-block-heading"><span id="toc14">引数の順序が真逆</span></h3>



<p class="wp-block-paragraph">DAYS関数と<a href="https://mashukabu.com/spreadsheet-datedif-function/">DATEDIF関数</a>は、引数の順番が逆です。ここが一番混同しやすいポイントなので、しっかり押さえておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DAYS関数</th><th>DATEDIF関数</th></tr></thead><tbody><tr><td>構文</td><td><code>=DAYS(終了日, 開始日)</code></td><td><code>=DATEDIF(開始日, 終了日, 単位)</code></td></tr><tr><td>第1引数</td><td>終了日</td><td>開始日</td></tr><tr><td>第2引数</td><td>開始日</td><td>終了日</td></tr><tr><td>返す値</td><td>日数のみ</td><td>年・月・日を単位で指定</td></tr><tr><td>逆順のとき</td><td>負の値を返す（エラーなし）</td><td>#NUM!エラーが発生</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に注目してほしいのが「逆順のとき」の挙動です。DAYS関数は開始日と終了日を逆にしてもエラーにならず、マイナスの値を返します。一方、DATEDIF関数は#NUM!エラーになります。</p>



<pre class="wp-block-code"><code>=DAYS(&quot;2025/4/1&quot;, &quot;2025/9/30&quot;)    → -182（エラーなし）
=DATEDIF(&quot;2025/9/30&quot;, &quot;2025/4/1&quot;, &quot;D&quot;)  → #NUM!（エラー）</code></pre>



<p class="wp-block-paragraph">DAYS関数のほうがエラーに強いと言えますね。</p>



<h3 class="wp-block-heading"><span id="toc15">DAYS・DATEDIF・日付引き算の使い分け早見表</span></h3>



<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>2つの日付の日数だけを知りたい</td><td>DAYS関数または引き算</td><td><code>=DAYS(B2, A2)</code></td></tr><tr><td>年数・月数で期間を求めたい</td><td>DATEDIF関数</td><td><code>=DATEDIF(A2, B2, "Y")</code></td></tr><tr><td>「X年Yヶ月」形式で表示したい</td><td>DATEDIF関数</td><td>Y + YM の組み合わせ</td></tr><tr><td>土日祝を除いた営業日を数えたい</td><td>NETWORKDAYS関数</td><td><code>=NETWORKDAYS(A2, B2)</code></td></tr><tr><td>数式の意図を明確にしたい</td><td>DAYS関数</td><td><code>=DAYS(B2, A2)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日数だけで十分な場面ならDAYS関数がシンプルです。年数や月数も必要な場合はDATEDIF関数を使ってください。営業日ベースの計算にはNETWORKDAYS関数（土日祝を除いた日数を返す関数）が適しています。</p>



<h2 class="wp-block-heading"><span id="toc16">よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!エラー（日付が文字列の場合）</span></h3>



<p class="wp-block-paragraph">DAYS関数に渡した値が正しい日付データになっていないと、#VALUE!エラーが発生します。</p>



<p class="wp-block-paragraph">よくある原因は次の3つです。</p>



<ul class="wp-block-list"><li>セルに日付が「文字列」として入力されている</li><li>全角数字が混じっている（例: 「２０２５/4/1」）</li><li>存在しない日付を指定している（例: 「2025/2/30」）</li></ul>



<p class="wp-block-paragraph">対処法は、セルの表示形式を「日付」に変更するか、DATE関数で日付データを作り直すことです。</p>



<pre class="wp-block-code"><code>=DAYS(DATE(2025,9,30), DATE(2025,4,1))</code></pre>



<p class="wp-block-paragraph">DATE関数を経由すれば、確実に正しい日付データとして処理されます。</p>



<h3 class="wp-block-heading"><span id="toc18">結果がマイナスになる場合</span></h3>



<p class="wp-block-paragraph">DAYS関数は終了日が開始日より前だと、マイナスの値を返します。これはエラーではなく正常な動作です。</p>



<pre class="wp-block-code"><code>=DAYS(&quot;2025/4/1&quot;, &quot;2025/9/30&quot;)   → -182</code></pre>



<p class="wp-block-paragraph">「引数の順番を間違えた」ケースがほとんどです。終了日を第1引数、開始日を第2引数に指定しているか確認してください。</p>



<p class="wp-block-paragraph">常に正の値がほしい場合は、ABS関数（絶対値を返す関数）で囲む方法もあります。</p>



<pre class="wp-block-code"><code>=ABS(DAYS(A2, B2))</code></pre>



<p class="wp-block-paragraph">これなら引数の順番に関係なく、常にプラスの日数が返りますよ。</p>



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



<p class="wp-block-paragraph">DAYS関数は、2つの日付の間の日数を整数で返すシンプルな関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DAYS(終了日, 開始日)</code> の2引数</li><li><strong>終了日が第1引数、開始日が第2引数</strong>（DATEDIFとは逆順）</li><li>戻り値は整数のみ（時刻を含んでいても小数にならない）</li><li><code>=DAYS(期限日, TODAY())</code> で残り日数を自動カウントできる</li><li>日数だけならDAYS関数、年月日単位ならDATEDIF関数と使い分ける</li><li>引き算でも同じ結果は出るが、DAYS関数のほうが意図が明確</li></ul>



<figure class="wp-block-table"><table><thead><tr><th>場面</th><th>使う関数</th></tr></thead><tbody><tr><td>日数だけ知りたい</td><td>DAYS関数</td></tr><tr><td>年・月の単位も必要</td><td><a href="https://mashukabu.com/spreadsheet-datedif-function/">DATEDIF関数</a></td></tr><tr><td>今日の日付を基準にしたい</td><td><a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a> と組み合わせ</td></tr><tr><td>年月日から日付を作りたい</td><td><a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a> と組み合わせ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">まずは <code>=DAYS(B2, A2)</code> で2つの日付の日数を計算するところから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-days-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートDATE関数の使い方｜月末日・Nヶ月後も自動計算</title>
		<link>https://mashukabu.com/spreadsheet-date-function/</link>
					<comments>https://mashukabu.com/spreadsheet-date-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:50:04 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[EDATE関数]]></category>
		<category><![CDATA[MONTH関数]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[YEAR関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[日付作成]]></category>
		<category><![CDATA[月末日]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4329</guid>

					<description><![CDATA[スプレッドシートのDATE関数の使い方を基本から解説。年・月・日のセルを組み合わせて日付を作る方法から、月末日の自動計算（DATE(年,月+1,0)）、Nヶ月後の日付取得まで実務で役立つテクニックを紹介。EDATE・EOMONTH関数との使い分けも解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「2026年」「3月」「15日」のように年・月・日がバラバラのセルに入っていて、ひとつの日付にまとめたいと思ったことはありませんか？</p>



<p class="wp-block-paragraph">Googleスプレッドシートに手入力で「2026/3/15」と打ち込む方法もありますが、データが増えるたびに手作業では追いつきません。ミスも起きやすいですよね。</p>



<p class="wp-block-paragraph">そんなときに活躍するのがDATE関数です。年・月・日の3つの数値を渡すだけで、正しい日付データを作ってくれます。</p>



<p class="wp-block-paragraph">この記事では基本の書き方から、月末日の自動計算やNヶ月後の日付を求めるテクニックまで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのDATE関数とは？年月日から日付を作る関数</a></li><li><a href="#toc2" tabindex="0">DATE関数の基本の書き方</a><ol><li><a href="#toc3" tabindex="0">構文と引数</a></li><li><a href="#toc4" tabindex="0">引数の詳細</a></li></ol></li><li><a href="#toc5" tabindex="0">DATE関数の基本的な使い方</a></li><li><a href="#toc6" tabindex="0">実務で使えるDATE関数の応用テクニック</a><ol><li><a href="#toc7" tabindex="0">月の最終日を自動計算する</a></li><li><a href="#toc8" tabindex="0">Nヶ月後・Nヶ月前の日付を求める</a></li><li><a href="#toc9" tabindex="0">年度の開始日・終了日を自動計算する</a></li></ol></li><li><a href="#toc10" tabindex="0">EDATE・EOMONTH関数との使い分け</a></li><li><a href="#toc11" tabindex="0">DATE関数のよくあるエラーと対処法</a><ol><li><a href="#toc12" tabindex="0">文字列が混在しているとき</a></li><li><a href="#toc13" tabindex="0">日付でなく数字が表示されるとき</a></li></ol></li><li><a href="#toc14" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのDATE関数とは？年月日から日付を作る関数</span></h2>



<p class="wp-block-paragraph">DATE関数（読み方: デイト関数）は、<strong>年・月・日の3つの数値から日付データを作成する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「date（日付）」がそのまま関数名になっています。</p>



<p class="wp-block-paragraph">スプレッドシートの日付は内部的に「シリアル値」という数値で管理されています。たとえば「2026/1/1」はシリアル値で「46023」です。</p>



<p class="wp-block-paragraph">DATE関数を使えば、このシリアル値を意識せずに正しい日付を作成できます。手入力した「2026/3/15」は文字列として認識されるリスクがありますが、DATE関数なら確実に日付型のデータになりますよ。</p>



<p class="wp-block-paragraph">DATE関数でできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>年・月・日のセルを組み合わせて1つの日付を作る</li><li>月や日に計算式を入れてNヶ月後の日付を求める</li><li>日に「0」を指定して前月の末日を取得する</li><li>TODAY関数と組み合わせて「今月1日」などの基準日を作る</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DATE関数はGoogleスプレッドシートの全バージョンで使えます。Excelでも同じ構文で動作するので、ファイル共有時も安心です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">DATE関数の基本の書き方</span></h2>



<h3 class="wp-block-heading"><span id="toc3">構文と引数</span></h3>



<pre class="wp-block-code"><code>=DATE(年, 月, 日)</code></pre>



<p class="wp-block-paragraph">カッコの中に「年」「月」「日」を順番に入れるだけです。引数は3つとも必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>年</td><td>必須</td><td>西暦の年（例: 2026）</td></tr><tr><td>月</td><td>必須</td><td>月を表す数値（1〜12）</td></tr><tr><td>日</td><td>必須</td><td>日を表す数値（1〜31）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">月や日に範囲外の値を指定すると、自動で繰り上げ・繰り下げされます。たとえば月に「13」を指定すると翌年の1月として計算されます。この仕組みを「ロールオーバー」と呼びます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>年に0〜1899の値を指定すると、1900が加算されます。<code>=DATE(119,2,1)</code> は「2019/2/1」になります。西暦4桁で指定するのが安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">DATE関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">もっともシンプルな使い方です。年・月・日を直接指定してみましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=DATE(2026, 3, 15)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_date-basic.png" alt="02 formula date basic" /></figure>



<p class="wp-block-paragraph">結果は「2026/3/15」です。確実に日付型のデータが作成されます。</p>



<p class="wp-block-paragraph">セル参照と組み合わせるケースも見てみましょう。A1に「2026」、B1に「3」、C1に「15」が入っているとします。</p>



<pre class="wp-block-code"><code>=DATE(A1, B1, C1)</code></pre>



<p class="wp-block-paragraph">結果は同じく「2026/3/15」です。セルの値を変更すれば日付も自動で更新されます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_date-basic.png" alt="03 result date basic" /></figure>



<p class="wp-block-paragraph">TODAY関数と組み合わせれば「今月1日」も作れます。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(TODAY()), MONTH(TODAY()), 1)</code></pre>



<p class="wp-block-paragraph">YEAR関数で今年の年、MONTH関数で今月の月を取り出しています。日を「1」に固定すれば、常に今月1日の日付が返りますよ。</p>



<p class="wp-block-paragraph">表示形式を変えたいときは、<a href="https://mashukabu.com/spreadsheet-text-function/">スプレッドシートのTEXT関数</a>を使うと「2026年3月」のような文字列に変換できます。</p>



<h2 class="wp-block-heading"><span id="toc6">実務で使えるDATE関数の応用テクニック</span></h2>



<h3 class="wp-block-heading"><span id="toc7">月の最終日を自動計算する</span></h3>



<p class="wp-block-paragraph">DATE関数の「日」に0を指定すると、前月の末日が返ります。これがDATE関数の隠れた便利ワザです。</p>



<pre class="wp-block-code"><code>=DATE(2026, 4, 0)</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-date-function/04_formula_date-last-day.png/">_images/spreadsheet-date-function/04_formula_date-last-day.png</a></p>



<p class="wp-block-paragraph">結果は「2026/3/31」です。4月の「0日目」は3月の最終日として解釈されます。</p>



<p class="wp-block-paragraph">つまり「翌月の0日目＝当月の末日」です。当月の末日を求めるには、月に1を足して日を0にします。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_date-last-day.png" alt="05 result date last day" /></figure>



<p class="wp-block-paragraph">この数式で常に「今月の末日」が返ります。2月の末日も28日と29日を自動で判定してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc8">Nヶ月後・Nヶ月前の日付を求める</span></h3>



<p class="wp-block-paragraph">DATE関数の「月」に加算・減算をするだけです。A1に基準日が入っているとします。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(A1), MONTH(A1)+3, DAY(A1))</code></pre>



<p class="wp-block-paragraph">基準日が「2026/1/15」なら、結果は「2026/4/15」です。3ヶ月後の同じ日が返ります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_result_date-months-later.png" alt="06 result date months later" /></figure>



<p class="wp-block-paragraph">3ヶ月前を求めるなら、+3を-3に変えるだけです。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(A1), MONTH(A1)-3, DAY(A1))</code></pre>



<p class="wp-block-paragraph">基準日が「2026/4/15」なら、結果は「2026/1/15」です。</p>



<p class="wp-block-paragraph">月末日の基準日には注意が必要です。「2026/1/31」の1ヶ月後は「2026/3/3」になります。2月は28日までしかないため、3日分が3月にロールオーバーするためです。月末日を維持したい場合はEOMONTH関数を使いましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">年度の開始日・終了日を自動計算する</span></h3>



<p class="wp-block-paragraph">日本の多くの企業は4月始まりの年度を使っています。年度の開始日と終了日を自動で求めてみましょう。</p>



<p class="wp-block-paragraph">A1に対象の日付が入っているとします。まず年度の開始日です。</p>



<pre class="wp-block-code"><code>=IF(MONTH(A1)&gt;=4, DATE(YEAR(A1),4,1), DATE(YEAR(A1)-1,4,1))</code></pre>



<p class="wp-block-paragraph">4月以降なら今年の4月1日、1〜3月なら前年の4月1日が返ります。</p>



<p class="wp-block-paragraph">次に年度の終了日です。</p>



<pre class="wp-block-code"><code>=IF(MONTH(A1)&gt;=4, DATE(YEAR(A1)+1,3,31), DATE(YEAR(A1),3,31))</code></pre>



<p class="wp-block-paragraph">4月以降なら翌年の3月31日、1〜3月なら今年の3月31日が返ります。</p>



<p class="wp-block-paragraph">A1が「2026/7/10」なら、年度開始日は「2026/4/1」、年度終了日は「2027/3/31」です。期末レポートの自動化に使ってみてください。</p>



<h2 class="wp-block-heading"><span id="toc10">EDATE・EOMONTH関数との使い分け</span></h2>



<p class="wp-block-paragraph">Nヶ月後の日付や月末日の計算は、専用関数でも実現できます。DATE関数との違いを整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>用途</th><th>DATE関数</th><th>専用関数</th></tr></thead><tbody><tr><td>Nヶ月後の日付</td><td><code>=DATE(YEAR(A1),MONTH(A1)+N,DAY(A1))</code></td><td><code>=EDATE(A1,N)</code></td></tr><tr><td>Nヶ月後の月末日</td><td><code>=DATE(YEAR(A1),MONTH(A1)+N+1,0)</code></td><td><code>=EOMONTH(A1,N)</code></td></tr><tr><td>月末日の処理</td><td>ロールオーバーで翌月にずれる</td><td>月末日を維持する</td></tr><tr><td>年度開始日の計算</td><td>DATE関数で自由に組める</td><td>対応不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">EDATE関数は「Nヶ月後の同日」を返す専用関数です。数式がシンプルになるのがメリットです。</p>



<p class="wp-block-paragraph">EOMONTH関数は「Nヶ月後の月末日」を返します。月末日の計算はDATE関数より安全です。</p>



<p class="wp-block-paragraph">ただしEDATE・EOMONTH関数では「年度の開始日」のような柔軟な日付計算はできません。年・月・日を個別にコントロールしたい場面ではDATE関数が必要です。</p>



<p class="wp-block-paragraph">使い分けの目安はこうです。</p>



<ul class="wp-block-list"><li>「Nヶ月後の同日」→ EDATE関数がシンプル</li><li>「Nヶ月後の月末日」→ EOMONTH関数が安全</li><li>「特定の年月日を自由に組み立てたい」→ DATE関数</li></ul>



<h2 class="wp-block-heading"><span id="toc11">DATE関数のよくあるエラーと対処法</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>引数に文字列が入っている</td><td>セル参照先が数値かどうか確認する</td></tr><tr><td>#NUM!</td><td>日付の範囲外（負の日付等）</td><td>年月日の値が妥当か確認する</td></tr><tr><td>#ERROR!</td><td>構文ミス（カッコ忘れ等）</td><td>数式の入力内容を見直す</td></tr><tr><td>日付でなく数字が表示される</td><td>表示形式が「数値」になっている</td><td>表示形式を「日付」に変更する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">文字列が混在しているとき</span></h3>



<p class="wp-block-paragraph">年・月・日のセルに文字列が混ざると#VALUE!エラーになります。</p>



<pre class="wp-block-code"><code>=DATE(&quot;2026年&quot;, 3, 15)</code></pre>



<p class="wp-block-paragraph">「2026年」は文字列なので数値として認識できません。数値の「2026」を渡す必要があります。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-value-function/">スプレッドシートのVALUE関数</a>で文字列を数値に変換する方法もあります。ただし「2026年」のような日本語混じりの文字列はVALUE関数でも変換できないので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc13">日付でなく数字が表示されるとき</span></h3>



<p class="wp-block-paragraph">DATE関数の結果が「46097」のような数字で表示される場合があります。これはセルの表示形式が「数値」になっているためです。</p>



<p class="wp-block-paragraph">セルを選択して「表示形式」メニューから「日付」を選べば正しく表示されます。DATE関数自体は正常に動作しているので安心してください。</p>



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



<p class="wp-block-paragraph">DATE関数は、年・月・日の3つの数値から日付データを作成する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DATE(年, 月, 日)</code> の3引数。確実に日付型データが作れる</li><li>日に「0」を指定すれば前月の末日を自動取得できる</li><li>月に加算・減算すればNヶ月後・Nヶ月前の日付が求まる</li><li>年度の開始日・終了日の計算にも活用できる</li><li>Nヶ月後はEDATE関数、月末日はEOMONTH関数も検討する</li><li><a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>で表示形式を自由にカスタマイズできる</li></ul>



<p class="wp-block-paragraph">まずは <code>=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0)</code> で今月の末日を求めるところから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-date-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDATEDIF関数の使い方｜日付の差を年月日で計算</title>
		<link>https://mashukabu.com/spreadsheet-datedif-function/</link>
					<comments>https://mashukabu.com/spreadsheet-datedif-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:49:57 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DATEDIF関数]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[IFERROR関数]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[勤続年数]]></category>
		<category><![CDATA[年齢計算]]></category>
		<category><![CDATA[日付計算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4327</guid>

					<description><![CDATA[スプレッドシートのDATEDIF関数の使い方を基本から解説。6つの単位（Y/M/D/YM/MD/YD）の意味と実例、生年月日から年齢を自動計算する方法、勤続年数のX年Yヶ月表示、#NUM!エラーの対処法まで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「入社日から今日まで何年何ヶ月か、パッと出せないかな？」。社員名簿や契約管理をしていると、こんな場面が出てきますよね。</p>



<p class="wp-block-paragraph">日付の引き算で日数は出せますが、「3年6ヶ月」のような年月表示にするのは意外と面倒です。</p>



<p class="wp-block-paragraph">GoogleスプレッドシートのDATEDIF関数を使えば、2つの日付の差を年・月・日の好きな単位で一発計算できます。</p>



<p class="wp-block-paragraph">この記事では基本の書き方から、年齢の自動計算や勤続年数の「X年Yヶ月」表示まで、実務で使えるテクニックをまとめて紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DATEDIF関数とは？スプレッドシートで日付の差を求める関数</a></li><li><a href="#toc2" tabindex="0">DATEDIF関数の書き方｜構文と引数</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の詳細</a></li><li><a href="#toc5" tabindex="0">6つの単位の意味と使い分け</a></li></ol></li><li><a href="#toc6" tabindex="0">DATEDIF関数の使い方｜6つの単位を実例で確認</a></li><li><a href="#toc7" tabindex="0">実務で使えるDATEDIF活用例</a><ol><li><a href="#toc8" tabindex="0">生年月日から年齢を自動計算する</a></li><li><a href="#toc9" tabindex="0">勤続年数を「X年Yヶ月」形式で表示する</a></li><li><a href="#toc10" tabindex="0">契約の残り期間を計算する</a></li></ol></li><li><a href="#toc11" tabindex="0">DATEDIF関数のエラーと対処法</a><ol><li><a href="#toc12" tabindex="0">#NUM!エラー（開始日が終了日より後の場合）</a></li><li><a href="#toc13" tabindex="0">IFERRORで安全にエラーを回避する</a></li><li><a href="#toc14" tabindex="0">#VALUE!エラー（日付が文字列の場合）</a></li></ol></li><li><a href="#toc15" tabindex="0">ExcelのDATEDIF関数との互換性</a></li><li><a href="#toc16" tabindex="0">YEAR関数を使った代替手段との比較</a></li><li><a href="#toc17" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DATEDIF関数とは？スプレッドシートで日付の差を求める関数</span></h2>



<p class="wp-block-paragraph">DATEDIF関数（読み方: デイトディフ関数）は、<strong>2つの日付の間隔を年・月・日の単位で計算する関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「date（日付）」と「difference（差）」を組み合わせた造語です。</p>



<p class="wp-block-paragraph">通常の日付の引き算（=B1-A1）では結果が「日数」しか返りません。「1,278日」と出されても、それが何年何ヶ月なのかすぐにはわかりませんよね。</p>



<p class="wp-block-paragraph">DATEDIF関数なら、第3引数の「単位」を切り替えるだけで年数・月数・日数を自由に取り出せます。年齢計算や勤続年数の算出に欠かせない関数ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>DATEDIF関数はGoogleスプレッドシートでは公式にサポートされています。Excelでも使えますが、Excelでは公式ドキュメントに記載されていない「非公式関数」の扱いです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">DATEDIF関数の書き方｜構文と引数</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=DATEDIF(開始日, 終了日, 単位)</code></pre>



<p class="wp-block-paragraph">カッコの中に「開始日」「終了日」「単位」の3つを順番に入れます。引数はすべて必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>開始日</td><td>必須</td><td>期間の開始となる日付</td></tr><tr><td>終了日</td><td>必須</td><td>期間の終了となる日付</td></tr><tr><td>単位</td><td>必須</td><td>結果の単位を指定する文字列（&#8221;Y&#8221;、&#8221;M&#8221;、&#8221;D&#8221;など）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">開始日は終了日より前の日付を指定してください。開始日が終了日より後になると#NUM!エラーが発生します。</p>



<h3 class="wp-block-heading"><span id="toc5">6つの単位の意味と使い分け</span></h3>



<p class="wp-block-paragraph">DATEDIF関数の最大のポイントは、第3引数の「単位」です。6種類あり、それぞれ返す値が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>単位</th><th>意味</th><th>返す値</th></tr></thead><tbody><tr><td>&#8220;Y&#8221;</td><td>年数</td><td>完了した年の数（端数切り捨て）</td></tr><tr><td>&#8220;M&#8221;</td><td>月数</td><td>完了した月の数（端数切り捨て）</td></tr><tr><td>&#8220;D&#8221;</td><td>日数</td><td>2つの日付の間の日数</td></tr><tr><td>&#8220;YM&#8221;</td><td>年を除いた月数</td><td>年の差を除いた残りの月数（0〜11）</td></tr><tr><td>&#8220;MD&#8221;</td><td>月を除いた日数</td><td>月の差を除いた残りの日数（0〜30）</td></tr><tr><td>&#8220;YD&#8221;</td><td>年を除いた日数</td><td>年の差を除いた残りの日数（0〜365）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">上の3つ（Y/M/D）が「トータルの差」、下の3つ（YM/MD/YD）が「端数部分の差」です。この違いを押さえておくと迷わずに使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc6">DATEDIF関数の使い方｜6つの単位を実例で確認</span></h2>



<p class="wp-block-paragraph">同じ日付ペアで6つの単位すべてを試してみましょう。開始日を「2020/4/1」、終了日を「2026/9/15」とします。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=DATEDIF(&quot;2020/4/1&quot;, &quot;2026/9/15&quot;, &quot;Y&quot;)   → 6
=DATEDIF(&quot;2020/4/1&quot;, &quot;2026/9/15&quot;, &quot;M&quot;)   → 77
=DATEDIF(&quot;2020/4/1&quot;, &quot;2026/9/15&quot;, &quot;D&quot;)   → 2358
=DATEDIF(&quot;2020/4/1&quot;, &quot;2026/9/15&quot;, &quot;YM&quot;)  → 5
=DATEDIF(&quot;2020/4/1&quot;, &quot;2026/9/15&quot;, &quot;MD&quot;)  → 14
=DATEDIF(&quot;2020/4/1&quot;, &quot;2026/9/15&quot;, &quot;YD&quot;)  → 167</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_formula_datedif-units.png" alt="02 formula datedif units" /></figure>



<p class="wp-block-paragraph">結果を表で整理すると、各単位の違いがはっきりわかります。</p>



<figure class="wp-block-table"><table><thead><tr><th>単位</th><th>数式</th><th>結果</th><th>読み方</th></tr></thead><tbody><tr><td>&#8220;Y&#8221;</td><td><code>=DATEDIF("2020/4/1","2026/9/15","Y")</code></td><td>6</td><td>6年（7年目に届いていない）</td></tr><tr><td>&#8220;M&#8221;</td><td><code>=DATEDIF("2020/4/1","2026/9/15","M")</code></td><td>77</td><td>トータル77ヶ月</td></tr><tr><td>&#8220;D&#8221;</td><td><code>=DATEDIF("2020/4/1","2026/9/15","D")</code></td><td>2358</td><td>トータル2,358日</td></tr><tr><td>&#8220;YM&#8221;</td><td><code>=DATEDIF("2020/4/1","2026/9/15","YM")</code></td><td>5</td><td>6年と<strong>5ヶ月</strong></td></tr><tr><td>&#8220;MD&#8221;</td><td><code>=DATEDIF("2020/4/1","2026/9/15","MD")</code></td><td>14</td><td>5ヶ月と<strong>14日</strong></td></tr><tr><td>&#8220;YD&#8221;</td><td><code>=DATEDIF("2020/4/1","2026/9/15","YD")</code></td><td>167</td><td>6年と<strong>167日</strong></td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_datedif-units.png" alt="03 result datedif units" /></figure>



<p class="wp-block-paragraph">&#8220;YM&#8221;の「5」と&#8221;MD&#8221;の「14」を合わせると「6年5ヶ月14日」です。「X年Yヶ月Z日」の表示を作るときは、Y・YM・MDの3つを組み合わせて使います。</p>



<h2 class="wp-block-heading"><span id="toc7">実務で使えるDATEDIF活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc8">生年月日から年齢を自動計算する</span></h3>



<p class="wp-block-paragraph">人事名簿でよく使うパターンです。A2に生年月日が入っているとします。</p>



<pre class="wp-block-code"><code>=DATEDIF(A2, TODAY(), &quot;Y&quot;)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_formula_datedif-age.png" alt="04 formula datedif age" /></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>は今日の日付を返す関数です。生年月日と今日の差を「年」の単位で求めるので、現在の満年齢が返ります。</p>



<p class="wp-block-paragraph">たとえばA2が「1990/5/20」で今日が「2026/3/19」なら、結果は「35」です。5月20日を過ぎたら自動で「36」に変わりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>社員が100人いても、数式を下にコピーするだけで全員の年齢が一括計算できます。手計算で年齢を更新する手間がなくなりますね。</p></blockquote>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_datedif-age.png" alt="05 result datedif age" /></figure>



<h3 class="wp-block-heading"><span id="toc9">勤続年数を「X年Yヶ月」形式で表示する</span></h3>



<p class="wp-block-paragraph">入社日がB2に入っているとして、勤続年数を「X年Yヶ月」の文字列で表示してみましょう。</p>



<pre class="wp-block-code"><code>=DATEDIF(B2, TODAY(), &quot;Y&quot;) &amp; &quot;年&quot; &amp; DATEDIF(B2, TODAY(), &quot;YM&quot;) &amp; &quot;ヶ月&quot;</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/06_formula_datedif-tenure.png" alt="06 formula datedif tenure" /></figure>



<p class="wp-block-paragraph">「Y」で年数を、「YM」で年を除いた月数を取り出し、文字列結合演算子（&#038;）でつなげています。</p>



<p class="wp-block-paragraph">B2が「2020/4/1」で今日が「2026/3/19」なら、結果は「5年11ヶ月」です。</p>



<p class="wp-block-paragraph">さらに日数まで表示したい場合は、「MD」を追加します。</p>



<pre class="wp-block-code"><code>=DATEDIF(B2, TODAY(), &quot;Y&quot;) &amp; &quot;年&quot; &amp; DATEDIF(B2, TODAY(), &quot;YM&quot;) &amp; &quot;ヶ月&quot; &amp; DATEDIF(B2, TODAY(), &quot;MD&quot;) &amp; &quot;日&quot;</code></pre>



<p class="wp-block-paragraph">結果は「5年11ヶ月18日」のように表示されます。</p>



<h3 class="wp-block-heading"><span id="toc10">契約の残り期間を計算する</span></h3>



<p class="wp-block-paragraph">契約終了日がC2に入っているとして、今日からの残り期間を求めてみましょう。</p>



<pre class="wp-block-code"><code>=DATEDIF(TODAY(), C2, &quot;M&quot;) &amp; &quot;ヶ月&quot; &amp; DATEDIF(TODAY(), C2, &quot;MD&quot;) &amp; &quot;日&quot;</code></pre>



<p class="wp-block-paragraph">この場合はTODAY()を開始日、契約終了日を終了日にしています。C2が「2027/3/31」なら「12ヶ月12日」のように表示されます。</p>



<p class="wp-block-paragraph">契約管理やリース期間の算出に便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">DATEDIF関数のエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc12">#NUM!エラー（開始日が終了日より後の場合）</span></h3>



<p class="wp-block-paragraph">DATEDIF関数でもっとも多いエラーです。開始日が終了日より後の日付になっていると発生します。</p>



<pre class="wp-block-code"><code>=DATEDIF(&quot;2026/9/15&quot;, &quot;2020/4/1&quot;, &quot;Y&quot;)   → #NUM!</code></pre>



<p class="wp-block-paragraph">対処法はシンプルです。引数の順番を確認して、開始日を終了日より前に指定してください。</p>



<h3 class="wp-block-heading"><span id="toc13">IFERRORで安全にエラーを回避する</span></h3>



<p class="wp-block-paragraph">データに不備がある行でもエラー表示を防ぎたい場合は、IFERROR関数（エラーのとき代替値を返す関数）で囲みます。</p>



<pre class="wp-block-code"><code>=IFERROR(DATEDIF(A2, TODAY(), &quot;Y&quot;), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">A2が空欄だったり不正な日付だったりしても、エラーの代わりに空白が表示されます。名簿のように大量の行がある場面では、IFERROR関数との組み合わせがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc14">#VALUE!エラー（日付が文字列の場合）</span></h3>



<p class="wp-block-paragraph">日付のセルが文字列として入力されていると#VALUE!エラーになることがあります。セルの表示形式を「日付」に変更するか、<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>で日付データを作り直してください。</p>



<h2 class="wp-block-heading"><span id="toc15">ExcelのDATEDIF関数との互換性</span></h2>



<p class="wp-block-paragraph">DATEDIF関数はGoogleスプレッドシートとExcelの両方で使えます。ただし扱いに違いがあるので注意してください。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>公式サポート</td><td>公式関数として文書化</td><td>非公式（ヘルプに記載なし）</td></tr><tr><td>数式の補完候補</td><td>表示される</td><td>表示されない</td></tr><tr><td>構文・引数</td><td>同じ</td><td>同じ</td></tr><tr><td>6つの単位</td><td>すべて使える</td><td>すべて使える</td></tr><tr><td>&#8220;MD&#8221;単位の精度</td><td>一部ケースで不正確な結果の報告あり</td><td>同様の問題あり</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Excelでは入力候補に表示されないため「存在しない関数」と思われがちですが、実際にはExcel 2000以降のすべてのバージョンで動作します。</p>



<p class="wp-block-paragraph">スプレッドシートからExcelにファイルを変換しても、DATEDIF関数の数式はそのまま動作します。チーム内でファイル形式が混在していても安心ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>WARNING</strong></p><p>&#8220;MD&#8221;単位は、一部の日付の組み合わせで不正確な結果を返すことがあります。厳密な日数計算が必要な場合は、DAY関数を使った手動計算を検討してください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">YEAR関数を使った代替手段との比較</span></h2>



<p class="wp-block-paragraph">DATEDIF関数を使わなくても、<a href="https://mashukabu.com/spreadsheet-year-function/">YEAR関数</a>やMONTH関数の引き算で年齢を求める方法もあります。</p>



<pre class="wp-block-code"><code>=YEAR(TODAY()) - YEAR(A2)</code></pre>



<p class="wp-block-paragraph">この数式でも年の差は出ますが、誕生日を迎えたかどうかを考慮しません。たとえば「1990/12/1」生まれの人は、2026年3月の時点ではまだ35歳ですが、YEAR関数の引き算では「36」と出てしまいます。</p>



<p class="wp-block-paragraph">DATEDIF関数なら「完了した年数」を正確に返すので、満年齢の計算にはDATEDIF関数を使ってください。</p>



<figure class="wp-block-table"><table><thead><tr><th>方法</th><th>数式例</th><th>メリット</th><th>デメリット</th></tr></thead><tbody><tr><td>DATEDIF関数</td><td><code>=DATEDIF(A2,TODAY(),"Y")</code></td><td>満年齢が正確</td><td>関数名が長い</td></tr><tr><td>YEAR引き算</td><td><code>=YEAR(TODAY())-YEAR(A2)</code></td><td>シンプル</td><td>誕生日前でも1歳多く出る</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">DATEDIF関数は、2つの日付の差を年・月・日の単位で計算する関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DATEDIF(開始日, 終了日, 単位)</code> の3引数</li><li>6つの単位のうち、Y/M/Dが「トータルの差」、YM/MD/YDが「端数部分の差」</li><li>年齢計算は <code>=DATEDIF(生年月日, TODAY(), "Y")</code> が定番</li><li>勤続年数は「Y」と「YM」を&#038;でつないで「X年Yヶ月」表示</li><li>開始日 > 終了日で#NUM!エラーが出るので、IFERRORで囲むと安全</li><li>Excelでも同じ構文で使える（非公式だが全バージョンで動作）</li></ul>



<p class="wp-block-paragraph">まずは <code>=DATEDIF(A2, TODAY(), "Y")</code> で年齢計算から試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-datedif-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのEDATE関数の使い方｜Nヶ月後の日付を自動計算</title>
		<link>https://mashukabu.com/spreadsheet-edate-function/</link>
					<comments>https://mashukabu.com/spreadsheet-edate-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:49:47 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[EDATE関数]]></category>
		<category><![CDATA[EOMONTH関数]]></category>
		<category><![CDATA[Nヶ月後]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[契約満了日]]></category>
		<category><![CDATA[日付計算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4322</guid>

					<description><![CDATA[スプレッドシートのEDATE関数の使い方を基本から解説。Nヶ月後・Nヶ月前の日付を自動計算する方法、契約満了日や定期点検日の算出、月末日の自動調整の仕組み、EOMONTH・DATE関数との使い分けまで実務で役立つテクニックを紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「契約開始日から3ヶ月後の満了日を出したい」「定期点検の次回日程をまとめて計算したい」――日付に月数を足す作業、手計算でやっていませんか？</p>



<p class="wp-block-paragraph">月によって日数がバラバラなので、3ヶ月後が何月何日になるか意外と迷いますよね。2月を挟むとさらにややこしくなります。</p>



<p class="wp-block-paragraph">そんなときに使いたいのがスプレッドシートのEDATE関数です。開始日と月数を指定するだけで、Nヶ月後・Nヶ月前の日付を正確に返してくれます。</p>



<p class="wp-block-paragraph">この記事では基本の書き方から、契約管理・定期点検などの実務活用例、EOMONTH・DATE関数との使い分けまで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-5" checked><label class="toc-title" for="toc-checkbox-5">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのEDATE関数とは？Nヶ月後の日付を返す関数</a></li><li><a href="#toc2" tabindex="0">EDATE関数の基本の書き方</a><ol><li><a href="#toc3" tabindex="0">構文と引数</a></li><li><a href="#toc4" tabindex="0">引数の詳細</a></li></ol></li><li><a href="#toc5" tabindex="0">EDATE関数の基本的な使い方</a></li><li><a href="#toc6" tabindex="0">実務で使えるEDATE関数の活用例3選</a><ol><li><a href="#toc7" tabindex="0">契約開始日から満了日を自動計算する</a></li><li><a href="#toc8" tabindex="0">定期点検の次回日程を自動計算する</a></li><li><a href="#toc9" tabindex="0">Nヶ月前の日付を求める（月数にマイナス値）</a></li><li><a href="#toc10" tabindex="0">ARRAYFORMULA関数と組み合わせて複数行まとめて計算する</a></li></ol></li><li><a href="#toc11" tabindex="0">EDATE関数の月末日の自動調整を理解する</a></li><li><a href="#toc12" tabindex="0">EOMONTH関数との使い分け</a></li><li><a href="#toc13" tabindex="0">WORKDAY関数との使い分け</a></li><li><a href="#toc14" tabindex="0">EDATE関数のよくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">開始日が文字列になっているとき</a></li><li><a href="#toc16" tabindex="0">日付でなく数字が表示されるとき</a></li></ol></li><li><a href="#toc17" tabindex="0">EDATE関数に関するよくある質問</a><ol><li><a href="#toc18" tabindex="0">Q1. 結果が数値で表示される場合はどうすればよいですか？</a></li><li><a href="#toc19" tabindex="0">Q2. ExcelのEDATE関数と同じ構文で使えますか？</a></li><li><a href="#toc20" tabindex="0">Q3. 月数に小数を指定するとどうなりますか？</a></li><li><a href="#toc21" tabindex="0">Q4. 年単位で加算するにはどうすればよいですか？</a></li><li><a href="#toc22" tabindex="0">Q5. 負の月数を使って過去の日付を求められますか？</a></li></ol></li><li><a href="#toc23" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのEDATE関数とは？Nヶ月後の日付を返す関数</span></h2>



<p class="wp-block-paragraph">EDATE関数（読み方: イーデイト関数）は、<strong>指定した日付からNヶ月後（またはNヶ月前）の日付を返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「Extended DATE（拡張された日付）」の略です。</p>



<p class="wp-block-paragraph">たとえば「2026/1/15」の3ヶ月後を求めると「2026/4/15」が返ります。月数にマイナス値を指定すれば過去の日付も取得できます。</p>



<p class="wp-block-paragraph">EDATE関数でできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>基準日からNヶ月後の同日を自動計算する</li><li>マイナス値でNヶ月前の日付も取得できる</li><li>月末日が存在しない場合は自動で月末に調整される</li><li><a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>と組み合わせて「今日からN ヶ月後」を動的に計算する</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>EDATE関数はGoogleスプレッドシートの全バージョンで使えます。Excelでも同じ構文で動作するので、ファイル共有時も安心です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">EDATE関数の基本の書き方</span></h2>



<h3 class="wp-block-heading"><span id="toc3">構文と引数</span></h3>



<pre class="wp-block-code"><code>=EDATE(開始日, 月数)</code></pre>



<p class="wp-block-paragraph">カッコの中に「開始日」と「月数」を入れるだけです。引数は2つとも必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>開始日</td><td>必須</td><td>基準となる日付（セル参照や日付値）</td></tr><tr><td>月数</td><td>必須</td><td>加算する月数（正の値で未来、負の値で過去）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">月数には整数を指定します。小数を入れた場合は小数部が切り捨てられます。たとえば「2.7」を指定すると「2」として扱われます。</p>



<h2 class="wp-block-heading"><span id="toc5">EDATE関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">もっともシンプルな使い方です。A1に「2026/1/15」が入っているとします。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=EDATE(A1, 3)</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-edate-function/02_formula_edate-basic.png/">_images/spreadsheet-edate-function/02_formula_edate-basic.png</a></p>



<p class="wp-block-paragraph">結果は「2026/4/15」です。1月15日の3ヶ月後なので、4月15日が返ります。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_edate-basic.png" alt="03 result edate basic" /></figure>



<p class="wp-block-paragraph">マイナス値を指定すれば過去の日付も取得できます。</p>



<pre class="wp-block-code"><code>=EDATE(A1, -2)</code></pre>



<p class="wp-block-paragraph">結果は「2025/11/15」です。2ヶ月前の日付が返りますよ。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>と組み合わせれば「今日から6ヶ月後」も簡単です。</p>



<pre class="wp-block-code"><code>=EDATE(TODAY(), 6)</code></pre>



<p class="wp-block-paragraph">スプレッドシートを開くたびに自動で更新されます。契約期限のアラート管理に便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc6">実務で使えるEDATE関数の活用例3選</span></h2>



<h3 class="wp-block-heading"><span id="toc7">契約開始日から満了日を自動計算する</span></h3>



<p class="wp-block-paragraph">契約管理でもっとも多いパターンです。A列に契約開始日、B列に契約月数が入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（契約開始日）</th><th>B列（契約月数）</th><th>C列（満了日）</th></tr></thead><tbody><tr><td>1</td><td>2026/1/15</td><td>3</td><td>=EDATE(A1,B1) → 2026/4/15</td></tr><tr><td>2</td><td>2026/4/1</td><td>6</td><td>=EDATE(A2,B2) → 2026/10/1</td></tr><tr><td>3</td><td>2026/7/10</td><td>12</td><td>=EDATE(A3,B3) → 2027/7/10</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_edate-contract.png" alt="04 result edate contract" /></figure>



<p class="wp-block-paragraph">月数をセル参照にすれば、3ヶ月契約でも6ヶ月契約でも同じ数式で対応できます。</p>



<p class="wp-block-paragraph">満了日の30日前にアラートを出す数式も組み合わせてみましょう。</p>



<pre class="wp-block-code"><code>=IF(EDATE(A1,B1)-TODAY()&lt;=30, &quot;更新確認&quot;, &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">IF関数（条件に応じて値を切り替える関数）で満了日と今日の差が30日以下になったら「更新確認」と表示します。</p>



<h3 class="wp-block-heading"><span id="toc8">定期点検の次回日程を自動計算する</span></h3>



<p class="wp-block-paragraph">設備やシステムの定期点検スケジュールにも活用できます。A列に前回点検日、B列に点検間隔（月数）が入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（前回点検日）</th><th>B列（間隔）</th><th>C列（次回点検日）</th></tr></thead><tbody><tr><td>1</td><td>2026/2/10</td><td>3</td><td>=EDATE(A1,B1) → 2026/5/10</td></tr><tr><td>2</td><td>2026/3/1</td><td>6</td><td>=EDATE(A2,B2) → 2026/9/1</td></tr><tr><td>3</td><td>2026/1/20</td><td>1</td><td>=EDATE(A3,B3) → 2026/2/20</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">点検が完了したらA列を最新の日付に更新すれば、次回日程も自動で再計算されます。</p>



<h3 class="wp-block-heading"><span id="toc9">Nヶ月前の日付を求める（月数にマイナス値）</span></h3>



<p class="wp-block-paragraph">「過去6ヶ月分のデータを抽出したい」ときに開始日を求められます。</p>



<pre class="wp-block-code"><code>=EDATE(TODAY(), -6)</code></pre>



<p class="wp-block-paragraph">今日が2026/3/19なら、結果は「2025/9/19」です。</p>



<p class="wp-block-paragraph">FILTER関数（条件に合うデータだけを抽出する関数）と組み合わせると便利です。A列に日付、B列に売上が入っているとします。</p>



<pre class="wp-block-code"><code>=FILTER(A:B, A:A&gt;=EDATE(TODAY(),-6))</code></pre>



<p class="wp-block-paragraph">直近6ヶ月分のデータだけが抽出されます。日付の境界が毎日自動で動くので、レポートの更新作業が不要になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">ARRAYFORMULA関数と組み合わせて複数行まとめて計算する</span></h3>



<p class="wp-block-paragraph">契約日や点検日が何十行も並んでいると、1行ずつEDATE関数をコピーするのは面倒ですよね。そんなときは<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせると便利です。</p>



<p class="wp-block-paragraph">ARRAYFORMULA関数は、範囲を渡すだけで全行に同じ計算を一括適用してくれる関数です。1つの数式で列全体を処理できます。</p>



<p class="wp-block-paragraph">A2からA10に契約開始日が入っていて、それぞれの3ヶ月後をC列にまとめて出す例です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(EDATE(A2:A10, 3))</code></pre>



<p class="wp-block-paragraph">C2に入力するだけで、A2〜A10の各日付から3ヶ月後の日付が一気に表示されます。行ごとに数式をコピーする必要はありません。</p>



<p class="wp-block-paragraph">ただし、このままだとデータが入っていない空白行に「1900/1/3」のような変な日付が出てしまいます。空白セルをゼロ（つまり日付の起点）として計算してしまうためです。</p>



<p class="wp-block-paragraph">そこでIF関数で空白を判定して回避します。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A=&quot;&quot;, &quot;&quot;, EDATE(A2:A, 3)))</code></pre>



<p class="wp-block-paragraph">A列が空白の行は空白のまま、日付が入っている行だけ3ヶ月後を計算します。<code>A2:A</code> のように行番号を省略して列全体を指定すれば、後からデータを追加しても自動で計算されますよ。</p>



<p class="wp-block-paragraph">月数もセル参照にしたいときは、月数の列を範囲で渡します。A列が開始日、B列が契約月数の場合です。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A=&quot;&quot;, &quot;&quot;, EDATE(A2:A, B2:B)))</code></pre>



<p class="wp-block-paragraph">これで「3ヶ月契約は3ヶ月後、6ヶ月契約は6ヶ月後」と、行ごとに異なる月数でまとめて計算できます。契約一覧表の満了日を1つの数式で管理できるので、メンテナンスがぐっと楽になります。</p>



<h2 class="wp-block-heading"><span id="toc11">EDATE関数の月末日の自動調整を理解する</span></h2>



<p class="wp-block-paragraph">EDATE関数の重要な特徴が「月末日の自動調整」です。</p>



<p class="wp-block-paragraph">開始日が1月31日で1ヶ月後を求める場合を見てみましょう。</p>



<pre class="wp-block-code"><code>=EDATE(&quot;2026/1/31&quot;, 1)</code></pre>



<p class="wp-block-paragraph">結果は「2026/2/28」です。2月には31日がないため、自動的に2月の末日（28日）に調整されます。</p>



<p class="wp-block-paragraph">これが<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>との大きな違いです。同じ計算をDATE関数でやると結果が変わります。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(A1), MONTH(A1)+1, DAY(A1))</code></pre>



<p class="wp-block-paragraph">A1が「2026/1/31」の場合、結果は「2026/3/3」です。2月31日は存在しないため、3日分が3月にロールオーバー（繰り越し）されます。</p>



<p class="wp-block-paragraph">具体的な比較を見てみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>開始日</th><th>月数</th><th>EDATE関数の結果</th><th>DATE関数の結果</th></tr></thead><tbody><tr><td>2026/1/31</td><td>+1</td><td>2026/2/28（月末に調整）</td><td>2026/3/3（ロールオーバー）</td></tr><tr><td>2026/1/31</td><td>+2</td><td>2026/3/31（31日がある月はそのまま）</td><td>2026/3/31（同じ結果）</td></tr><tr><td>2026/3/31</td><td>+1</td><td>2026/4/30（月末に調整）</td><td>2026/5/1（ロールオーバー）</td></tr><tr><td>2026/1/29</td><td>+1</td><td>2026/2/28（月末に調整）</td><td>2026/3/1（ロールオーバー）</td></tr></tbody></table></figure>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_edate-monthend.png" alt="05 result edate monthend" /></figure>



<p class="wp-block-paragraph">月末日が絡む計算では、EDATE関数のほうが直感的な結果を返してくれます。「3月31日の1ヶ月後は4月30日」と解釈されるのは自然ですよね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「月末日を必ず月末に維持したい」場合はEDATE関数、「厳密に同じ日付を保ちたい」場合はDATE関数と使い分けましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc12">EOMONTH関数との使い分け</span></h2>



<p class="wp-block-paragraph">EDATE関数とよくセットで紹介されるのがEOMONTH関数（読み方: イーオーマンス関数）です。</p>



<p class="wp-block-paragraph">EOMONTH関数は「Nヶ月後の月末日」を返す関数です。構文はEDATE関数とほぼ同じです。</p>



<pre class="wp-block-code"><code>=EOMONTH(開始日, 月数)</code></pre>



<p class="wp-block-paragraph">両者の違いを比較表で整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>EDATE関数</th><th>EOMONTH関数</th></tr></thead><tbody><tr><td>返す日付</td><td>Nヶ月後の<strong>同日</strong></td><td>Nヶ月後の<strong>月末日</strong></td></tr><tr><td>2026/1/15の2ヶ月後</td><td>2026/3/15</td><td>2026/3/31</td></tr><tr><td>2026/1/31の1ヶ月後</td><td>2026/2/28（月末に調整）</td><td>2026/2/28（月末日）</td></tr><tr><td>主な用途</td><td>契約満了日・次回点検日</td><td>月末締め・支払期日</td></tr><tr><td>月末の扱い</td><td>存在しない日は月末に調整</td><td>常に月末日を返す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けの目安はシンプルです。</p>



<ul class="wp-block-list"><li>「Nヶ月後の同じ日」がほしい → <strong>EDATE関数</strong></li><li>「Nヶ月後の月末日」がほしい → <strong>EOMONTH関数</strong></li></ul>



<p class="wp-block-paragraph">たとえば「毎月15日が支払日」ならEDATE関数、「毎月末が締め日」ならEOMONTH関数を選びます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>当月の末日を求めるだけなら <code>=EOMONTH(TODAY(), 0)</code> が最も簡単です。<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>の <code>=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 0)</code> でも同じ結果が得られますが、EOMONTHのほうが数式がシンプルですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc13">WORKDAY関数との使い分け</span></h2>



<p class="wp-block-paragraph">「Nヶ月後」ではなく「N営業日後」を求めたいときは、EDATE関数ではなく<a href="https://mashukabu.com/spreadsheet-workday-function/">WORKDAY関数</a>を使います。</p>



<p class="wp-block-paragraph">WORKDAY関数は、開始日から指定した営業日数（土日を除いた日数）だけ進んだ日付を返す関数です。構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=WORKDAY(開始日, 日数, [休日])</code></pre>



<p class="wp-block-paragraph">EDATE関数とWORKDAY関数は、どちらも「未来の日付」を計算しますが、数える単位がまったく違います。EDATE関数はカレンダーの月単位、WORKDAY関数は土日を除いた営業日単位です。</p>



<p class="wp-block-paragraph">両者を比較表で整理しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>EDATE関数</th><th>WORKDAY関数</th></tr></thead><tbody><tr><td>数える単位</td><td>月数（カレンダー月）</td><td>営業日数（日単位）</td></tr><tr><td>土日の扱い</td><td>区別せず同日を返す</td><td>土日をスキップする</td></tr><tr><td>祝日の考慮</td><td>なし</td><td>休日リストを指定可能</td></tr><tr><td>2026/1/15から</td><td>+1ヶ月 → 2026/2/15</td><td>+10営業日 → 2026/1/29</td></tr><tr><td>向いている用途</td><td>契約満了日・定期更新・Nヶ月後の日付</td><td>請求支払期限・納品日・検収期限</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使い分けの基準は「月で数えるか、営業日で数えるか」のひと言に尽きます。</p>



<ul class="wp-block-list"><li>「3ヶ月後」「半年後」など<strong>月単位</strong>で考える → <strong>EDATE関数</strong></li><li>「10営業日以内」「5営業日後」など<strong>営業日単位</strong>で考える → <strong>WORKDAY関数</strong></li></ul>



<p class="wp-block-paragraph">たとえば「契約満了は6ヶ月後」ならEDATE関数、「請求書発行から10営業日以内に入金」ならWORKDAY関数が適しています。土日や祝日をまたぐ納期管理では、営業日で数えるWORKDAY関数のほうが実態に合いますよ。</p>



<h2 class="wp-block-heading"><span id="toc14">EDATE関数のよくあるエラーと対処法</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>開始日が日付として認識されていない</td><td>セルの値が日付型か確認する。文字列の場合はDATEVALUE関数（日付文字列を日付値に変換する関数）で変換する</td></tr><tr><td>#VALUE!</td><td>月数に数値以外が入っている</td><td>月数のセルに文字列が混ざっていないか確認する</td></tr><tr><td>数字が表示される</td><td>表示形式が「数値」になっている</td><td>セルの表示形式を「日付」に変更する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc15">開始日が文字列になっているとき</span></h3>



<p class="wp-block-paragraph">「2026/1/15」と手入力した値が文字列として認識されるケースがあります。セルの左上に小さな三角マークが出ていたら文字列の可能性があります。</p>



<pre class="wp-block-code"><code>=EDATE(DATEVALUE(&quot;2026/1/15&quot;), 3)</code></pre>



<p class="wp-block-paragraph">DATEVALUE関数で文字列を日付値に変換すれば解決します。ただし最初から<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>で日付を作成するほうが確実です。</p>



<h3 class="wp-block-heading"><span id="toc16">日付でなく数字が表示されるとき</span></h3>



<p class="wp-block-paragraph">EDATE関数の結果が「46112」のような数字で表示される場合は、セルの表示形式が「数値」になっています。</p>



<p class="wp-block-paragraph">セルを選択して「表示形式」メニューから「日付」を選べば正しく表示されます。関数自体は正常に動作しているので安心してください。</p>



<h2 class="wp-block-heading"><span id="toc17">EDATE関数に関するよくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc18">Q1. 結果が数値で表示される場合はどうすればよいですか？</span></h3>



<p class="wp-block-paragraph">セルの表示形式を「日付」に変更してください。EDATE関数は内部的に日付シリアル値（1900年からの通算日数）を返すため、セルが数値書式のままだと「46112」のような数字で表示されます。</p>



<p class="wp-block-paragraph">セルを選択して「表示形式」メニューから「日付」を選べば、正しい日付表示に切り替わります。関数の計算結果は正常なので、見た目の問題だけですよ。</p>



<h3 class="wp-block-heading"><span id="toc19">Q2. ExcelのEDATE関数と同じ構文で使えますか？</span></h3>



<p class="wp-block-paragraph">はい、まったく同じ構文で使えます。<code>=EDATE(開始日, 月数)</code> という書き方はExcelとGoogleスプレッドシートで完全に共通です。</p>



<p class="wp-block-paragraph">月末日の自動調整など、動作仕様も同じです。ExcelファイルをGoogleスプレッドシートに取り込んでも、EDATE関数を含む数式はそのまま動作するので、ファイル共有時も安心してください。</p>



<h3 class="wp-block-heading"><span id="toc20">Q3. 月数に小数を指定するとどうなりますか？</span></h3>



<p class="wp-block-paragraph">小数点以下が切り捨てられます。たとえば <code>=EDATE(A1, 2.6)</code> は <code>=EDATE(A1, 2)</code> と同じ結果になり、2ヶ月後の日付が返ります。</p>



<p class="wp-block-paragraph">「1.5ヶ月後」のような半月単位の計算はEDATE関数ではできません。日数で調整したい場合は、結果に日数を足す（例: <code>=EDATE(A1,1)+15</code>）といった工夫が必要です。</p>



<h3 class="wp-block-heading"><span id="toc21">Q4. 年単位で加算するにはどうすればよいですか？</span></h3>



<p class="wp-block-paragraph">月数に12の倍数を指定します。1年は12ヶ月なので <code>=EDATE(A1, 12)</code> で1年後、<code>=EDATE(A1, 24)</code> で2年後、<code>=EDATE(A1, 36)</code> で3年後の日付が求められます。</p>



<p class="wp-block-paragraph">「契約は2年更新」のような年単位の管理では、<code>=EDATE(A1, 契約年数*12)</code> のように年数に12を掛ける書き方にすると、セルに年数を入れるだけで計算できて便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc22">Q5. 負の月数を使って過去の日付を求められますか？</span></h3>



<p class="wp-block-paragraph">求められます。月数にマイナス値を指定すると、その分だけ過去の日付が返ります。<code>=EDATE(A1, -3)</code> ならA1から3ヶ月前の日付です。</p>



<p class="wp-block-paragraph">「3ヶ月前の月初から集計したい」「半年前のデータ開始日を出したい」といった過去基準の計算で活躍します。<a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>と組み合わせた <code>=EDATE(TODAY(), -6)</code> なら、常に「今日から半年前」を動的に求められますよ。</p>



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



<p class="wp-block-paragraph">EDATE関数は、指定した日付からNヶ月後・Nヶ月前の日付を返す関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=EDATE(開始日, 月数)</code> の2引数。月数にマイナス値で過去の日付も取得できる</li><li>月末日が存在しない場合は自動で月末に調整される（1/31の1ヶ月後は2/28）</li><li>契約満了日・定期点検日・データ抽出期間の計算に最適</li><li><a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせれば、列全体の日付を1つの数式で一括計算できる</li><li>「Nヶ月後の同日」はEDATE関数、「Nヶ月後の月末日」はEOMONTH関数</li><li>「N営業日後」を求めたいときは<a href="https://mashukabu.com/spreadsheet-workday-function/">WORKDAY関数</a>を使う</li><li><a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>はロールオーバーするため月末日の扱いに注意</li><li><a href="https://mashukabu.com/spreadsheet-datedif-function/">DATEDIF関数</a>は逆に「2つの日付の差を月数で計算する」ときに使う</li></ul>



<p class="wp-block-paragraph">まずは <code>=EDATE(TODAY(), 3)</code> で今日から3ヶ月後の日付を求めるところから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-edate-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのYEAR関数の使い方｜日付から年だけを取り出す方法</title>
		<link>https://mashukabu.com/spreadsheet-year-function/</link>
					<comments>https://mashukabu.com/spreadsheet-year-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 09:20:19 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[DAY関数]]></category>
		<category><![CDATA[MONTH関数]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[YEAR関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[年度計算]]></category>
		<category><![CDATA[日付関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4272</guid>

					<description><![CDATA[スプレッドシートのYEAR関数の使い方を基本から解説。日付から年だけを取り出す方法、年度の判定（YEAR+IF）、年ごとの集計（SUMPRODUCT+YEAR）など実務テクニックを紹介。MONTH・DAY関数との違いやDATE関数との組み合わせも解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「日付データから年だけを取り出して、年度ごとに集計したい」。こんな場面はありませんか？</p>



<p class="wp-block-paragraph">手作業で年を書き写していると、データが増えたときに大変ですよね。入力ミスも起きやすいです。</p>



<p class="wp-block-paragraph">Googleスプレッドシートの<strong>YEAR関数</strong>を使えば、日付から年（西暦4桁）を一発で取り出せます。</p>



<p class="wp-block-paragraph">この記事では、YEAR関数の基本から年度判定・年ごとの集計まで、実務で使えるテクニックをまとめて紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">YEAR関数とは？スプレッドシートで日付から年を取り出す関数</a></li><li><a href="#toc2" tabindex="0">YEAR関数の基本の書き方</a><ol><li><a href="#toc3" tabindex="0">構文と引数</a></li><li><a href="#toc4" tabindex="0">戻り値</a></li><li><a href="#toc5" tabindex="0">入力例</a></li></ol></li><li><a href="#toc6" tabindex="0">基本的な使い方｜日付から年だけを取り出す</a></li><li><a href="#toc7" tabindex="0">実務で使えるYEAR関数の活用例</a><ol><li><a href="#toc8" tabindex="0">年度を判定する（YEAR + IF）</a></li><li><a href="#toc9" tabindex="0">年ごとに集計する（SUMPRODUCT + YEAR）</a></li><li><a href="#toc10" tabindex="0">年ごとの件数を数える（SUMPRODUCT + YEAR）</a></li><li><a href="#toc11" tabindex="0">ARRAYFORMULA と組み合わせる（補助列を使わない方法）</a></li><li><a href="#toc12" tabindex="0">生年月日から生まれ年・年代を取り出す</a></li><li><a href="#toc13" tabindex="0">N年後の日付を求める（DATE + YEAR）</a></li><li><a href="#toc14" tabindex="0">今年・去年を動的に判定する（TODAY + YEAR）</a></li></ol></li><li><a href="#toc15" tabindex="0">YEAR・MONTH・DAY関数の違いと使い分け</a></li><li><a href="#toc16" tabindex="0">ピボットテーブルで年ごとに集計する方法との違い</a></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc19" tabindex="0">意図しない年が返る</a></li></ol></li><li><a href="#toc20" tabindex="0">YEAR関数 よくある質問</a><ol><li><a href="#toc21" tabindex="0">Q1. 「2026/3/19」と入力したのに、年が「1905」など変な値になります</a></li><li><a href="#toc22" tabindex="0">Q2. YEAR関数で「1900」や「1899」が返ってきます</a></li><li><a href="#toc23" tabindex="0">Q3. テキスト形式の「2026年3月19日」から年を取り出したいです</a></li><li><a href="#toc24" tabindex="0">Q4. インポートしたデータが「2026-03-19T00:00:00Z」のような形式で年が取り出せません</a></li></ol></li><li><a href="#toc25" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">YEAR関数とは？スプレッドシートで日付から年を取り出す関数</span></h2>



<p class="wp-block-paragraph">YEAR関数（読み方: イヤー関数）は、<strong>日付データから「年」の部分だけを数値として取り出す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は英語の「year（年）」がそのまま関数名になっています。</p>



<p class="wp-block-paragraph">たとえばセルに「2026/3/19」という日付が入っていれば、YEAR関数は「2026」を返します。とてもシンプルですね。</p>



<p class="wp-block-paragraph">YEAR関数でできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>日付から年（西暦4桁）を数値で取り出す</li><li>TODAY関数と組み合わせて「今年の西暦」を動的に取得する</li><li>IF関数と組み合わせて年度（4月始まり等）を判定する</li><li>SUMPRODUCT関数と組み合わせて年ごとの集計を行う</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>YEAR関数はGoogleスプレッドシートの全バージョンで使えます。Excelでも同じ構文で動作するので、ファイル共有時も安心です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">YEAR関数の基本の書き方</span></h2>



<h3 class="wp-block-heading"><span id="toc3">構文と引数</span></h3>



<pre class="wp-block-code"><code>=YEAR(日付)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>日付</td><td>必須</td><td>年を取り出したい日付データ。セル参照、DATE関数の戻り値、日付として認識される文字列を指定できます</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数はたった1つだけです。覚えやすいですよね。</p>



<h3 class="wp-block-heading"><span id="toc4">戻り値</span></h3>



<p class="wp-block-paragraph">YEAR関数は<strong>1900〜9999の範囲の整数</strong>を返します。「2026/3/19」なら「2026」、「1990/1/1」なら「1990」です。</p>



<p class="wp-block-paragraph">返すのは数値です。文字列ではありません。そのため、取り出した年をそのまま計算に使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc5">入力例</span></h3>



<pre class="wp-block-code"><code>=YEAR(A2)           … セルA2の日付から年を取得
=YEAR(TODAY())       … 今日の日付から年を取得（今年の西暦）
=YEAR(&quot;2026/3/19&quot;)  … 日付文字列から年を取得 → 2026</code></pre>



<h2 class="wp-block-heading"><span id="toc6">基本的な使い方｜日付から年だけを取り出す</span></h2>



<p class="wp-block-paragraph">実際の使い方を見てみましょう。受注日の一覧から年を取り出すケースです。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A列（受注日）</th><th>B列（年）</th></tr></thead><tbody><tr><td>2行目</td><td>2024/8/15</td><td>=YEAR(A2) → <strong>2024</strong></td></tr><tr><td>3行目</td><td>2025/3/1</td><td>=YEAR(A3) → <strong>2025</strong></td></tr><tr><td>4行目</td><td>2026/12/20</td><td>=YEAR(A4) → <strong>2026</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">B2セルに <code>=YEAR(A2)</code> と入力するだけです。あとは下方向にコピーすれば、すべての行の年を取り出せます。</p>



<p class="wp-block-paragraph">YEAR関数の結果は数値なので、フィルタで「2025」だけに絞り込んだり、ピボットテーブルの行に配置したりできます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>「今年の西暦」を取得するなら <code>=YEAR(TODAY())</code> が便利です。<a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>が今日の日付を返し、YEAR関数がそこから年を取り出します。ファイルを開くたびに自動更新されますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc7">実務で使えるYEAR関数の活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc8">年度を判定する（YEAR + IF）</span></h3>



<p class="wp-block-paragraph">日本の会社では4月始まりの「年度」を使うことが多いですよね。YEAR関数とIF関数を組み合わせれば、日付から年度を自動判定できます。</p>



<pre class="wp-block-code"><code>=IF(MONTH(A2)&gt;=4, YEAR(A2), YEAR(A2)-1)</code></pre>



<p class="wp-block-paragraph">この数式のポイントは次のとおりです。</p>



<ul class="wp-block-list"><li>MONTH関数で月を取り出す（1〜12の数値）</li><li>4月以降（4〜12月）なら、その年がそのまま年度</li><li>1〜3月なら、前年が年度（YEAR(A2)-1）</li></ul>



<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>2026/6/15</td><td>6（4月以降）</td><td><strong>2026</strong>年度</td></tr><tr><td>2026/2/10</td><td>2（3月以前）</td><td><strong>2025</strong>年度</td></tr><tr><td>2025/4/1</td><td>4（4月以降）</td><td><strong>2025</strong>年度</td></tr><tr><td>2025/3/31</td><td>3（3月以前）</td><td><strong>2024</strong>年度</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">4月1日と3月31日で年度が変わるのがわかりますね。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>年度の開始月が4月以外の場合は、数式の「4」を変更してください。たとえば10月始まりなら <code>=IF(MONTH(A2)>=10, YEAR(A2), YEAR(A2)-1)</code> です。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc9">年ごとに集計する（SUMPRODUCT + YEAR）</span></h3>



<p class="wp-block-paragraph">「年ごとの売上合計を出したい」という場面では、SUMPRODUCT関数とYEAR関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((YEAR(A2:A100)=2026)*B2:B100)</code></pre>



<p class="wp-block-paragraph">この数式は、A列の日付が2026年の行だけを対象に、B列の金額を合計します。</p>



<p class="wp-block-paragraph">数式の仕組みを分解すると、次のとおりです。</p>



<ol class="wp-block-list"><li><code>YEAR(A2:A100)</code> で各行の年を取り出す</li><li><code>=2026</code> で2026年かどうかを判定（TRUE/FALSE）</li><li>TRUEは1、FALSEは0として金額と掛け算される</li><li>SUMPRODUCTが合計を返す</li></ol>



<p class="wp-block-paragraph">ちょっとむずかしく見えますが、やっていることはシンプルです。「年が一致する行だけ合計する」という意味ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SUMIF関数で <code>=SUMIF(A2:A100, "2026", B2:B100)</code> のように年を文字列で指定しても、日付と年は型が違うため正しく集計できません。SUMPRODUCT+YEAR関数の組み合わせを使いましょう。</p></blockquote>



<p class="wp-block-paragraph">今年の売上を動的に集計したい場合は、「2026」の部分をYEAR(TODAY())に置き換えます。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((YEAR(A2:A100)=YEAR(TODAY()))*B2:B100)</code></pre>



<h3 class="wp-block-heading"><span id="toc10">年ごとの件数を数える（SUMPRODUCT + YEAR）</span></h3>



<p class="wp-block-paragraph">「年ごとの売上合計」だけでなく、「年ごとに何件あったか」を数えたい場面も多いですよね。契約件数や問い合わせ件数の集計です。</p>



<p class="wp-block-paragraph">これもSUMPRODUCT関数とYEAR関数で実現できます。合計のときの「金額範囲」を「1」に置き換えるだけです。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((YEAR(A2:A100)=2026)*1)</code></pre>



<p class="wp-block-paragraph">A列の日付が2026年の行だけを「1」として数え上げます。最後の <code>*1</code> がTRUE/FALSEを数値の1/0に変換する役割です。</p>



<p class="wp-block-paragraph">仕組みは合計のときと同じで、次のように動きます。</p>



<ol class="wp-block-list"><li><code>YEAR(A2:A100)</code> で各行の年を取り出す</li><li><code>=2026</code> で2026年かどうかを判定（TRUE/FALSE）</li><li><code>*1</code> でTRUEを1、FALSEを0に変換する</li><li>SUMPRODUCTが1の個数（＝件数）を合計する</li></ol>



<p class="wp-block-paragraph">今年の件数を動的に数えたいなら、<code>2026</code> を <code>YEAR(TODAY())</code> に置き換えてください。ファイルを開くたびに自動更新されますよ。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT((YEAR(A2:A100)=YEAR(TODAY()))*1)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>日付範囲で数える方法もあります。<code>=COUNTIFS(A2:A100, ">="&DATE(2026,1,1), A2:A100, "<="&#038;DATE(2026,12,31))</code> のようにDATE関数で年初と年末を指定する書き方です。YEAR関数を使わずに範囲指定したいときはこちらが便利ですが、年が増えるたびに条件を書き換える手間があります。複数年をまとめて扱うならSUMPRODUCT+YEAR関数のほうが応用しやすいですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">ARRAYFORMULA と組み合わせる（補助列を使わない方法）</span></h3>



<p class="wp-block-paragraph"><code>=YEAR(A2)</code> を下方向にコピーするのが基本ですが、データが日々増える表だと、コピー範囲が足りなくなることがありますよね。</p>



<p class="wp-block-paragraph">そんなときは<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>と組み合わせると、1か所の入力だけで全行に年を展開できます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(YEAR(A2:A100))</code></pre>



<p class="wp-block-paragraph">B2セルにこの1行を入れるだけで、A2からA100までの年が一括で表示されます。新しい行を追加しても範囲内なら自動で計算されますよ。</p>



<p class="wp-block-paragraph">ただし、空白セルがあると <code>YEAR("")</code> がエラーになる点に注意してください。空白行を含む範囲では、IF関数でガードを入れます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A100&lt;&gt;&quot;&quot;, YEAR(A2:A100), &quot;&quot;))</code></pre>



<p class="wp-block-paragraph">これで「A列が空でない行だけ年を表示し、空白行は何も表示しない」という挙動になります。年度判定をARRAYFORMULA化したい場合も、同じ考え方でIF関数を組み合わせればOKです。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IF(A2:A100&lt;&gt;&quot;&quot;, IF(MONTH(A2:A100)&gt;=4, YEAR(A2:A100), YEAR(A2:A100)-1), &quot;&quot;))</code></pre>



<p class="wp-block-paragraph">補助列を毎回コピーする手間がなくなるので、フォーム回答やインポートデータのように行数が変動する表で重宝します。</p>



<h3 class="wp-block-heading"><span id="toc12">生年月日から生まれ年・年代を取り出す</span></h3>



<p class="wp-block-paragraph">YEAR関数は受注日や売上日だけでなく、人事や会員管理でも活躍します。社員台帳や顧客リストで「生まれ年」を列に追加したいケースですね。</p>



<p class="wp-block-paragraph">生年月日から生まれ年を取り出すのは、いつもどおりYEAR関数だけです。</p>



<pre class="wp-block-code"><code>=YEAR(A2)   … 生年月日のセルから生まれ年を取得</code></pre>



<p class="wp-block-paragraph">さらに「1980年代」「1990年代」のように年代で分類したいときは、INT関数を組み合わせます。</p>



<pre class="wp-block-code"><code>=INT(YEAR(A2)/10)*10</code></pre>



<p class="wp-block-paragraph">この数式は、生まれ年を10で割って小数点以下を切り捨て、また10を掛けることで「下1桁を0にする」処理です。</p>



<figure class="wp-block-table"><table><thead><tr><th>生年月日</th><th>生まれ年</th><th>年代の計算結果</th></tr></thead><tbody><tr><td>1985/7/3</td><td>1985</td><td><strong>1980</strong></td></tr><tr><td>1992/12/1</td><td>1992</td><td><strong>1990</strong></td></tr><tr><td>2001/4/20</td><td>2001</td><td><strong>2000</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>="（"&INT(YEAR(A2)/10)*10&"年代）"</code> のように文字列と結合すれば、「1980年代」という表示も作れます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>「年齢」を計算したい場合はYEAR関数ではなく、<a href="https://mashukabu.com/spreadsheet-datedif-function/">DATEDIF関数</a>が向いています。YEAR関数で年だけを引き算すると誕生日前後で1歳ずれることがあるためです。「生まれ年だけ欲しい」「年代で分類したい」という用途ならYEAR関数が最適ですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">N年後の日付を求める（DATE + YEAR）</span></h3>



<p class="wp-block-paragraph">契約更新日や資格の有効期限など、「N年後の日付」が必要な場面もありますよね。<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数</a>とYEAR関数を組み合わせれば計算できます。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(A2)+N, MONTH(A2), DAY(A2))</code></pre>



<p class="wp-block-paragraph">たとえば3年後の日付を求めるなら、次のように書きます。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(A2)+3, MONTH(A2), DAY(A2))</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>基準日</th><th>3年後</th></tr></thead><tbody><tr><td>2026/3/19</td><td><strong>2029/3/19</strong></td></tr><tr><td>2024/2/29</td><td><strong>2027/3/1</strong>（うるう年の調整）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">2月29日の3年後は2月29日が存在しないため、自動的に3月1日に繰り上がります。DATE関数のロールオーバー機能のおかげです。</p>



<h3 class="wp-block-heading"><span id="toc14">今年・去年を動的に判定する（TODAY + YEAR）</span></h3>



<p class="wp-block-paragraph">「今年のデータだけを色付けしたい」「去年と今年で分けたい」という場面では、<a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数</a>との組み合わせが便利です。</p>



<pre class="wp-block-code"><code>=YEAR(A2)=YEAR(TODAY())       … 今年のデータかどうか（TRUE/FALSE）
=YEAR(A2)=YEAR(TODAY())-1     … 去年のデータかどうか</code></pre>



<p class="wp-block-paragraph">条件付き書式のカスタム数式にも使えます。「今年のデータだけ背景色を変える」といった設定が簡単にできますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">YEAR・MONTH・DAY関数の違いと使い分け</span></h2>



<p class="wp-block-paragraph">YEAR関数には姉妹関数として<strong>MONTH関数</strong>と<strong>DAY関数</strong>があります。3つセットで覚えておくと便利です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>読み方</th><th>取り出す要素</th><th>戻り値の範囲</th><th>入力例（2026/3/19）</th><th>結果</th></tr></thead><tbody><tr><td>YEAR</td><td>イヤー</td><td>年</td><td>1900〜9999</td><td>=YEAR(A2)</td><td>2026</td></tr><tr><td>MONTH</td><td>マンス</td><td>月</td><td>1〜12</td><td>=MONTH(A2)</td><td>3</td></tr><tr><td>DAY</td><td>デイ</td><td>日</td><td>1〜31</td><td>=DAY(A2)</td><td>19</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3関数とも構文は同じで <code>=関数名(日付)</code> です。引数も1つだけなので、迷うことはありません。</p>



<p class="wp-block-paragraph">この3関数を組み合わせると、日付の分解と再構築が自由にできます。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(A2), MONTH(A2), DAY(A2))</code></pre>



<p class="wp-block-paragraph">上の数式はA2の日付をいったんYEAR・MONTH・DAYで分解し、DATE関数で再構築しています。このパターンは「年だけ変える」「月だけずらす」といった加工の基本形です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>日付を「2026年3月」のようにテキスト表示したい場合は、<a href="https://mashukabu.com/spreadsheet-text-function/">TEXT関数</a>を使ってください。<code>=TEXT(A2, "yyyy年m月")</code> で書式付きの文字列に変換できます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc16">ピボットテーブルで年ごとに集計する方法との違い</span></h2>



<p class="wp-block-paragraph">「SUMPRODUCT+YEAR関数の数式がむずかしい」と感じたら、ピボットテーブルという選択肢もあります。マウス操作で年ごとの集計ができる機能です。</p>



<p class="wp-block-paragraph">ピボットテーブルでは、日付の列を「行」に配置し、右クリックから「年でグループ化」を選ぶと、年単位の集計表が作れます。数式を一切書かずに、年ごとの売上や件数を出せるのが魅力です。</p>



<p class="wp-block-paragraph">数式とピボットテーブル、それぞれの向き不向きを整理すると次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>YEAR関数による数式</th><th>ピボットテーブル</th></tr></thead><tbody><tr><td>更新</td><td>データが増えると自動更新</td><td>手動で更新が必要なことがある</td></tr><tr><td>操作</td><td>数式の理解が必要</td><td>マウス操作で直感的</td></tr><tr><td>結果の活用</td><td>別シート・別の数式に組み込める</td><td>表として独立しやすい</td></tr><tr><td>条件の細かさ</td><td>年度・複数条件を自由に設定</td><td>グループ化の単位に依存</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ざっくり言うと、「集計結果を別の計算に使いたい」「自動で更新したい」なら数式、「とりあえず手早く眺めたい」ならピボットテーブル、という使い分けです。</p>



<p class="wp-block-paragraph">YEAR関数を覚えておけば、ピボットテーブルでは作りにくい「4月始まり年度での集計」なども柔軟に対応できます。両方を場面で使い分けられると、集計作業がぐっと楽になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc17">よくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc18">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph">YEAR関数で最もよくあるエラーです。原因は<strong>引数が日付として認識できない</strong>ことです。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>入力例</th><th>対処法</th></tr></thead><tbody><tr><td>文字列の日付</td><td>=YEAR("令和8年")</td><td>西暦の日付形式に変換する</td></tr><tr><td>数値の文字列</td><td>=YEAR("2026")</td><td>=YEAR(DATEVALUE("2026/1/1")) に変更</td></tr><tr><td>空白セル</td><td>=YEAR("")</td><td>IF関数で空白チェックを追加</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「2026/3/19」のような形式の文字列ならYEAR関数で認識できます。ただし「令和8年」や「R8」のような和暦は認識できませんので注意してください。</p>



<h3 class="wp-block-heading"><span id="toc19">意図しない年が返る</span></h3>



<p class="wp-block-paragraph">日付に見えて実は文字列になっているセルがあります。セルの左上に小さな緑の三角マークが出ていたら要注意です。</p>



<p class="wp-block-paragraph">「表示形式」→「数字」→「日付」で日付型に変換するか、DATEVALUE関数で文字列を日付に変換してからYEAR関数を使ってください。</p>



<h2 class="wp-block-heading"><span id="toc20">YEAR関数 よくある質問</span></h2>



<p class="wp-block-paragraph">YEAR関数を使っていてつまずきやすいポイントを、Q&A形式でまとめました。</p>



<h3 class="wp-block-heading"><span id="toc21">Q1. 「2026/3/19」と入力したのに、年が「1905」など変な値になります</span></h3>



<p class="wp-block-paragraph">セルの表示形式が「数値」になっていて、日付が日付シリアル値（数値）として扱われている可能性があります。この場合、YEAR関数はその数値を別の日付として解釈してしまいます。</p>



<p class="wp-block-paragraph">対処法は2つあります。1つはセルの表示形式を「日付」に変更すること。「表示形式」→「数字」→「日付」で切り替えられます。</p>



<p class="wp-block-paragraph">もう1つは、数式内で直接DATE関数を使う方法です。<code>=YEAR(DATE(2026,3,19))</code> のように書けば、確実に日付として認識されますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">Q2. YEAR関数で「1900」や「1899」が返ってきます</span></h3>



<p class="wp-block-paragraph">参照先のセルが空白になっていないか確認してください。空白セルは「0」として扱われ、シリアル値の0は1899年12月30日を指すため、YEAR関数が1899や1900を返してしまいます。</p>



<p class="wp-block-paragraph">対処法はIF関数で空白チェックを入れることです。</p>



<pre class="wp-block-code"><code>=IF(A2&lt;&gt;&quot;&quot;, YEAR(A2), &quot;&quot;)</code></pre>



<p class="wp-block-paragraph">これで「A2が空白なら何も表示せず、日付が入っていれば年を返す」という動きになります。集計表で空白行が混ざるときに特に有効です。</p>



<h3 class="wp-block-heading"><span id="toc23">Q3. テキスト形式の「2026年3月19日」から年を取り出したいです</span></h3>



<p class="wp-block-paragraph">「年」「月」「日」を含む和暦風のテキストは、そのままではYEAR関数で認識できません。<code>=YEAR("2026年3月19日")</code> は#VALUE!エラーになります。</p>



<p class="wp-block-paragraph">一番おすすめなのは、最初から「2026/3/19」という日付形式で入力することです。これがいちばん手間がかかりません。</p>



<p class="wp-block-paragraph">すでにテキストで入力済みの場合は、SUBSTITUTE関数で「年」「月」をスラッシュに置き換え、DATEVALUE関数で日付に変換してからYEAR関数に渡します。</p>



<pre class="wp-block-code"><code>=YEAR(DATEVALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,&quot;年&quot;,&quot;/&quot;),&quot;月&quot;,&quot;/&quot;),&quot;日&quot;,&quot;&quot;)))</code></pre>



<p class="wp-block-paragraph">ただし数式が複雑になるので、データが大量にある場合は入力ルール自体を「日付形式」に統一するのが現実的ですよ。</p>



<h3 class="wp-block-heading"><span id="toc24">Q4. インポートしたデータが「2026-03-19T00:00:00Z」のような形式で年が取り出せません</span></h3>



<p class="wp-block-paragraph">外部システムからのデータはISO 8601形式（<code>2026-03-19T00:00:00Z</code>）になっていることがあります。後半の時刻部分が邪魔をして、YEAR関数が認識できないケースです。</p>



<p class="wp-block-paragraph">LEFT関数で先頭10文字（日付部分）だけを取り出し、DATEVALUE関数で日付に変換すれば解決できます。</p>



<pre class="wp-block-code"><code>=YEAR(DATEVALUE(LEFT(A2,10)))</code></pre>



<p class="wp-block-paragraph"><code>LEFT(A2,10)</code> で「2026-03-19」だけを抜き出し、DATEVALUE関数が日付型に変換、最後にYEAR関数が年を取り出す、という流れです。インポートデータの加工で覚えておくと便利ですよ。</p>



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



<p class="wp-block-paragraph">この記事では、スプレッドシートのYEAR関数の使い方を解説しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>内容</th></tr></thead><tbody><tr><td>構文</td><td>=YEAR(日付)</td></tr><tr><td>できること</td><td>日付から年（西暦4桁）を数値で取り出す</td></tr><tr><td>姉妹関数</td><td>MONTH（月）・DAY（日）</td></tr><tr><td>年度判定</td><td>=IF(MONTH(A2)>=4, YEAR(A2), YEAR(A2)-1)</td></tr><tr><td>年ごと集計</td><td>=SUMPRODUCT((YEAR(範囲)=年)*金額範囲)</td></tr><tr><td>N年後の日付</td><td>=DATE(YEAR(A2)+N, MONTH(A2), DAY(A2))</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">YEAR関数は単体でも便利ですが、IF関数やSUMPRODUCT関数と組み合わせると活用の幅がぐっと広がります。まずは <code>=YEAR(A2)</code> で年を取り出すところから試してみてくださいね。</p>



<p class="wp-block-paragraph">日付操作をもっと知りたい方は、<a href="https://mashukabu.com/spreadsheet-date-function/">DATE関数の使い方</a>や<a href="https://mashukabu.com/spreadsheet-today-function/">TODAY関数の使い方</a>もあわせてチェックしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-year-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのDATE関数の使い方｜年・月・日から日付を作成する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-date/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-date/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 28 May 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DATE関数]]></category>
		<category><![CDATA[シリアル値]]></category>
		<category><![CDATA[日付作成]]></category>
		<category><![CDATA[日付計算]]></category>
		<category><![CDATA[関数比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=1903</guid>

					<description><![CDATA[ExcelのDATE関数で年・月・日の数値から日付を作成する方法を解説。別セルからの日付組み立て・月末日計算・○ヶ月後の算出など実務例を紹介し、TODAY・EOMONTHとの使い分けも整理しています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「年・月・日がバラバラのセルに入っているけど、これを1つの日付にまとめたい」と思ったことはありませんか。手入力で日付を打ち直すのは手間ですし、ミスのもとにもなりますよね。</p>



<p class="wp-block-paragraph">ExcelのDATE関数を使えば、年・月・日の数値を指定するだけで正しい日付を作成できます。この記事では基本の書き方から、月末日の算出や○ヶ月後の計算といった実務パターンまでまとめて紹介します。</p>



<p class="wp-block-paragraph">この記事は次のような人におすすめ</p>



<ul class="wp-block-list"><li>年・月・日が別セルに分かれたデータを日付にまとめたい</li><li>月末日や○ヶ月後の日付を数式で自動計算したい</li><li>DATE関数とTODAY関数・EOMONTH関数の違いを整理したい</li></ul>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-7" checked><label class="toc-title" for="toc-checkbox-7">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">DATE関数とは？</a></li><li><a href="#toc2" tabindex="0">DATE関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">DATE関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">数値を直接指定して日付を作る</a></li><li><a href="#toc7" tabindex="0">別セルの値から日付を組み立てる</a></li><li><a href="#toc8" tabindex="0">シリアル値を確認する</a></li></ol></li><li><a href="#toc9" tabindex="0">DATE関数の実務活用パターン</a><ol><li><a href="#toc10" tabindex="0">年月日を別セルから組み立てる</a></li><li><a href="#toc11" tabindex="0">月末日を計算する（翌月の0日）</a></li><li><a href="#toc12" tabindex="0">○ヶ月後の日付を求める</a></li><li><a href="#toc13" tabindex="0">期日・締切日を自動計算する</a></li></ol></li><li><a href="#toc14" tabindex="0">DATE関数とTEXT関数の連携</a><ol><li><a href="#toc15" tabindex="0">和暦で表示する</a></li><li><a href="#toc16" tabindex="0">曜日付きで表示する</a></li></ol></li><li><a href="#toc17" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc18" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc19" tabindex="0">まとめ</a><ol><li><a href="#toc20" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">DATE関数とは？</span></h2>



<p class="wp-block-paragraph"><strong>DATE関数</strong>（読み方: デイト）は、年・月・日の3つの数値を指定して日付のシリアル値を返す関数です。英語の「date（日付）」がそのまま関数名になっています。</p>



<p class="wp-block-paragraph">Excelでは日付を内部的に「シリアル値」という数値で管理しています。1900年1月1日を「1」として、1日ごとに1ずつ増える仕組みです。たとえば2025年4月1日のシリアル値は「45748」です。</p>



<p class="wp-block-paragraph">DATE関数が返すのもこのシリアル値ですが、セルの表示形式が自動的に「日付」に切り替わるため、見た目は <code>2025/4/1</code> のように表示されます。</p>



<h2 class="wp-block-heading"><span id="toc2">DATE関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=DATE(年, 月, 日)</code></pre>



<p class="wp-block-paragraph">引数は3つとも<strong>必須</strong>です。省略するとエラーになります。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>内容</th></tr></thead><tbody><tr><td><strong>年</strong></td><td>必須</td><td>西暦の年を数値で指定（1900〜9999）。0〜1899を指定すると自動的に1900が加算される</td></tr><tr><td><strong>月</strong></td><td>必須</td><td>月を数値で指定（通常1〜12）。13以上や0・負の値も指定可能（後述）</td></tr><tr><td><strong>日</strong></td><td>必須</td><td>日を数値で指定（通常1〜31）。32以上や0・負の値も指定可能（後述）</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>年に0〜1899を指定すると、自動で1900が加算されます。たとえば <code>=DATE(24,4,1)</code> は <code>2024/4/1</code> ではなく <code>1924/4/1</code> になります。西暦は4桁で指定するのが安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">DATE関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc6">数値を直接指定して日付を作る</span></h3>



<p class="wp-block-paragraph">もっともシンプルな使い方です。年・月・日を直接数値で指定します。</p>



<pre class="wp-block-code"><code>=DATE(2025, 4, 1)</code></pre>



<p class="wp-block-paragraph">結果: <strong>2025/4/1</strong></p>



<p class="wp-block-paragraph">シリアル値「45748」が返り、セルには日付形式で表示されます。</p>



<h3 class="wp-block-heading"><span id="toc7">別セルの値から日付を組み立てる</span></h3>



<p class="wp-block-paragraph">A1に「2025」、B1に「4」、C1に「1」が入っている場合、次のように書きます。</p>



<pre class="wp-block-code"><code>=DATE(A1, B1, C1)</code></pre>



<p class="wp-block-paragraph">結果: <strong>2025/4/1</strong></p>



<p class="wp-block-paragraph">年・月・日がバラバラの列に入っているデータを1つの日付にまとめたいときに便利です。CSVから取り込んだデータの整形でよく使うパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">シリアル値を確認する</span></h3>



<p class="wp-block-paragraph">DATE関数が返すのはシリアル値です。セルの表示形式を「標準」に変更すると、数値を確認できます。</p>



<pre class="wp-block-code"><code>=DATE(2025, 4, 1)</code></pre>



<p class="wp-block-paragraph">表示形式「日付」: <strong>2025/4/1</strong><br>表示形式「標準」: <strong>45748</strong></p>



<p class="wp-block-paragraph">シリアル値が分かると、日付同士の引き算で日数差を計算できます。</p>



<h2 class="wp-block-heading"><span id="toc9">DATE関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc10">年月日を別セルから組み立てる</span></h3>



<p class="wp-block-paragraph">社員マスターなどで、生年月日が「年」「月」「日」の3列に分かれているケースは多いですよね。DATE関数で1列にまとめましょう。</p>



<p class="wp-block-paragraph">A列に年、B列に月、C列に日が入っているとします。</p>



<pre class="wp-block-code"><code>=DATE(A2, B2, C2)</code></pre>



<p class="wp-block-paragraph">結果をオートフィルで下にコピーすれば、全行まとめて日付に変換できます。</p>



<h3 class="wp-block-heading"><span id="toc11">月末日を計算する（翌月の0日）</span></h3>



<p class="wp-block-paragraph">DATE関数は、日に「0」を指定すると<strong>前月の末日</strong>を返します。この特性を使うと月末日を簡単に計算できます。</p>



<pre class="wp-block-code"><code>=DATE(2025, 5, 0)</code></pre>



<p class="wp-block-paragraph">結果: <strong>2025/4/30</strong>（5月の前月＝4月の末日）</p>



<p class="wp-block-paragraph">つまり「当月の月末日」を求めるなら、月に1を足して日を0にします。</p>



<pre class="wp-block-code"><code>=DATE(A2, B2+1, 0)</code></pre>



<p class="wp-block-paragraph">A2に「2025」、B2に「4」が入っている場合、結果は <strong>2025/4/30</strong> です。<a href="https://mashukabu.com/excel-function-howto-use-eomonth/">EOMONTH関数</a>でも月末日を取得できますが、DATE関数なら年・月の数値だけで計算できるのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc12">○ヶ月後の日付を求める</span></h3>



<p class="wp-block-paragraph">月の引数に加減算を入れると、○ヶ月前後の日付を計算できます。</p>



<pre class="wp-block-code"><code>=DATE(2025, 4+3, 1)</code></pre>



<p class="wp-block-paragraph">結果: <strong>2025/7/1</strong>（3ヶ月後）</p>



<pre class="wp-block-code"><code>=DATE(2025, 4-2, 1)</code></pre>



<p class="wp-block-paragraph">結果: <strong>2025/2/1</strong>（2ヶ月前）</p>



<p class="wp-block-paragraph">月に13以上や0以下の値を指定しても、DATE関数が自動的に年をまたいで計算してくれます。たとえば <code>=DATE(2025, 15, 1)</code> は <strong>2026/3/1</strong>（2025年の15ヶ月目）になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>○ヶ月後の同日を正確に求めたい場合は<a href="https://mashukabu.com/excel-function-howto-use-edate/">EDATE関数</a>がおすすめです。DATE関数は「年・月・日を個別に制御したい」ときに使い、EDATE関数は「基準日からの月数計算」に使うと役割がはっきりします。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">期日・締切日を自動計算する</span></h3>



<p class="wp-block-paragraph">請求書の支払期日（翌月末など）を自動で計算する例です。A2に請求日が入っているとします。</p>



<pre class="wp-block-code"><code>=DATE(YEAR(A2), MONTH(A2)+2, 0)</code></pre>



<p class="wp-block-paragraph">結果: A2が <code>2025/4/15</code> なら <strong>2025/5/31</strong>（翌月末）</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-year/">YEAR関数</a>と<a href="https://mashukabu.com/excel-function-howto-use-month/">MONTH関数</a>で年・月を取り出し、DATE関数で再構成するパターンです。期日管理や締切計算の定番テクニックですよ。</p>



<h2 class="wp-block-heading"><span id="toc14">DATE関数とTEXT関数の連携</span></h2>



<p class="wp-block-paragraph">DATE関数で作った日付を、特定の形式の文字列として表示したい場合は<a href="https://mashukabu.com/excel-function-howto-use-text/">TEXT関数</a>と組み合わせます。</p>



<h3 class="wp-block-heading"><span id="toc15">和暦で表示する</span></h3>



<pre class="wp-block-code"><code>=TEXT(DATE(2025,4,1), &quot;ggge年m月d日&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>令和7年4月1日</strong></p>



<h3 class="wp-block-heading"><span id="toc16">曜日付きで表示する</span></h3>



<pre class="wp-block-code"><code>=TEXT(DATE(2025,4,1), &quot;yyyy/mm/dd(aaa)&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>2025/04/01(火)</strong></p>



<p class="wp-block-paragraph">DATE関数の結果はシリアル値なので、TEXT関数の書式コードをそのまま適用できます。「yyyy年m月」のような年月だけの表示や、「m/d」のような短い形式にも対応できます。</p>



<h2 class="wp-block-heading"><span id="toc17">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">DATE関数はエラーが出にくい関数ですが、意図しない結果になるケースがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付ではなく5桁の数字が表示される</td><td>セルの表示形式が「標準」のまま</td><td>セルの表示形式を「日付」に変更する</td></tr><tr><td>月に13以上を指定したら翌年の日付になった</td><td>DATE関数の自動繰り上げ機能</td><td>仕様通り。月が12を超えると自動で年に繰り上がる</td></tr><tr><td>日に32以上を指定したら翌月の日付になった</td><td>DATE関数の自動繰り上げ機能</td><td>仕様通り。日が月末を超えると翌月に繰り上がる</td></tr><tr><td>年に「24」と入れたら1924年になった</td><td>0〜1899は自動で+1900される</td><td>西暦は4桁（2024）で指定する</td></tr><tr><td>#VALUE! エラーが出る</td><td>引数に数値以外（文字列など）を指定した</td><td>数値またはセル参照を確認する。文字列の日付は<a href="https://mashukabu.com/excel-function-howto-use-datevalue/">DATEVALUE関数</a>を使う</td></tr><tr><td>#NUM! エラーが出る</td><td>年に負の値を指定した、または結果が日付範囲外</td><td>年は0以上を指定する。Excelの日付範囲は1900/1/1〜9999/12/31</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>月や日の自動繰り上げは、DATE関数の便利な仕様です。たとえば <code>=DATE(2025,2,30)</code> は2月30日ではなく <strong>2025/3/2</strong> になります。「月末を超えた分は翌月に繰り上がる」と覚えておくと、意図しない結果を防げます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc18">似た関数との違い・使い分け</span></h2>



<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><strong>DATE</strong></td><td>年・月・日の数値から日付を作成する</td><td><code>=DATE(2025,4,1)</code> → 2025/4/1</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a></strong></td><td>今日の日付を自動取得する</td><td><code>=TODAY()</code> → 今日の日付</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-year/">YEAR関数</a></strong></td><td>日付から年を取り出す</td><td><code>=YEAR(A1)</code> → 2025</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-month/">MONTH関数</a></strong></td><td>日付から月を取り出す</td><td><code>=MONTH(A1)</code> → 4</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-day/">DAY関数</a></strong></td><td>日付から日を取り出す</td><td><code>=DAY(A1)</code> → 1</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-edate/">EDATE関数</a></strong></td><td>基準日から○ヶ月後/前の同日を返す</td><td><code>=EDATE(A1,3)</code> → 3ヶ月後</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-eomonth/">EOMONTH関数</a></strong></td><td>基準日から○ヶ月後/前の月末日を返す</td><td><code>=EOMONTH(A1,0)</code> → 当月末日</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-datedif/">DATEDIF関数</a></strong></td><td>2つの日付間の期間を求める</td><td><code>=DATEDIF(A1,B1,"M")</code> → 月数</td></tr><tr><td><strong><a href="https://mashukabu.com/excel-function-howto-use-datevalue/">DATEVALUE関数</a></strong></td><td>文字列の日付をシリアル値に変換する</td><td><code>=DATEVALUE("2025/4/1")</code> → シリアル値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>使い分けのポイント</strong></p>



<ul class="wp-block-list"><li>「年・月・日をバラバラに指定して日付を作りたい」→ <strong>DATE関数</strong></li><li>「今日の日付を自動で入れたい」→ <strong>TODAY関数</strong></li><li>「基準日から○ヶ月後の同じ日を知りたい」→ <strong>EDATE関数</strong></li><li>「月末日を求めたい」→ <strong>EOMONTH関数</strong>（DATE関数の0日テクニックでも可）</li><li>「2つの日付の差を知りたい」→ <strong>DATEDIF関数</strong></li></ul>



<p class="wp-block-paragraph">DATE関数は「年・月・日を個別にコントロールできる」のが最大の強みです。YEAR/MONTH/DAY関数と組み合わせて日付の一部だけを変更する使い方も覚えておくと便利ですよ。</p>



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



<p class="wp-block-paragraph">DATE関数は、年・月・日の数値から日付を作成する関数です。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=DATE(年, 月, 日)</code> ── 3つの引数はすべて必須</li><li><strong>戻り値</strong>: 日付のシリアル値（表示形式で日付として見える）</li><li><strong>自動繰り上げ</strong>: 月が12を超えると年に、日が月末を超えると翌月に自動調整</li><li><strong>実務活用</strong>: 別セルの値から日付を組み立てる、月末日の計算（翌月の0日）、○ヶ月後の算出、期日管理</li><li><strong>関連関数</strong>: <a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-edate/">EDATE関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-eomonth/">EOMONTH関数</a>と目的に応じて使い分ける</li></ul>



<p class="wp-block-paragraph">日付の計算は実務で頻繁に使うので、DATE関数の「月に+1して日を0にすると月末日」のテクニックは覚えておいて損はないですよ。</p>



<h3 class="wp-block-heading"><span id="toc20">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-year/">YEAR関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-month/">MONTH関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-day/">DAY関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-eomonth/">EOMONTH関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-edate/">EDATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-datedif/">DATEDIF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-datevalue/">DATEVALUE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別のエクセル関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">アルファベット順のエクセル関数一覧</a></li><li><a href="https://mashukabu.com/excel-error-value-list/">エラー値一覧</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-date/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
