<?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>COUPDAYS関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/coupdays%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 07 May 2026 12:42:45 +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>COUPDAYS関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのCOUPDAYS関数の使い方｜利払期間の日数を計算する</title>
		<link>https://mashukabu.com/excel-coupdays-function/</link>
					<comments>https://mashukabu.com/excel-coupdays-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:42:45 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[COUPDAYS関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[クーポン期間]]></category>
		<category><![CDATA[利払期間]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6562</guid>

					<description><![CDATA[ExcelのCOUPDAYS関数で受渡日を含むクーポン期間（利払期間）全体の日数を計算する方法を解説。経過利息の分母として使う基礎関数の構文・実例・basis別の戻り値比較・COUPDAYBS/COUPDAYSNCとの恒等式・ACCRINT連携・エラー対処までまとめます。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">ExcelのCOUPDAYS関数の使い方｜利払期間の日数を計算する</h1>



<p class="wp-block-paragraph">債券の経過利息を計算するとき、「このクーポン期間は何日あるんだろう？」と迷うことはありませんか。半年払いなら180日や181日、184日と揺れることがあり、手計算では誤差が出やすいです。</p>



<p class="wp-block-paragraph">ExcelのCOUPDAYS関数を使えば、受渡日を含むクーポン期間全体の日数を引数4つで一発で取り出せます。経過利息計算の「分母」を担う関数で、ACCRINT関数やPRICE関数の内部でも使われているロジックです。</p>



<p class="wp-block-paragraph">この記事では、COUPDAYS関数の構文・実例・basis別の戻り値比較・COUPDAYBS/COUPDAYSNCとの恒等式まで同僚に教える感覚で解説します。</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><li><a href="#toc1" tabindex="0">ExcelのCOUPDAYS関数とは？</a><ol><li><a href="#toc2" tabindex="0">COUPDAYS関数が必要な場面</a></li><li><a href="#toc3" tabindex="0">COUPDAYS関数で扱える債券</a></li></ol></li><li><a href="#toc4" tabindex="0">COUPDAYS関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">settlement と maturity の関係</a></li><li><a href="#toc6" tabindex="0">frequency 引数の選び方</a></li><li><a href="#toc7" tabindex="0">basis 引数の選び方</a></li></ol></li><li><a href="#toc8" tabindex="0">COUPDAYS関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">例1: 半年払い国債のクーポン期間日数</a></li><li><a href="#toc10" tabindex="0">例2: 年1回払い社債のクーポン期間日数</a></li><li><a href="#toc11" tabindex="0">例3: 四半期払い債券のクーポン期間日数</a></li><li><a href="#toc12" tabindex="0">引数をセル参照にする書き方</a></li></ol></li><li><a href="#toc13" tabindex="0">basis別 COUPDAYS戻り値比較</a></li><li><a href="#toc14" tabindex="0">経過利息の計算式とCOUPDAYSの役割</a><ol><li><a href="#toc15" tabindex="0">経過利息の計算例</a></li></ol></li><li><a href="#toc16" tabindex="0">COUPDAYBS・COUPDAYS・COUPDAYSNCの関係</a><ol><li><a href="#toc17" tabindex="0">三関数の恒等式</a></li><li><a href="#toc18" tabindex="0">具体例で検算する</a></li><li><a href="#toc19" tabindex="0">直前・次の利払日も知りたいとき</a></li></ol></li><li><a href="#toc20" tabindex="0">ACCRINT関数・PRICE関数との連携</a><ol><li><a href="#toc21" tabindex="0">ACCRINT関数との関係</a></li><li><a href="#toc22" tabindex="0">PRICE関数との関係</a></li><li><a href="#toc23" tabindex="0">関連する財務関数の全体像</a></li></ol></li><li><a href="#toc24" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc25" tabindex="0">#NUM! エラー</a></li><li><a href="#toc26" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc27" tabindex="0">#NAME? エラー</a></li><li><a href="#toc28" tabindex="0">結果がbasisによって違いすぎる場合</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのCOUPDAYS関数（読み方：クーポン・デイズ）は財務関数の一つです。<strong>受渡日を含むクーポン期間（直前の利払日から次の利払日まで）全体の日数を返します</strong>。</p>



<p class="wp-block-paragraph">関数名は「COUPon DAYS」の略です。直訳すると「クーポン期間の日数」となります。定期的に利息（クーポン）を受け取る債券を売買するとき、経過利息の計算に必要な「期間全体の日数」を取り出すために使います。</p>



<h3 class="wp-block-heading"><span id="toc2">COUPDAYS関数が必要な場面</span></h3>



<p class="wp-block-paragraph">債券を満期前に売買するとき、売主には「直前の利払日から売却日までの利息」を受け取る権利があります。これが<strong>経過利息（発生利息）</strong>です。この経過利息は次の式で計算します。</p>



<pre class="wp-block-code"><code>経過利息 = 額面 × 年利率 ÷ frequency × (COUPDAYBS ÷ COUPDAYS)</code></pre>



<p class="wp-block-paragraph">COUPDAYBS（直前利払日から受渡日までの日数）が「分子」、COUPDAYS（クーポン期間全体の日数）が「分母」です。COUPDAYSが正確でないと、経過利息がずれてしまいます。</p>



<h3 class="wp-block-heading"><span id="toc3">COUPDAYS関数で扱える債券</span></h3>



<p class="wp-block-paragraph">定期的にクーポンを支払う利付債が対象です。</p>



<ul class="wp-block-list"><li>利付国債（10年債・5年債など）</li><li>利付社債</li><li>地方債</li><li>半年払い債券</li><li>四半期払い債券</li></ul>



<p class="wp-block-paragraph">割引証券（TB・CP・ゼロクーポン債）や満期一括利払い債には使いません。それぞれ<a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC関数</a>や<a href="https://mashukabu.com/excel-yieldmat-function/">YIELDMAT関数</a>が対応しています。</p>



<h2 class="wp-block-heading"><span id="toc4">COUPDAYS関数の構文と引数</span></h2>



<p class="wp-block-paragraph">COUPDAYS関数の構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=COUPDAYS(settlement, maturity, frequency, [basis])</code></pre>



<p class="wp-block-paragraph">引数は4つで、basisのみ省略可能です。<a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS関数</a>とまったく同じ引数構成です。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略</th><th>意味</th></tr></thead><tbody><tr><td>settlement</td><td>必須</td><td>受渡日（証券の購入が完了する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還日）。settlementより後の日付</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払回数（1=年1回・2=半年1回・4=四半期1回）</td></tr><tr><td>basis</td><td>省略可</td><td>日数計算基準（0〜4の整数。既定は0）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">settlement と maturity の関係</span></h3>



<p class="wp-block-paragraph">settlementは実際に代金を払って証券を受け取る日です。約定日（取引成立日）とは別物です。maturityはsettlementより後でなければ #NUM! エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc6">frequency 引数の選び方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>利払頻度</th><th>主な対象</th></tr></thead><tbody><tr><td>1</td><td>年1回払い</td><td>一部の社債・外国債</td></tr><tr><td>2</td><td>半年払い</td><td>国債・多くの社債</td></tr><tr><td>4</td><td>四半期払い</td><td>地方債・一部社債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3（4か月ごと）や12（毎月払い）は指定できません。#NUM! エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc7">basis 引数の選び方</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>0（既定）</td><td>US 30/360 (NASD)</td><td>米国社債</td></tr><tr><td>1</td><td>Actual/Actual</td><td>米国国債（実日数計算）</td></tr><tr><td>2</td><td>Actual/360</td><td>米国マネーマーケット</td></tr><tr><td>3</td><td>Actual/365</td><td>日本国内債券</td></tr><tr><td>4</td><td>European 30/360</td><td>欧州社債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">国債なら basis=1、日本国内の社債なら basis=3 が市場慣行です。</p>



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



<p class="wp-block-paragraph">実例で動きを確認しましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">例1: 半年払い国債のクーポン期間日数</span></h3>



<p class="wp-block-paragraph">10年物国債（半年払い）を満期前に購入する場面です。</p>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2030/11/7</li><li>frequency: 2（半年払い）</li><li>basis: 1（Actual/Actual）</li></ul>



<pre class="wp-block-code"><code>=COUPDAYS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>184</strong> が返ります。直前の利払日2025/11/7から次の利払日2026/11/7までの半年間を Actual/Actual で計算すると184日になります。</p>



<h3 class="wp-block-heading"><span id="toc10">例2: 年1回払い社債のクーポン期間日数</span></h3>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2029/9/15</li><li>frequency: 1（年1回払い）</li><li>basis: 1</li></ul>



<pre class="wp-block-code"><code>=COUPDAYS(DATE(2026,5,7), DATE(2029,9,15), 1, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>365</strong> です。直前の利払日2025/9/15から次の利払日2026/9/15までの1年間が365日です。</p>



<h3 class="wp-block-heading"><span id="toc11">例3: 四半期払い債券のクーポン期間日数</span></h3>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2028/3/15</li><li>frequency: 4（四半期払い）</li><li>basis: 1</li></ul>



<pre class="wp-block-code"><code>=COUPDAYS(DATE(2026,5,7), DATE(2028,3,15), 4, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>92</strong> です。直前の利払日2026/3/15から次の利払日2026/6/15までの四半期が92日です。</p>



<h3 class="wp-block-heading"><span id="toc12">引数をセル参照にする書き方</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>B2</td><td>受渡日</td><td>2026/5/7</td></tr><tr><td>B3</td><td>満期日</td><td>2030/11/7</td></tr><tr><td>B4</td><td>frequency</td><td>2</td></tr><tr><td>B5</td><td>basis</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は <code>=COUPDAYS(B2, B3, B4, B5)</code> です。</p>



<h2 class="wp-block-heading"><span id="toc13">basis別 COUPDAYS戻り値比較</span></h2>



<p class="wp-block-paragraph">basis引数によって日数が変わります。同じ半年払い国債（受渡日2026/5/7・満期日2030/11/7）で比較してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>basis</th><th>名称</th><th>COUPDAYS戻り値</th><th>注記</th></tr></thead><tbody><tr><td>0</td><td>US 30/360</td><td>180</td><td>各月を30日固定で計算</td></tr><tr><td>1</td><td>Actual/Actual</td><td>184</td><td>実日数（2025/11/7〜2026/11/7）</td></tr><tr><td>2</td><td>Actual/360</td><td>184</td><td>分子は実日数（COUPDAYS自体はActual計算）</td></tr><tr><td>3</td><td>Actual/365</td><td>184</td><td>実日数（365日固定年換算は別途）</td></tr><tr><td>4</td><td>European 30/360</td><td>180</td><td>欧州慣行の月末30日固定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">basis=0と4は月を30日固定で数えるため、必ず180日になります。basis=1/2/3は実日数なので184日です。「半年払いなのに180日？」と思ったときはbasis引数を確認してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc14">経過利息の計算式とCOUPDAYSの役割</span></h2>



<p class="wp-block-paragraph">COUPDAYS関数は経過利息計算の「分母」を提供します。</p>



<pre class="wp-block-code"><code>経過利息 = 額面 × 年利率 ÷ frequency × (COUPDAYBS ÷ COUPDAYS)</code></pre>



<p class="wp-block-paragraph">COUPDAYSが分母として正確でないと、経過利息がずれます。</p>



<h3 class="wp-block-heading"><span id="toc15">経過利息の計算例</span></h3>



<p class="wp-block-paragraph">額面1,000,000円・年率1.5%・半年払いの国債を、受渡日2026/5/7に購入するケースです。</p>



<ul class="wp-block-list"><li>額面: 1,000,000円</li><li>年率: 1.5%</li><li>frequency: 2</li><li>受渡日: 2026/5/7</li><li>満期日: 2030/11/7</li><li>basis: 1</li></ul>



<p class="wp-block-paragraph">まずCOUPDAYBSとCOUPDAYSを取り出します。</p>



<pre class="wp-block-code"><code>=COUPDAYBS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)  → 182
=COUPDAYS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)   → 184</code></pre>



<p class="wp-block-paragraph">経過利息の計算式に当てはめます。</p>



<pre class="wp-block-code"><code>=1000000 * 0.015 / 2 * (COUPDAYBS(DATE(2026,5,7),DATE(2030,11,7),2,1) / COUPDAYS(DATE(2026,5,7),DATE(2030,11,7),2,1))</code></pre>



<p class="wp-block-paragraph">結果は <strong>7,432円</strong>（= 7,500 × 182/184）です。購入者は債券価格に加えて、この経過利息を売主に支払います。</p>



<p class="wp-block-paragraph">ACCRINT関数を使えば経過利息額が一発で出ますが、内部ではCOUPDAYBSとCOUPDAYSの同じロジックが動いています。</p>



<h2 class="wp-block-heading"><span id="toc16">COUPDAYBS・COUPDAYS・COUPDAYSNCの関係</span></h2>



<p class="wp-block-paragraph">COUP系3関数の恒等式を数値で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS</a></td><td>直前利払日〜受渡日の日数</td><td>経過利息の分子</td></tr><tr><td><strong>COUPDAYS</strong></td><td>クーポン期間全体の日数</td><td>経過利息の分母</td></tr><tr><td>COUPDAYSNC</td><td>受渡日〜次の利払日の日数</td><td>残り日数</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">三関数の恒等式</span></h3>



<pre class="wp-block-code"><code>COUPDAYBS + COUPDAYSNC = COUPDAYS</code></pre>



<p class="wp-block-paragraph">「経過した日数」＋「残りの日数」＝「クーポン期間全体の日数」です。</p>



<h3 class="wp-block-heading"><span id="toc18">具体例で検算する</span></h3>



<p class="wp-block-paragraph">半年払い国債（受渡日2026/5/7・満期日2030/11/7・frequency=2・basis=1）で3関数を確認します。</p>



<pre class="wp-block-code"><code>=COUPDAYBS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)   → 182
=COUPDAYS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)    → 184
=COUPDAYSNC(DATE(2026,5,7), DATE(2030,11,7), 2, 1)  → 2</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値</th><th>意味</th></tr></thead><tbody><tr><td>COUPDAYBS</td><td>182</td><td>経過日数（2025/11/7→2026/5/7）</td></tr><tr><td>COUPDAYS</td><td>184</td><td>クーポン期間全体（2025/11/7→2026/11/7）</td></tr><tr><td>COUPDAYSNC</td><td>2</td><td>残り日数（2026/5/7→2026/11/7）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">検算: 182 + 2 = 184 で恒等式が成立します。受渡日が次の利払日のほぼ直前（残り2日）というシナリオです。</p>



<h3 class="wp-block-heading"><span id="toc19">直前・次の利払日も知りたいとき</span></h3>



<p class="wp-block-paragraph">具体的な利払日（日付）が知りたい場合はCOUPPCD関数とCOUPNCD関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th></tr></thead><tbody><tr><td>COUPPCD</td><td>直前の利払日（previous coupon date）</td></tr><tr><td>COUPNCD</td><td>次の利払日（next coupon date）</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=COUPPCD(DATE(2026,5,7), DATE(2030,11,7), 2, 1)  → 2025/11/7
=COUPNCD(DATE(2026,5,7), DATE(2030,11,7), 2, 1)  → 2026/11/7</code></pre>



<p class="wp-block-paragraph">COUPPCD と COUPNCD の差がそのままCOUPDAYSの日数になっています。</p>



<h2 class="wp-block-heading"><span id="toc20">ACCRINT関数・PRICE関数との連携</span></h2>



<h3 class="wp-block-heading"><span id="toc21">ACCRINT関数との関係</span></h3>



<p class="wp-block-paragraph">ACCRINT関数は経過利息（金額）を直接返す関数です。内部でCOUPDAYBSとCOUPDAYSのロジックを使っています。</p>



<pre class="wp-block-code"><code>=ACCRINT(issue, first_interest, settlement, rate, par, frequency, [basis], [calc_method])</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th></tr></thead><tbody><tr><td>COUPDAYS</td><td>クーポン期間の日数（数値）</td></tr><tr><td>ACCRINT</td><td>経過利息の金額（円）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ACCRINT を使えば経過利息額が一発で出ますが、発行日や初回利払日まで把握しておく必要があります。COUPDAYBS + COUPDAYS の組み合わせなら受渡日と満期日だけで済む点が利点です。</p>



<h3 class="wp-block-heading"><span id="toc22">PRICE関数との関係</span></h3>



<p class="wp-block-paragraph">PRICE関数は債券のクリーン価格（経過利息抜き）を返します。市場で「ダーティ価格（経過利息込み）」を求めたい場合は次の式を使います。</p>



<pre class="wp-block-code"><code>ダーティ価格 = クリーン価格（PRICE） + 額面 × 年利率 ÷ frequency × (COUPDAYBS ÷ COUPDAYS)</code></pre>



<h3 class="wp-block-heading"><span id="toc23">関連する財務関数の全体像</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>債券タイプ</th><th>価格関数</th><th>利回り関数</th><th>経過日数関数</th></tr></thead><tbody><tr><td>定期利払い債（クーポン付）</td><td>PRICE</td><td><a href="https://mashukabu.com/excel-yield-function/">YIELD</a></td><td><a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS</a> / <strong>COUPDAYS</strong></td></tr><tr><td>割引証券（TB・CP）</td><td>PRICEDISC</td><td><a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC</a></td><td>（該当なし）</td></tr><tr><td>満期一括利払い債</td><td><a href="https://mashukabu.com/excel-pricemat-function/">PRICEMAT</a></td><td><a href="https://mashukabu.com/excel-yieldmat-function/">YIELDMAT</a></td><td>（該当なし）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">COUPDAYS と COUPDAYBS はセットで覚えておくと、どの場面でも迷わず使えますよ。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>settlement ≧ maturity</td><td>受渡日が満期日より前になるよう修正</td></tr><tr><td>frequency が 1・2・4 以外</td><td>1、2、4 のいずれかを指定</td></tr><tr><td>basis が 0〜4 以外</td><td>0〜4の整数を指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">frequency に3（4か月ごと）や12（毎月払い）を指定するミスが多いです。Excelの仕様上、利払回数は1・2・4のみ対応しています。</p>



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



<p class="wp-block-paragraph">settlementやmaturityが日付として認識されていないことが原因です。</p>



<pre class="wp-block-code"><code>誤: =COUPDAYS(&quot;2026-05-07&quot;, &quot;2030-11-07&quot;, 2, 1)
正: =COUPDAYS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)</code></pre>



