<?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>DAYS関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/days%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:45:31 +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>DAYS関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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-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">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>ExcelのDAYS関数の使い方｜日数計算と実務活用を解説</title>
		<link>https://mashukabu.com/excel-function-howto-use-days/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-days/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 13 Jul 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DATEDIF]]></category>
		<category><![CDATA[DAYS関数]]></category>
		<category><![CDATA[NETWORKDAYS]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[日付関数]]></category>
		<category><![CDATA[日数計算]]></category>
		<category><![CDATA[関数比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2385</guid>

					<description><![CDATA[ExcelのDAYS関数で2つの日付間の日数を求める方法を解説。引数の順番、TODAY関数との組み合わせ、納期管理や経過日数の実務例を紹介。引き算・DATEDIF・NETWORKDAYSとの使い分け比較表つき。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「2つの日付の間が何日あるか」を計算したいこと、ありますよね。引き算でもできますが、表示形式が日付のままになって数値として扱えなかったり、見た目が崩れたりと地味にハマるポイントがあります。</p>



<p class="wp-block-paragraph">そんなときに使いたいのが <strong>DAYS関数</strong> です。この記事では、DAYS関数の基本から実務での活用パターン、似た関数との使い分けまで解説します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>この記事は次のような人におすすめ</strong></p><p>&#8211; 2つの日付の日数差を正確に求めたい<br>&#8211; 引き算とDAYS関数の違いがわからない<br>&#8211; DATEDIF関数やNETWORKDAYS関数との使い分けを知りたい</p></blockquote>




  <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">Excelの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">2つの日付の日数差を求める</a></li><li><a href="#toc7" tabindex="0">終了日が開始日より前の場合</a></li><li><a href="#toc8" tabindex="0">文字列の日付を指定する</a></li><li><a href="#toc9" tabindex="0">開始日を含めた日数を求める（+1問題）</a></li></ol></li><li><a href="#toc10" tabindex="0">実務での活用例</a><ol><li><a href="#toc11" tabindex="0">納期までの残り日数を表示する</a></li><li><a href="#toc12" tabindex="0">契約の残り日数を管理する</a></li><li><a href="#toc13" tabindex="0">プロジェクトの経過日数を計算する</a></li><li><a href="#toc14" tabindex="0">2つの日付列から一括で日数を計算する</a></li></ol></li><li><a href="#toc15" tabindex="0">DAYS関数・引き算・DATEDIF・NETWORKDAYSの使い分け</a><ol><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><ol><li><a href="#toc19" tabindex="0">関連記事</a></li><li><a href="#toc20" tabindex="0">関数一覧</a></li><li><a href="#toc21" tabindex="0">エラー値についてのまとめ記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">DAYS関数は、2つの日付の間の日数を求める関数です。読み方は「デイズ」で、英語の <strong>Days（日数）</strong> がそのまま名前になっています。</p>



<p class="wp-block-paragraph">「開始日から終了日まで何日か」をシンプルに返してくれます。Excel 2013以降で使える関数です。</p>



<p class="wp-block-paragraph">たとえば、2026年1月1日から2026年3月31日までの日数は <strong>89日</strong> です。DAYS関数なら1つの数式でこの答えが出ます。</p>



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



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



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



<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">引数の順番に注意してください。<strong>終了日が先、開始日が後</strong> です。<a href="https://mashukabu.com/excel-function-howto-use-datedif/">DATEDIF関数</a>は「開始日, 終了日」の順番なので、混同しないようにしましょう。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>引数の覚え方</strong></p><p>「<strong>終了日 − 開始日</strong>」の引き算をイメージすると覚えやすいですよ。引かれる数（終了日）が先にくる、と考えてみてください。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc6">2つの日付の日数差を求める</span></h3>



<p class="wp-block-paragraph">A1に「2026/1/1」、B1に「2026/3/31」と入っている場合を見てみましょう。</p>



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



<p class="wp-block-paragraph">結果: <strong>89</strong></p>



<p class="wp-block-paragraph">B1（終了日）からA1（開始日）を引いた日数が返ります。結果は整数なので、そのまま計算に使えます。</p>



<h3 class="wp-block-heading"><span id="toc7">終了日が開始日より前の場合</span></h3>



<p class="wp-block-paragraph">DAYS関数は、終了日が開始日より前でもエラーになりません。</p>



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



<p class="wp-block-paragraph">結果: <strong>-89</strong></p>



<p class="wp-block-paragraph">マイナスの値が返ります。「期限切れかどうか」の判定に使えるので、これは便利な仕様です。</p>



<h3 class="wp-block-heading"><span id="toc8">文字列の日付を指定する</span></h3>



<p class="wp-block-paragraph">DAYS関数はセル参照だけでなく、文字列で直接日付を指定することもできます。</p>



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



<p class="wp-block-paragraph">結果: <strong>364</strong></p>



<p class="wp-block-paragraph">文字列の日付は内部で自動的に日付データに変換されます。ただし、セル参照のほうが入力ミスを防げるのでおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc9">開始日を含めた日数を求める（+1問題）</span></h3>



<p class="wp-block-paragraph">DAYS関数は「終了日 − 開始日」の差を返します。つまり、<strong>開始日そのものは日数に含まれません</strong>。</p>



<p class="wp-block-paragraph">たとえば、1月1日から1月3日までの「滞在日数」を求めたい場合です。</p>



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



<p class="wp-block-paragraph">結果: <strong>2</strong></p>



<p class="wp-block-paragraph">1月1日・2日・3日の3日間を数えたいなら、結果に <strong>+1</strong> する必要があります。</p>



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



<p class="wp-block-paragraph">結果: <strong>3</strong></p>



<p class="wp-block-paragraph">「当日を含むかどうか」は業務によって変わります。イベントの開催日数や旅行の宿泊数など、当日を含めるケースでは +1 を忘れないようにしてください。</p>



<h2 class="wp-block-heading"><span id="toc10">実務での活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc11">納期までの残り日数を表示する</span></h3>



<p class="wp-block-paragraph">TODAY関数と組み合わせると、納期までの残り日数をリアルタイムで表示できます。A2に納期が入っている場合です。</p>



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



<p class="wp-block-paragraph">TODAY関数はファイルを開くたびに当日の日付を返します。納期が過ぎるとマイナスになるので、期限切れの判定にも使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">契約の残り日数を管理する</span></h3>



<p class="wp-block-paragraph">契約終了日（B列）から今日までの残り日数を表示し、30日以内なら「更新間近」と表示する例です。</p>



<pre class="wp-block-code"><code>=IF(DAYS(B2, TODAY()) &lt;= 30, &quot;更新間近&quot;, DAYS(B2, TODAY()) &amp; &quot;日&quot;)</code></pre>



<p class="wp-block-paragraph">残り日数が30日以下になったら「更新間近」、それ以外なら「○○日」と表示されます。</p>



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



<p class="wp-block-paragraph">開始日（A列）から今日までの経過日数を求める場合です。</p>



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



<p class="wp-block-paragraph">ここでは TODAY() が終了日の位置にきます。「今日 − 開始日」で経過日数を計算しているわけですね。</p>



<h3 class="wp-block-heading"><span id="toc14">2つの日付列から一括で日数を計算する</span></h3>



<p class="wp-block-paragraph">開始日（A列）と終了日（B列）が並んでいるリストで、C列に日数を一括表示する場合です。</p>



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



<p class="wp-block-paragraph">C2にこの数式を入力し、下方向にコピーすればリスト全体の日数を一気に計算できます。</p>



<h2 class="wp-block-heading"><span id="toc15">DAYS関数・引き算・DATEDIF・NETWORKDAYSの使い分け</span></h2>



<p class="wp-block-paragraph">Excelには日数を計算する方法がいくつかあります。それぞれの違いを表で整理しました。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DAYS関数</th><th>引き算（B1-A1）</th><th><a href="https://mashukabu.com/excel-function-howto-use-datedif/">DATEDIF関数</a></th><th>NETWORKDAYS関数</th></tr></thead><tbody><tr><td>戻り値</td><td>日数（整数）</td><td>日数（※表示形式に注意）</td><td>年/月/日を指定可</td><td>営業日数</td></tr><tr><td>引数の順番</td><td>終了日, 開始日</td><td>任意</td><td>開始日, 終了日</td><td>開始日, 終了日</td></tr><tr><td>負の値</td><td>返る</td><td>返る</td><td>#NUM! エラー</td><td>返る</td></tr><tr><td>文字列日付の対応</td><td>自動変換</td><td>エラーになる場合あり</td><td>自動変換</td><td>自動変換</td></tr><tr><td>土日・祝日の除外</td><td>不可</td><td>不可</td><td>不可</td><td>可</td></tr><tr><td>対応バージョン</td><td>2013以降</td><td>すべて</td><td>すべて（非公式）</td><td>すべて</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc16">どれを使うべき？ 判断フロー</span></h3>



<p class="wp-block-paragraph">迷ったときは、以下の基準で選んでみてください。</p>



<ol class="wp-block-list"><li><strong>土日・祝日を除いた営業日数を求めたい</strong> → NETWORKDAYS関数</li><li><strong>年数や月数の単位で差を求めたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-datedif/">DATEDIF関数</a></li><li><strong>単純な日数差を求めたい</strong> → DAYS関数 or 引き算</li><li><strong>文字列日付を扱う可能性がある</strong> → DAYS関数（自動変換してくれる）</li><li><strong>Excel 2010以前の環境で使う</strong> → 引き算</li></ol>



<p class="wp-block-paragraph">DAYS関数と引き算は結果自体は同じです。ただし、引き算はセルの表示形式が「日付」のままだと正しい数値が表示されないことがあります。DAYS関数なら必ず整数が返るので、表示形式のトラブルを避けたいならDAYS関数がおすすめです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>DATEDIF関数の注意点</strong></p><p>DATEDIF関数は公式のサポートページに掲載されていない非公式関数です。動作に問題はありませんが、Excelの関数入力時に候補として表示されません。日数だけの計算ならDAYS関数を使うほうが安心です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc17">よくあるエラーと対処法</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>セル参照を使うか、「2026/1/1」のように正しい日付形式で入力する</td></tr><tr><td>#NUM!</td><td>日付の範囲外の数値を渡した</td><td>日付として有効な値かどうかを確認する</td></tr><tr><td>結果が日付のように表示される</td><td>セルの表示形式が「日付」になっている</td><td>セルの表示形式を「標準」または「数値」に変更する</td></tr><tr><td>期待と1日ズレる</td><td>開始日を含めて数えている前提だった</td><td>当日を含める場合は結果に +1 する</td></tr><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>表示形式のトラブルを防ぐコツ</strong></p><p>DAYS関数の結果が「1900/3/30」のような日付で表示されたら、表示形式が原因です。セルを選択して <strong>Ctrl + 1</strong> → 「標準」を選べば正しい数値が表示されますよ。</p></blockquote>



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



<p class="wp-block-paragraph">DAYS関数は、2つの日付の日数差をシンプルに求められる関数です。</p>



<ul class="wp-block-list"><li><strong>=DAYS(終了日, 開始日)</strong> で日数を返す。引数は終了日が先</li><li>終了日が開始日より前なら <strong>マイナスの値</strong> が返る（エラーにならない）</li><li>TODAY関数と組み合わせれば <strong>残り日数のリアルタイム表示</strong> ができる</li><li>開始日を含めたい場合は結果に <strong>+1</strong> する</li><li>引き算と結果は同じだが、<strong>表示形式トラブルがない</strong>のがDAYS関数の強み</li></ul>



<p class="wp-block-paragraph">日付の引き算で表示が崩れて困った経験がある方は、DAYS関数に切り替えてみてください。数式の意味もわかりやすくなりますよ。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数の使い方</a>や<a href="https://mashukabu.com/excel-function-howto-use-datedif/">DATEDIF関数の使い方</a>もあわせてチェックすると、Excelの日付操作がもっとスムーズになります。<a href="https://mashukabu.com/excel-date-calculation-guide/">日付計算完全攻略記事</a>もぜひ参考にしてみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-datedif/">DATEDIF関数の使い方</a></li><li><a href="https://mashukabu.com/excel-date-calculation-guide/">Excelの日付計算完全攻略</a></li></ul>



<h3 class="wp-block-heading"><span id="toc20">関数一覧</span></h3>



<p class="wp-block-paragraph">どちらの関数一覧からでも各関数の解説記事へアクセスできます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">【Excel】アルファベット順 関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">【Excel】機能別のエクセル関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order-pronunciation/">Excel関数の読み方一覧</a></li></ul>



<h3 class="wp-block-heading"><span id="toc21">エラー値についてのまとめ記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-error-value-list/">エラー値についてのまとめ記事</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-days/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのDATEDIF関数の使い方｜年齢・勤続年数を計算</title>
		<link>https://mashukabu.com/excel-function-howto-use-datedif/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-datedif/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 12 Jul 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DATEDIF関数]]></category>
		<category><![CDATA[DAYS関数]]></category>
		<category><![CDATA[EDATE関数]]></category>
		<category><![CDATA[TODAY関数]]></category>
		<category><![CDATA[勤続年数]]></category>
		<category><![CDATA[年齢計算]]></category>
		<category><![CDATA[日付関数]]></category>
		<category><![CDATA[関数比較]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2376</guid>

					<description><![CDATA[ExcelのDATEDIF関数で年齢・勤続年数・経過月数を自動計算する方法を解説。6つの単位の違い、"MD"バグの回避策、DAYS/YEARFRACとの使い分け比較、スプレッドシートとの違いまで実務目線で網羅しています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで「この人は今何歳？」「入社から何年経った？」と計算したい場面、ありますよね。生年月日と今日の日付から年齢を出したいのに、ぴったりの関数が見つからない。</p>



<p class="wp-block-paragraph">そんなときに使えるのが <strong>DATEDIF関数</strong> です。この記事では、基本の書き方から6つの単位の違い、年齢・勤続年数の実務パターン、&#8221;MD&#8221;単位の既知バグと回避策まで解説します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>この記事は次のような人におすすめ</strong></p><p>&#8211; 生年月日から年齢を自動計算したい<br>&#8211; 入社日から勤続年数を「○年○ヶ月」で表示したい<br>&#8211; DATEDIF関数の6つの単位の違いを知りたい<br>&#8211; &#8220;MD&#8221;のバグが不安で正しい回避策を知りたい</p></blockquote>




  <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">DATEDIF関数とは？</a><ol><li><a href="#toc2" tabindex="0">DATEDIF関数の読み方と意味</a></li><li><a href="#toc3" tabindex="0">非公開関数とは何か</a></li></ol></li><li><a href="#toc4" tabindex="0">DATEDIF関数の書き方</a><ol><li><a href="#toc5" tabindex="0">基本構文と3つの引数</a></li><li><a href="#toc6" tabindex="0">6つの単位の違い一覧</a></li></ol></li><li><a href="#toc7" tabindex="0">DATEDIF関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">年数を求める（単位 Y）</a></li><li><a href="#toc9" tabindex="0">月数を求める（単位 M）</a></li><li><a href="#toc10" tabindex="0">日数を求める（単位 D）</a></li><li><a href="#toc11" tabindex="0">端数の月・日を取り出す（YM/MD）</a></li></ol></li><li><a href="#toc12" tabindex="0">DATEDIF関数の実務活用パターン</a><ol><li><a href="#toc13" tabindex="0">年齢を自動計算する（TODAY関数との組み合わせ）</a></li><li><a href="#toc14" tabindex="0">勤続年数を「○年○ヶ月」で表示する</a></li><li><a href="#toc15" tabindex="0">契約の残り期間を表示する</a></li></ol></li><li><a href="#toc16" tabindex="0">&#8220;MD&#8221;単位の既知バグと回避策</a><ol><li><a href="#toc17" tabindex="0">どんな場合に不正確な値になるか</a></li><li><a href="#toc18" tabindex="0">代替式で正確に端数日数を求める方法</a></li></ol></li><li><a href="#toc19" tabindex="0">DATEDIF / DAYS / YEARFRAC 三者比較</a><ol><li><a href="#toc20" tabindex="0">3関数の特徴と適切な使い分け</a></li><li><a href="#toc21" tabindex="0">判断フロー｜何を計算したいかで関数を選ぶ</a></li></ol></li><li><a href="#toc22" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc23" tabindex="0">まとめ</a><ol><li><a href="#toc24" tabindex="0">関連記事</a></li><li><a href="#toc25" tabindex="0">関数一覧</a></li><li><a href="#toc26" tabindex="0">エラー値についてのまとめ記事</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">DATEDIF関数は、2つの日付の間の期間を <strong>年数・月数・日数</strong> で求めるExcelの関数です。</p>



<p class="wp-block-paragraph">ほかの日付関数との大きな違いは、「○年」「○ヶ月」と単位を選べる点です。年齢計算や勤続年数の算出にぴったりですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">DATEDIF関数の読み方と意味</span></h3>



<p class="wp-block-paragraph">読み方は「デイトディフ」です。<strong>Date（日付）+ Difference（差）</strong> が語源で、そのまま「日付の差」を意味します。</p>



<h3 class="wp-block-heading"><span id="toc3">非公開関数とは何か</span></h3>



<p class="wp-block-paragraph">DATEDIF関数は、Excelの <strong>非公開関数</strong> です。関数ダイアログや入力補完の候補に表示されません。</p>



<p class="wp-block-paragraph">もともとLotus 1-2-3という表計算ソフトとの互換性のために残された関数です。Excel 2000のヘルプでは公式に記載されていましたが、現在は通常の関数一覧から外されています。</p>



<p class="wp-block-paragraph">ただし、動作自体にはまったく問題ありません。すべてのバージョンのExcelで使えます。数式を手入力すれば普通に動きますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>廃止される心配はない？</strong></p><p>極めて低いと考えてよいでしょう。すべてのExcelバージョンで動作し、Microsoftのサポートページも存続しています。ただし公式サポート対象外なので、将来の仕様変更がゼロとは言い切れません。重要な業務で使う場合は、この点を頭に入れておいてください。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">DATEDIF関数の書き方</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文と3つの引数</span></h3>



<pre class="wp-block-code"><code>=DATEDIF(開始日, 終了日, 単位)</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>期間の始まりの日付（古いほうの日付）</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">引数の順番に注意してください。<strong>開始日が先、終了日が後</strong> です。<a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a>は「終了日, 開始日」と逆順なので、混同しないようにしましょう。</p>



<p class="wp-block-paragraph">開始日が終了日より後の日付だと <strong>#NUM! エラー</strong> になります。<a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a>のようにマイナスの値は返りません。</p>



<p class="wp-block-paragraph">日付はセル参照のほか、<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>で直接指定することもできます。</p>



<pre class="wp-block-code"><code>=DATEDIF(DATE(2020,4,1), DATE(2026,3,21), &quot;Y&quot;)</code></pre>



<p class="wp-block-paragraph">文字列で <code>"2020/4/1"</code> と書いても動きます。ただし<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>のほうが確実に日付として認識されるので安心です。</p>



<h3 class="wp-block-heading"><span id="toc6">6つの単位の違い一覧</span></h3>



<p class="wp-block-paragraph">DATEDIF関数の特徴は、第3引数の「単位」で結果を細かく指定できる点です。</p>



<figure class="wp-block-table"><table><thead><tr><th>単位</th><th>意味</th><th>2020/4/1 → 2026/3/21 の結果</th></tr></thead><tbody><tr><td>&#8220;Y&#8221;</td><td>期間の満年数</td><td>5</td></tr><tr><td>&#8220;M&#8221;</td><td>期間の総月数</td><td>71</td></tr><tr><td>&#8220;D&#8221;</td><td>期間の総日数</td><td>2182</td></tr><tr><td>&#8220;YM&#8221;</td><td>年を無視した端数の月数</td><td>11</td></tr><tr><td>&#8220;MD&#8221;</td><td>月と年を無視した端数の日数</td><td>20</td></tr><tr><td>&#8220;YD&#8221;</td><td>年を無視した通算日数</td><td>355</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">&#8220;Y&#8221; &#8220;M&#8221; &#8220;D&#8221; はそのまま年数・月数・日数を返します。</p>



<p class="wp-block-paragraph">&#8220;YM&#8221; &#8220;MD&#8221; &#8220;YD&#8221; は <strong>端数を取り出す</strong> ための単位です。たとえば「5年11ヶ月20日」のうち、&#8221;YM&#8221; は「11」の部分だけを返します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>&#8220;MD&#8221; には既知のバグがあります</strong></p><p>&#8220;MD&#8221; は一部の日付で不正確な値を返します。詳しくはこの記事の後半で解説しています。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc8">年数を求める（単位 Y）</span></h3>



<p class="wp-block-paragraph">A1に「2020/4/1」、B1に「2026/3/21」と入っている場合です。</p>



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



<p class="wp-block-paragraph">結果: <strong>5</strong></p>



<p class="wp-block-paragraph">開始日から終了日までの満年数が返ります。6年に満たないので「5」です。</p>



<h3 class="wp-block-heading"><span id="toc9">月数を求める（単位 M）</span></h3>



<p class="wp-block-paragraph">同じセルを使って月数を求めてみましょう。</p>



<pre class="wp-block-code"><code>=DATEDIF(A1, B1, &quot;M&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>71</strong></p>



<p class="wp-block-paragraph">2020年4月から2026年3月までの総月数です。</p>



<h3 class="wp-block-heading"><span id="toc10">日数を求める（単位 D）</span></h3>



<pre class="wp-block-code"><code>=DATEDIF(A1, B1, &quot;D&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>2182</strong></p>



<p class="wp-block-paragraph">総日数が返ります。日数だけなら<a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a>や引き算でも同じ結果になります。</p>



<h3 class="wp-block-heading"><span id="toc11">端数の月・日を取り出す（YM/MD）</span></h3>



<p class="wp-block-paragraph">「5年 <strong>11ヶ月</strong> 20日」の端数月を取り出すには &#8220;YM&#8221; を使います。</p>



<pre class="wp-block-code"><code>=DATEDIF(A1, B1, &quot;YM&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>11</strong></p>



<p class="wp-block-paragraph">年を無視した端数の月数だけが返ります。</p>



<p class="wp-block-paragraph">同様に、端数の日数は &#8220;MD&#8221; で取り出せます。</p>



<pre class="wp-block-code"><code>=DATEDIF(A1, B1, &quot;MD&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>20</strong></p>



<p class="wp-block-paragraph">ただし &#8220;MD&#8221; には既知のバグがあります。正確な端数日数が必要な場合は、後述の回避策を使ってください。</p>



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



<h3 class="wp-block-heading"><span id="toc13">年齢を自動計算する（TODAY関数との組み合わせ）</span></h3>



<p class="wp-block-paragraph">人事・総務でよく使うのが年齢計算です。A2に生年月日が入っている場合、<a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>と組み合わせます。</p>



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



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>はファイルを開くたびに当日の日付を返します。この数式を入れておけば年齢が毎日自動で更新されますよ。</p>



<p class="wp-block-paragraph">たとえばA2が「1990/5/15」なら、2026年3月21日時点で <strong>35</strong> と表示されます。</p>



<h3 class="wp-block-heading"><span id="toc14">勤続年数を「○年○ヶ月」で表示する</span></h3>



<p class="wp-block-paragraph">入社日（A2）から今日までの勤続年数を「3年5ヶ月」のように表示する方法です。&#8221;Y&#8221; と &#8220;YM&#8221; を組み合わせます。</p>



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



<p class="wp-block-paragraph">&#8220;Y&#8221; で年数、&#8221;YM&#8221; で端数の月数を取り出し、<code>&</code> で文字列連結しています。</p>



<p class="wp-block-paragraph">A2が「2022/10/1」なら「3年5ヶ月」のように表示されます。</p>



<p class="wp-block-paragraph">さらに日数まで含めた「○年○ヶ月○日」の表示も可能です。ただし &#8220;MD&#8221; にはバグがあるため、次の代替式を使ってください。</p>



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



<p class="wp-block-paragraph">日数部分で<a href="https://mashukabu.com/excel-function-howto-use-edate/">EDATE関数</a>を使い、&#8221;MD&#8221; のバグを回避しています。</p>



<h3 class="wp-block-heading"><span id="toc15">契約の残り期間を表示する</span></h3>



<p class="wp-block-paragraph">契約終了日（B2）までの残り期間を表示する例です。開始日に<a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>を指定します。</p>



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



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>（今日）が開始日、B2（契約終了日）が終了日です。順番を逆にすると#NUM!エラーになるので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc16">&#8220;MD&#8221;単位の既知バグと回避策</span></h2>



<h3 class="wp-block-heading"><span id="toc17">どんな場合に不正確な値になるか</span></h3>



<p class="wp-block-paragraph">&#8220;MD&#8221; は月末日をまたぐ特定の日付で、負の値や不正確な値を返します。Microsoftも公式に「MDの使用は推奨しない」と警告しています。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>開始日</th><th>終了日</th><th>&#8220;MD&#8221; の結果</th><th>正しい値</th></tr></thead><tbody><tr><td>2016/1/31</td><td>2016/3/1</td><td><strong>-2</strong></td><td>1</td></tr><tr><td>2016/1/30</td><td>2016/3/1</td><td><strong>-1</strong></td><td>1</td></tr><tr><td>2016/3/31</td><td>2016/5/1</td><td><strong>0</strong></td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">1月31日から3月1日は1日の差のはずなのに、結果は「-2」です。このように月末付近の日付で計算が狂います。</p>



<p class="wp-block-paragraph">なお、&#8221;Y&#8221; &#8220;M&#8221; &#8220;YM&#8221; は基本的に安全です。ただし、うるう年が絡む特殊なケース（例: 2020/2/29 → 2021/2/28）では、&#8221;MD&#8221; 以外の単位でも予期しない値を返すことがあります。通常の日付ペアでは心配いりませんが、2月29日を含む計算は結果を確認しておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc18">代替式で正確に端数日数を求める方法</span></h3>



<p class="wp-block-paragraph">&#8220;MD&#8221; の代わりに、次の式を使えば正確な端数日数が求められます。</p>



<pre class="wp-block-code"><code>=B1 - EDATE(A1, DATEDIF(A1, B1, &quot;M&quot;))</code></pre>



<p class="wp-block-paragraph">仕組みはこうです。</p>



<ol class="wp-block-list"><li><code>DATEDIF(A1, B1, "M")</code> で完了した月数を求める</li><li><a href="https://mashukabu.com/excel-function-howto-use-edate/">EDATE関数</a>で開始日をその月数分だけ進める</li><li>終了日との差が正確な端数日数になる</li></ol>



<p class="wp-block-paragraph">先ほどの問題例（2016/1/31 → 2016/3/1）で試すと、結果は正しく <strong>1</strong> になります。</p>



<p class="wp-block-paragraph">&#8220;MD&#8221; を使っている数式があれば、この代替式に置き換えることをおすすめします。</p>



<h2 class="wp-block-heading"><span id="toc19">DATEDIF / DAYS / YEARFRAC 三者比較</span></h2>



<h3 class="wp-block-heading"><span id="toc20">3関数の特徴と適切な使い分け</span></h3>



<p class="wp-block-paragraph">日付の差を求める関数は3つあります。それぞれ得意分野が違います。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>DATEDIF</th><th>DAYS</th><th>YEARFRAC</th></tr></thead><tbody><tr><td>返す値</td><td>年/月/日（6単位）</td><td>日数のみ</td><td>小数の年数</td></tr><tr><td>引数の順番</td><td>開始日, 終了日</td><td>終了日, 開始日</td><td>開始日, 終了日, 基準</td></tr><tr><td>公式関数か</td><td>いいえ（非公開）</td><td>はい（2013以降）</td><td>はい</td></tr><tr><td>年齢計算</td><td>最適（整数で正確）</td><td>不向き</td><td>うるう年で誤差あり</td></tr><tr><td>主な用途</td><td>年齢・勤続年数</td><td>日数差・残日数</td><td>利子・利回り計算</td></tr><tr><td>既知のバグ</td><td>MD単位</td><td>なし</td><td>なし</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a>は日数を返す公式関数です。YEARFRAC関数は小数の年数を返し、財務計算で使われます。</p>



<h3 class="wp-block-heading"><span id="toc21">判断フロー｜何を計算したいかで関数を選ぶ</span></h3>



<ul class="wp-block-list"><li><strong>年齢や勤続年数を「○年○ヶ月」で出したい</strong> → DATEDIF関数</li><li><strong>日数の差だけをシンプルに求めたい</strong> → <a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a>または引き算</li><li><strong>マイナスの値がほしい（期限超過の判定）</strong> → <a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a></li><li><strong>利率や利回りの年数計算</strong> → YEARFRAC関数</li><li><strong>Excel 2010以前で日数を計算したい</strong> → DATEDIF関数または引き算</li></ul>



<p class="wp-block-paragraph">日数だけなら<a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a>が公式関数で安心です。年数や月数が必要になったらDATEDIF関数の出番、と覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc22">よくあるエラーと対処法</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>#NUM!</td><td>開始日が終了日より後</td><td>日付の順番を確認する。古いほうが第1引数</td></tr><tr><td>#NUM!</td><td>単位の文字列が無効</td><td>&#8220;Y&#8221; &#8220;M&#8221; &#8220;D&#8221; &#8220;YM&#8221; &#8220;MD&#8221; &#8220;YD&#8221; のいずれかを指定する</td></tr><tr><td>#VALUE!</td><td>日付として認識できない値</td><td>セルが正しい日付データか確認する。文字列なら<a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数</a>を使う</td></tr><tr><td>#NAME?</td><td>関数名のスペルミス</td><td>&#8220;DATEDIFF&#8221;（Fが2つ）は間違い。正しくは &#8220;DATEDIF&#8221;</td></tr><tr><td>入力補完に出ない</td><td>非公開関数のため</td><td>正常です。「=DATEDIF(」と手入力してください</td></tr><tr><td>結果が0になる</td><td>期間が単位に満たない</td><td>&#8220;Y&#8221; は満1年に達しないと0を返します。&#8221;M&#8221; や &#8220;D&#8221; で確認してみてください</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">DATEDIF関数は、2つの日付の期間を年数・月数・日数で求められる関数です。</p>



<ul class="wp-block-list"><li><strong>=DATEDIF(開始日, 終了日, 単位)</strong> で期間を計算する</li><li>6つの単位で <strong>年数(&#8220;Y&#8221;)・月数(&#8220;M&#8221;)・日数(&#8220;D&#8221;)</strong> を使い分けられる</li><li><strong>&#8220;YM&#8221;</strong> で端数の月数、<strong>&#8220;MD&#8221;</strong> で端数の日数を取り出せる</li><li><a href="https://mashukabu.com/excel-function-howto-use-today/">TODAY関数</a>と組み合わせれば <strong>年齢や勤続年数が毎日自動更新</strong> される</li><li><strong>&#8220;MD&#8221; には既知のバグ</strong> がある。代替式 <code>=終了日-EDATE(開始日,DATEDIF(開始日,終了日,"M"))</code> を使おう</li><li>非公開関数だが <strong>全バージョンで動作</strong> し、廃止リスクは極めて低い</li><li>日数だけなら<a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数</a>、年数・月数ならDATEDIF関数</li></ul>



<p class="wp-block-paragraph">年齢計算や勤続年数の管理に、ぜひDATEDIF関数を活用してみてください。日付計算の関数を網羅的に知りたい方は、<a href="https://mashukabu.com/excel-date-calculation-guide/">Excelの日付計算を完全攻略</a>もあわせてチェックしてみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-days/">DAYS関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-date/">DATE関数の使い方</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-edate/">EDATE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-date-calculation-guide/">Excelの日付計算を完全攻略</a></li></ul>



<h3 class="wp-block-heading"><span id="toc25">関数一覧</span></h3>



<p class="wp-block-paragraph">どちらの関数一覧からでも各関数の解説記事へアクセスできます。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">アルファベット順 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order-pronunciation/">Excel関数の読み方一覧</a></li></ul>



<h3 class="wp-block-heading"><span id="toc26">エラー値についてのまとめ記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-error-value-list/">セルに表示されるエラーの種類と原因、対処方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-datedif/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