<p class="wp-block-paragraph">セル参照を使う場合も、参照先のセルが「日付型」になっているか確認してください。</p>



<h3 class="wp-block-heading"><span id="toc27">#NAME? エラー</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスが原因です。「CUPDAYS」「COUP_DAYS」は存在しません。Excelの入力候補から選ぶようにしましょう。</p>



<h3 class="wp-block-heading"><span id="toc28">結果がbasisによって違いすぎる場合</span></h3>



<p class="wp-block-paragraph">basis=0または4（30/360）では180日固定、basis=1/2/3（実日数）では184日など実際の月日数になります。市場慣行に合ったbasisを選んでいるか確認してください。</p>



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



<p class="wp-block-paragraph">ExcelのCOUPDAYS関数は、定期利払い債券の「クーポン期間全体の日数」を返す財務関数です。本記事のポイントを振り返ります。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=COUPDAYS(settlement, maturity, frequency, [basis])</code></li><li><strong>対象</strong>: 利付国債・利付社債・地方債など定期的にクーポンを支払う債券</li><li><strong>frequency</strong>: 1（年1回）・2（半年）・4（四半期）のみ有効</li><li><strong>恒等式</strong>: COUPDAYBS + COUPDAYSNC = COUPDAYS が常に成立</li><li><strong>経過利息</strong>: 額面 × 年利率 ÷ frequency × (COUPDAYBS ÷ COUPDAYS) の「分母」を担う</li><li><strong>basis</strong>: basis=0/4は30/360→180日固定、basis=1/2/3は実日数</li><li><strong>連携先</strong>: ACCRINT関数やPRICE関数の内部ロジックでも使われる</li></ul>



<p class="wp-block-paragraph">同シリーズの<a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS関数</a>・<a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a>・<a href="https://mashukabu.com/excel-pricemat-function/">PRICEMAT関数</a>・<a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC関数</a>・<a href="https://mashukabu.com/excel-received-function/">RECEIVED関数</a>もあわせて確認してみてください。債券財務関数の体系的な理解が深まりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-coupdays-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのCOUPDAYS関数の使い方｜利払い期間の日数</title>
		<link>https://mashukabu.com/spreadsheet-coupdays-function/</link>
					<comments>https://mashukabu.com/spreadsheet-coupdays-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 14:41:32 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[COUPDAYS関数]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[経理・財務]]></category>
		<category><![CDATA[経過利息]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6227</guid>

					<description><![CDATA[GoogleスプレッドシートのCOUPDAYS関数を使えば、決済日を含むクーポン期間全体の日数を求められます。発生利息（経過利息）の計算式の分母に使う関数で、COUPDAYBS・COUPDAYSNCとの関係も実例付きで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">債券の発生利息（経過利息）を計算するとき、「直前の利払日から決済日までの日数」÷「クーポン期間全体の日数」という割り算が必要になります。この分母にあたる「クーポン期間全体の日数」を求めるのがCOUPDAYS関数ですよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのCOUPDAYS関数の使い方を、構文・実例・よくあるエラーの対処まで同僚に教える感覚で解説します。COUPDAYBS関数やCOUPDAYSNC関数との使い分けも整理しているので、債券売買の発生利息計算に活用してください。</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">スプレッドシートのCOUPDAYS関数とは？</a></li><li><a href="#toc2" tabindex="0">COUPDAYS関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">日数計算方法（basis）の設定値</a></li></ol></li><li><a href="#toc4" tabindex="0">COUPDAYS関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">半年払い債券のクーポン期間日数を求める</a></li><li><a href="#toc6" tabindex="0">basis の違いによる計算結果の比較</a></li><li><a href="#toc7" tabindex="0">年1回払い債券のクーポン期間日数を求める</a></li><li><a href="#toc8" tabindex="0">発生利息を計算する</a></li></ol></li><li><a href="#toc9" tabindex="0">COUPDAYBS・COUPDAYSNCとの使い分け</a><ol><li><a href="#toc10" tabindex="0">具体例で確認する</a></li></ol></li><li><a href="#toc11" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc12" tabindex="0">#NUM!エラー</a></li><li><a href="#toc13" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc14" tabindex="0">#NAME?エラー</a></li></ol></li><li><a href="#toc15" tabindex="0">Excelとの互換性</a></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのCOUPDAYS関数とは？</span></h2>



<p class="wp-block-paragraph">スプレッドシートのCOUPDAYS関数は、<strong>決済日（受渡日）を含むクーポン期間（利払い期間）全体の日数を返す財務関数</strong>です。</p>



<p class="wp-block-paragraph">関数名のCOUPDAYSは &#8220;Coupon Days&#8221;（クーポン日数）を略したものです。</p>



<p class="wp-block-paragraph">債券の発生利息を計算するには、次の式を使います。</p>



<pre class="wp-block-code"><code>発生利息 = 額面 × 年率利率 ÷ 利払い頻度 × (COUPDAYBS ÷ COUPDAYS)</code></pre>



<p class="wp-block-paragraph">この式の分母が COUPDAYS です。「クーポン期間全体のうち何日分が経過しているか」を表す比率を求めるために使われますよ。</p>



<p class="wp-block-paragraph">たとえば半年払い（frequency=2）の債券なら、クーポン期間は約180〜184日程度になります。COUPDAYS はこの正確な日数を、日数計算方式（basis）に従って返してくれますよ。</p>



<h2 class="wp-block-heading"><span id="toc2">COUPDAYS関数の構文と引数</span></h2>



<p class="wp-block-paragraph">COUPDAYS関数の構文は次のとおりです。</p>



<pre class="wp-block-code"><code>=COUPDAYS(決済日, 満期日, 頻度, [日数計算方法])</code></pre>



<p class="wp-block-paragraph">英語表記だと <code>=COUPDAYS(settlement, maturity, frequency, [basis])</code> となります。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>省略</th><th>説明</th></tr></thead><tbody><tr><td>決済日（settlement）</td><td>必須</td><td>証券の受渡日（購入が完了する日）。DATE関数での指定を推奨</td></tr><tr><td>満期日（maturity）</td><td>必須</td><td>証券の満期日。決済日より後の日付を指定する</td></tr><tr><td>頻度（frequency）</td><td>必須</td><td>年間の利払い回数。1=年1回、2=半年1回（半年払）、4=四半期払</td></tr><tr><td>日数計算方法（basis）</td><td>省略可</td><td>1年の日数計算方式（下表参照、省略時は0）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc3">日数計算方法（basis）の設定値</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>1年の日数計算</th></tr></thead><tbody><tr><td>0（省略時）</td><td>30日/360日（米国NASD方式）</td></tr><tr><td>1</td><td>実際の日数/実際の日数</td></tr><tr><td>2</td><td>実際の日数/360日</td></tr><tr><td>3</td><td>実際の日数/365日</td></tr><tr><td>4</td><td>30日/360日（ヨーロッパ方式）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">basis=0 と basis=4 は両方「30日/360日」ですが、月末日の扱いが異なります。basis=0 は米国NASD方式（30日超の月は30日に丸める）、basis=4 はヨーロッパ方式（31日を30日に統一）ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc5">半年払い債券のクーポン期間日数を求める</span></h3>



<p class="wp-block-paragraph">年率5%・半年払い（frequency=2）の国債を、2026/4/22に購入する場合のクーポン期間全体の日数を求めます。満期日は2028/10/22とします。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>項目</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>決済日</td><td>2026/4/22</td></tr><tr><td>B3</td><td>満期日</td><td>2028/10/22</td></tr><tr><td>B4</td><td>頻度</td><td>2</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>=COUPDAYS(B2, B3, B4, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>366</strong> です。直前の利払日2025/10/22から次の利払日2026/10/22までの実日数が366日（閏年を含むため）になりますよ。</p>



<p class="wp-block-paragraph">DATE関数を使って直接指定することもできます。</p>



<pre class="wp-block-code"><code>=COUPDAYS(DATE(2026,4,22), DATE(2028,10,22), 2, 1)</code></pre>



<h3 class="wp-block-heading"><span id="toc6">basis の違いによる計算結果の比較</span></h3>



<p class="wp-block-paragraph">同じ条件でも basis によって結果が変わります。</p>



<pre class="wp-block-code"><code>=COUPDAYS(DATE(2026,4,22), DATE(2028,10,22), 2, 0)   → 180（30日/360日）
=COUPDAYS(DATE(2026,4,22), DATE(2028,10,22), 2, 1)   → 366（実日数）
=COUPDAYS(DATE(2026,4,22), DATE(2028,10,22), 2, 2)   → 366（実日数/360日）
=COUPDAYS(DATE(2026,4,22), DATE(2028,10,22), 2, 3)   → 365（実日数/365日）
=COUPDAYS(DATE(2026,4,22), DATE(2028,10,22), 2, 4)   → 180（30日/360日）</code></pre>



<p class="wp-block-paragraph">半年払いの場合、basis=0 または basis=4 では固定で180日になります。basis=1 では実際のカレンダー日数が使われるため、閏年や月ごとの日数のばらつきが反映されますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">年1回払い債券のクーポン期間日数を求める</span></h3>



<p class="wp-block-paragraph">年1回払い（frequency=1）の社債で決済日が2026/4/22、満期日が2029/9/15の場合です。</p>



<pre class="wp-block-code"><code>=COUPDAYS(DATE(2026,4,22), DATE(2029,9,15), 1, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>365</strong> です。直前の利払日2025/9/15から次の利払日2026/9/15までの365日が返されます（2026年は閏年ではないため）。</p>



<h3 class="wp-block-heading"><span id="toc8">発生利息を計算する</span></h3>



<p class="wp-block-paragraph">上記の半年払い国債（額面100・年率5%）の発生利息を計算します。</p>



<pre class="wp-block-code"><code>=100 * 0.05 / 2 * (COUPDAYBS(DATE(2026,4,22),DATE(2028,10,22),2,1) / COUPDAYS(DATE(2026,4,22),DATE(2028,10,22),2,1))</code></pre>



<p class="wp-block-paragraph">COUPDAYBS が 183日、COUPDAYS が 366日なので、183÷366 = 0.5。</p>



<p class="wp-block-paragraph">結果は <strong>約2.50</strong>（額面100に対して）です。経過期間がちょうど半分のため、半期クーポンの半分が発生利息になりますよ。</p>



<h2 class="wp-block-heading"><span id="toc9">COUPDAYBS・COUPDAYSNCとの使い分け</span></h2>



<p class="wp-block-paragraph">COUPDAYS関数と同じ「COUP」シリーズの関数を3つ並べて整理します。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>発生利息計算での役割</th></tr></thead><tbody><tr><td>COUPDAYBS</td><td>直前の利払日〜決済日の日数</td><td>分子（経過日数）</td></tr><tr><td>COUPDAYS</td><td>決済日を含むクーポン期間全体の日数</td><td>分母（期間全体）</td></tr><tr><td>COUPDAYSNC</td><td>決済日〜次の利払日の日数</td><td>残存日数の確認</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3つの関係式：</p>



<pre class="wp-block-code"><code>COUPDAYBS + COUPDAYSNC = COUPDAYS</code></pre>



<p class="wp-block-paragraph">「経過した日数」＋「残りの日数」＝「期間全体」という関係です。</p>



<h3 class="wp-block-heading"><span id="toc10">具体例で確認する</span></h3>



<p class="wp-block-paragraph">決済日2026/4/22、満期日2028/10/22、半年払い（frequency=2）、basis=1 の場合：</p>



<pre class="wp-block-code"><code>=COUPDAYBS(DATE(2026,4,22), DATE(2028,10,22), 2, 1)   → 183（経過日数）
=COUPDAYS(DATE(2026,4,22), DATE(2028,10,22), 2, 1)    → 366（期間全体）
=COUPDAYSNC(DATE(2026,4,22), DATE(2028,10,22), 2, 1)  → 183（残り日数）</code></pre>



<p class="wp-block-paragraph">183 + 183 = 366 と一致しますね。この場合は決済日がクーポン期間のちょうど真ん中にあることがわかりますよ。</p>



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



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



<p class="wp-block-paragraph">以下のケースで発生します。</p>



<figure class="wp-block-table"><table><thead><tr><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>決済日 ≥ 満期日</td><td>決済日が満期日より前になるよう修正する</td></tr><tr><td>頻度が1・2・4以外</td><td>1、2、4 のいずれかを指定する</td></tr><tr><td>basis が 0〜4 以外</td><td>0, 1, 2, 3, 4 のいずれかを指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">頻度（frequency）は1・2・4のみ有効です。たとえば月次払い（12）や隔月払い（6）は指定できませんよ。</p>



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



<p class="wp-block-paragraph">引数に数値や日付以外の文字列が入っている場合に発生します。日付を直接書くときは <code>DATE(2026,4,22)</code> のようにDATE関数を使うと確実ですよ。セル参照で日付を渡す場合も、そのセルが「日付型」になっているかを確認してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc14">#NAME?エラー</span></h3>



<p class="wp-block-paragraph">関数名のスペルミスが原因です。「COUPONDAYS」「COUP_DAYS」などは存在しない関数名です。入力候補から選ぶようにしましょう。</p>



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



<p class="wp-block-paragraph">COUPDAYS関数はExcelとGoogleスプレッドシートで同じ計算結果を返します。Excelファイル（.xlsx）をスプレッドシートで開いても関数はそのまま動作しますよ。</p>



<p class="wp-block-paragraph">スプレッドシートでは引数名が日本語（「決済日」「満期日」「頻度」「日数計算方法」）で表示されます。Excelの英語表記（<code>settlement</code>、<code>maturity</code>、<code>frequency</code>、<code>basis</code>）と見た目は異なりますが、動作に影響はありません。</p>



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



<p class="wp-block-paragraph">スプレッドシートのCOUPDAYS関数は、決済日を含むクーポン期間全体の日数を返す財務関数です。ポイントをまとめておきます。</p>



<ul class="wp-block-list"><li>引数は<strong>決済日・満期日・頻度</strong>の3つが必須。日数計算方法（basis）は省略可</li><li>頻度（frequency）は<strong>1（年1回）・2（半年払い）・4（四半期払い）</strong>のみ有効</li><li><strong>COUPDAYBS + COUPDAYSNC = COUPDAYS</strong> の関係になる</li><li>発生利息の計算式では<strong>分母</strong>として使う</li><li>basis=0 または 4（30日/360日）では半年払いなら固定で180日、年1回払いなら360日になる</li><li>basis=1（実日数）では閏年や月の日数が反映される</li><li>Excelとの互換性があり、.xlsxファイルをそのまま開いても動作する</li></ul>



<p class="wp-block-paragraph">COUPDAYS関数単独では発生利息は求められません。<a href="https://mashukabu.com/spreadsheet-coupdaybs-function/">COUPDAYBS関数</a>と組み合わせて使うのが基本ですよ。クーポン関連の財務関数は<a href="https://mashukabu.com/spreadsheet-coupdaysnc-function/">COUPDAYSNC関数</a>・<a href="https://mashukabu.com/spreadsheet-coupncd-function/">COUPNCD関数</a>・<a href="https://mashukabu.com/spreadsheet-couppcd-function/">COUPPCD関数</a>・<a href="https://mashukabu.com/spreadsheet-coupnum-function/">COUPNUM関数</a>と合わせて使うと、債券の利払いスケジュール管理に役立ちますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-coupdays-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
