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

<channel>
	<title>財務関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e8%b2%a1%e5%8b%99%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 15:15:40 +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>財務関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【Excel】ISPMT関数の使い方｜元金均等返済の各期利息を一発で求める</title>
		<link>https://mashukabu.com/excel-function-howto-use-ispmt/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-ispmt/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 10 May 2026 00:30:05 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ISPMT]]></category>
		<category><![CDATA[元金均等返済]]></category>
		<category><![CDATA[利息計算]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6756</guid>

					<description><![CDATA[ExcelのISPMT関数の使い方を解説。元金均等返済の各期利息を一発で計算できる関数で、IPMTとの違い・引数の注意点（期番号は0始まり）・返済スケジュール表の作り方まで実例つきで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">銀行借入の返済スケジュールを自分で作ろうとして「各月の利息っていくら？」と困ったことはありませんか。<br>住宅ローンならIPMT関数で一発ですが、銀行の事業融資は元金均等返済が多く、IPMTでは値が合わないんですよね。</p>



<p class="wp-block-paragraph">そんなときに活躍するのが、Excelの <strong>ISPMT関数</strong>（イズ・ペイメント）です。<br>ISPMT関数は <strong>元金均等返済</strong> の各期の利息を、たった1つの数式で求めてくれる便利な関数です。</p>



<p class="wp-block-paragraph">この記事では、ISPMT関数の基本的な使い方から、元金均等返済スケジュール表の作り方まで解説します。<br>IPMT関数との違いや使い分けも整理しますので、「どっちを使えばいいの？」という疑問もスッキリしますよ。</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">ISPMT関数とは？元金均等返済の各期利息を求めるExcel関数</a></li><li><a href="#toc2" tabindex="0">ISPMT関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">戻り値の符号について</a></li></ol></li><li><a href="#toc4" tabindex="0">ISPMT関数の基本的な使い方</a></li><li><a href="#toc5" tabindex="0">ISPMT関数で元金均等返済スケジュール表を作る</a><ol><li><a href="#toc6" tabindex="0">スピル機能を使った1セル数式版</a></li></ol></li><li><a href="#toc7" tabindex="0">ISPMT関数とIPMT関数の違い</a><ol><li><a href="#toc8" tabindex="0">同じ条件で比較してみる</a></li></ol></li><li><a href="#toc9" tabindex="0">ISPMT関数のよくあるエラーと対処法</a><ol><li><a href="#toc10" tabindex="0">期番号がズレている例</a></li></ol></li><li><a href="#toc11" tabindex="0">ISPMT関数と似た財務関数の使い分け</a></li><li><a href="#toc12" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ISPMT関数とは？元金均等返済の各期利息を求めるExcel関数</span></h2>



<p class="wp-block-paragraph">ISPMTとは <strong>Interest paid on Straight-line basis</strong>（元金均等返済の利息）の略です。<br>Excelに古くから搭載されている財務関数のひとつで、元金均等返済の指定した期の利息部分を計算できます。</p>



<p class="wp-block-paragraph">Excel 2003以降のすべてのバージョンとMicrosoft 365で利用できます。<br>互換性関数ではなく、現役の標準関数です。</p>



<p class="wp-block-paragraph">元金均等返済とは、毎期の <strong>元金返済額が一定</strong> の返済方式です。<br>毎期、元金が同じ額ずつ減っていくため、利息は徐々に減っていきます。<br>この「毎期減っていく利息」を一発で計算できるのがISPMT関数です。</p>



<p class="wp-block-paragraph">銀行の事業融資・社債の利払い・割賦取引など、元金均等返済を採用するケースで重宝します。<br>住宅ローンのような元利均等返済には<a href="https://mashukabu.com/excel-function-howto-use-ipmt/">IPMT関数</a>を使うので、混同しないように注意が必要です。</p>



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



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



<pre class="wp-block-code"><code>=ISPMT(利率, 期, 期間, 現在価値)</code></pre>



<p class="wp-block-paragraph">引数は4つで、すべて必須です。<br><a href="https://mashukabu.com/excel-function-howto-use-ipmt/">IPMT関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-ppmt/">PPMT関数</a>にあった「将来価値」「支払期日」の引数はありません。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>利率（rate）</td><td>必須</td><td>1期あたりの利率。年利6%・月次返済なら 6%/12</td></tr><tr><td>期（per）</td><td>必須</td><td>利息を求めたい期。<strong>0から期間-1まで</strong> の整数</td></tr><tr><td>期間（nper）</td><td>必須</td><td>返済の総回数。月次返済で3年なら 36</td></tr><tr><td>現在価値（pv）</td><td>必須</td><td>借入額。借入の場合はプラスで指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ここで一番の落とし穴が <strong>期（per）が0始まり</strong> という点です。<br>IPMT・PPMT関数は1始まりですが、ISPMT関数だけ0始まりなのでご注意ください。</p>



<p class="wp-block-paragraph">たとえば36回返済の第1回目の利息を求めたいときは、<code>per=0</code> を指定します。<br>最終回は <code>per=35</code> です。<br>1始まりで指定すると結果が手計算と合わなくなります。</p>



<h3 class="wp-block-heading"><span id="toc3">戻り値の符号について</span></h3>



<p class="wp-block-paragraph">借入額（pv）をプラスで指定すると、ISPMTの戻り値はマイナスになります。<br>これは「利息を支払う」というキャッシュアウトを表しているためです。</p>



<p class="wp-block-paragraph">表示上プラスにしたい場合は、<code>=-ISPMT(...)</code> のようにマイナス記号を頭に付けてください。<br>返済スケジュール表ではプラス表示のほうが見やすいので、この書き方をよく使います。</p>



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



<p class="wp-block-paragraph">実際にISPMT関数を使ってみましょう。<br>ここでは「借入100万円・年利6%・36回返済（月次）」のローンを例に、第1期と第10期の利息を計算します。</p>



<p class="wp-block-paragraph">入力するセルは次のように設定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th><th>値</th></tr></thead><tbody><tr><td>B1</td><td>借入額</td><td>1,000,000</td></tr><tr><td>B2</td><td>年利</td><td>6%</td></tr><tr><td>B3</td><td>返済回数</td><td>36</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第1期（per=0）の利息を求める数式は次のとおりです。</p>



<pre class="wp-block-code"><code>=-ISPMT(B2/12, 0, B3, B1)</code></pre>



<p class="wp-block-paragraph">この数式の結果は <strong>5,000円</strong> になります。<br>月利は0.5%（年利6%÷12）で、初月の借入残高は100万円のままです。<br>利息は 1,000,000 × 0.5% = 5,000 という計算ですね。</p>



<p class="wp-block-paragraph">第10期（per=9）の利息も同じように計算できます。</p>



<pre class="wp-block-code"><code>=-ISPMT(B2/12, 9, B3, B1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>3,750円</strong> になります。<br>9期分の元金返済（27,778円 × 9 = 250,000円）が進んだ後の残高は75万円なので、利息は 750,000 × 0.5% = 3,750 という計算です。</p>



<p class="wp-block-paragraph">利息が毎期減っていくのが、元金均等返済の特徴ですね。</p>



<h2 class="wp-block-heading"><span id="toc5">ISPMT関数で元金均等返済スケジュール表を作る</span></h2>



<p class="wp-block-paragraph">実務で一番使うのが、返済スケジュール表の作成です。<br>借入額・利率・返済回数を入力するだけで、各期の利息・元金・残高が自動計算される表を作りましょう。</p>



<p class="wp-block-paragraph">入力セルは先ほどと同じです。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th><th>値</th></tr></thead><tbody><tr><td>B1</td><td>借入額</td><td>1,000,000</td></tr><tr><td>B2</td><td>年利</td><td>6%</td></tr><tr><td>B3</td><td>返済回数</td><td>36</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スケジュール表のレイアウトは次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>列</th><th>内容</th></tr></thead><tbody><tr><td>A</td><td>期（1〜36）</td></tr><tr><td>B</td><td>期番号（per、0〜35）</td></tr><tr><td>C</td><td>元金返済</td></tr><tr><td>D</td><td>利息</td></tr><tr><td>E</td><td>返済額合計</td></tr><tr><td>F</td><td>残高</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">A6セルから36行分を作るとして、各列の数式は次のようになります。</p>



<pre class="wp-block-code"><code>A6: =ROW()-5             (1, 2, 3, ... と連番)
B6: =A6-1                (期番号は0始まりに変換)
C6: =$B$1/$B$3           (元金返済額は一定)
D6: =-ISPMT($B$2/12, B6, $B$3, $B$1)
E6: =C6+D6               (合計)
F6: =$B$1-C6*A6          (残高)</code></pre>



<p class="wp-block-paragraph">A6からF6までを入力したら、A41までドラッグしてオートフィルすれば36期分が完成します。<br>利息（D列）が毎期減り、返済額合計（E列）も少しずつ減っていく様子が確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">スピル機能を使った1セル数式版</span></h3>



<p class="wp-block-paragraph">Microsoft 365やExcel 2021ならスピル機能が使えるので、より簡潔に書けます。<br>A6セルに次の数式を入れるだけで、36行分が一気に展開されます。</p>



<pre class="wp-block-code"><code>=LET(
  期, SEQUENCE(B3),
  per, 期-1,
  元金, B1/B3,
  利息, -ISPMT(B2/12, per, B3, B1),
  HSTACK(期, per, 元金, 利息, 元金+利息, B1-元金*期)
)</code></pre>



<p class="wp-block-paragraph">LET関数とSEQUENCE関数を組み合わせることで、表全体を1つの数式で生成できます。<br>返済回数（B3）を変えると表の長さも自動で変わるのが便利です。</p>



<h2 class="wp-block-heading"><span id="toc7">ISPMT関数とIPMT関数の違い</span></h2>



<p class="wp-block-paragraph">ISPMT関数とIPMT関数は名前も用途も似ていますが、計算する対象がまったく違います。<br>混同しやすいので、ここでしっかり整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>ISPMT関数</th><th>IPMT関数</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><strong>毎期一定</strong></td></tr><tr><td>期番号の数え方</td><td>0〜nper-1</td><td>1〜nper</td></tr><tr><td>引数の数</td><td>4つ</td><td>6つ（fv、typeあり）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">元金均等返済（ISPMT）と元利均等返済（IPMT）の最大の違いは、毎期の返済額が変動するかどうかです。</p>



<p class="wp-block-paragraph">元金均等は毎期の元金返済が一定なので、初期は返済額が大きく後期は小さくなります。<br>元利均等は返済額そのものが一定なので、家計の管理がしやすいのが特徴です。</p>



<p class="wp-block-paragraph">実務では、銀行の事業融資は元金均等が多く、住宅ローンは元利均等が一般的です。<br>契約書を確認して、どちらの方式かを把握してから関数を選びましょう。</p>



<h3 class="wp-block-heading"><span id="toc8">同じ条件で比較してみる</span></h3>



<p class="wp-block-paragraph">借入100万円・年利6%・36回返済の条件で、第1期の利息を比較すると次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>ISPMT（元金均等）</td><td><code>=-ISPMT(6%/12, 0, 36, 1000000)</code></td><td>5,000円</td></tr><tr><td>IPMT（元利均等）</td><td><code>=-IPMT(6%/12, 1, 36, 1000000)</code></td><td>5,000円</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第1期はどちらも同じ5,000円です。<br>しかし第10期では値が異なってきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>第10期の利息</th></tr></thead><tbody><tr><td>ISPMT（per=9）</td><td>3,750円</td></tr><tr><td>IPMT（per=10）</td><td>3,914円</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">元金均等のほうが利息の減り方が早いため、後半に行くほど両者の差が大きくなります。<br>総支払利息を比較すると、元金均等返済のほうが少なく済むケースが多いです。</p>



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



<p class="wp-block-paragraph">ISPMT関数を使っていて出やすいエラーと、その原因・対処法をまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー / 症状</th><th>原因</th><th>対処</th></tr></thead><tbody><tr><td><code>#NUM!</code></td><td>期（per）が0未満または期間以上</td><td>perを 0〜nper-1 の範囲に収める</td></tr><tr><td><code>#VALUE!</code></td><td>引数に文字列が入っている</td><td>全引数を数値で指定する</td></tr><tr><td>結果が手計算と合わない</td><td>期番号を1から数えている</td><td>perを0始まりにして再計算する</td></tr><tr><td>結果が想定よりはるかに大きい</td><td>利率の単位が期間と合っていない</td><td>月次返済なら利率は年利÷12</td></tr><tr><td>結果がプラスで違和感</td><td>pvをマイナスで指定している</td><td>借入はpvをプラス、戻り値は <code>-ISPMT(...)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ISPMT関数の最頻出エラーは「期番号の0始まり」を見落とすことです。<br>IPMT関数のクセで <code>per=1</code> を指定すると、第2期の値が返ってきてしまいます。</p>



<p class="wp-block-paragraph">数式を入力する前に「ISPMTは0から数える」と意識するだけで、ほとんどのトラブルは防げます。</p>



<h3 class="wp-block-heading"><span id="toc10">期番号がズレている例</span></h3>



<p class="wp-block-paragraph">たとえば、借入100万円・年利6%・36回返済で第1期の利息を求めたいケースを考えます。</p>



<pre class="wp-block-code"><code>誤: =-ISPMT(6%/12, 1, 36, 1000000)  → 結果: 4,861円（実は第2期の値）
正: =-ISPMT(6%/12, 0, 36, 1000000)  → 結果: 5,000円（正しく第1期の値）</code></pre>



<p class="wp-block-paragraph">最初の1回目だけでも手計算と照合する習慣をつけると、ズレに気づきやすいですよ。</p>



<h2 class="wp-block-heading"><span id="toc11">ISPMT関数と似た財務関数の使い分け</span></h2>



<p class="wp-block-paragraph">財務関数には返済シミュレーション系の関数が複数あります。<br>場面に応じてどれを使えばよいか、5関数の早見表を作りました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>計算対象</th><th>返済方式</th><th>期の数え方</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-pmt/">PMT</a></td><td>毎期の返済額（一定）</td><td>元利均等</td><td>—</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-ipmt/">IPMT</a></td><td>各期の利息</td><td>元利均等</td><td>1〜nper</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-ppmt/">PPMT</a></td><td>各期の元金</td><td>元利均等</td><td>1〜nper</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cumipmt/">CUMIPMT</a></td><td>開始期〜終了期の累計利息</td><td>元利均等</td><td>1〜nper</td></tr><tr><td><strong>ISPMT</strong></td><td><strong>各期の利息</strong></td><td><strong>元金均等</strong></td><td><strong>0〜nper-1</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>選び方のポイント</strong></p>



<ul class="wp-block-list"><li>契約が <strong>元利均等返済</strong>（住宅ローン等）→ PMT/IPMT/PPMT/CUMIPMTの組み合わせ</li><li>契約が <strong>元金均等返済</strong>（銀行融資・社債等）→ ISPMT + 元金返済額（pv/nper）</li></ul>



<p class="wp-block-paragraph">元金均等返済では「元金部分」の関数は不要です。<br>元金返済額が pv ÷ nper で常に一定なので、わざわざ関数を使う必要がないからですね。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-ispmt-function/">Googleスプレッドシート版のISPMT関数</a>も同じ仕様で動きます。<br>スプレッドシートで作業している方はそちらの記事も参考にしてください。</p>



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



<p class="wp-block-paragraph">ExcelのISPMT関数について、基本的な使い方から実務での応用まで解説しました。</p>



<p class="wp-block-paragraph">ポイントを振り返ります。</p>



<ul class="wp-block-list"><li>ISPMT関数は <strong>元金均等返済</strong> の各期の利息を求める財務関数</li><li>構文は <code>=ISPMT(利率, 期, 期間, 現在価値)</code> の4引数</li><li>期（per）は <strong>0〜nper-1</strong> の0始まり（IPMTと違うので注意）</li><li>借入額をプラスで指定すると戻り値はマイナスになるため、<code>-ISPMT(...)</code> で受けるのが定番</li><li>IPMTは元利均等返済、ISPMTは元金均等返済と覚えれば混同しない</li><li>銀行融資や社債のスケジュール表に向いている</li></ul>



<p class="wp-block-paragraph">元金均等返済の利息計算は、慣れてしまえばISPMT関数1つで完結します。<br>返済スケジュール表のテンプレートを作っておけば、どんな条件のローンでも数値を差し替えるだけで使い回せますよ。</p>



<p class="wp-block-paragraph">関連する財務関数もあわせてチェックして、Excelでの返済シミュレーションを自由に組めるようにしていきましょう。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-ispmt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel】ODDFYIELD関数の使い方｜初回利払いが半端な債券の利回りを計算する</title>
		<link>https://mashukabu.com/excel-oddfyield/</link>
					<comments>https://mashukabu.com/excel-oddfyield/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 09 May 2026 23:16:55 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ODDFYIELD]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[利回り計算]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6738</guid>

					<description><![CDATA[ExcelのODDFYIELD関数の使い方を解説します。発行日から最初の利払い日までが端数期間（不定期）になる社債・国債の年間利回りを計算する関数で、9つの引数の意味、日付順制約、frequencyやbasisの選び方、Microsoft公式サンプルを使った計算例、よくあるエラーと対処、YIELD・ODDFPRICE・YIELDMATとの使い分けまでまとめて整理しました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「発行日が10月15日なのに最初の利払い日は翌年3月1日」――こんな少し変則的な社債や国債の利回りを計算したいとき、通常のYIELD関数では正しい値が出ません。そこで使うのが <strong>ODDFYIELD関数</strong> です。</p>



<p class="wp-block-paragraph">ただ、ODDFYIELD関数は引数がなんと9つもあります。日付の指定順や frequency、basis の選び方で迷う方が多いのが実情です。引数の順序を一つでも間違えると、すぐに #NUM! エラーが返ってきます。</p>



<p class="wp-block-paragraph">この記事では、ODDFYIELD関数の構文から、初回端数期間がある債券の意味、Microsoft公式サンプルを使った計算例、日付順制約や basis の選び方、よくあるエラーと関連関数との使い分けまでをまとめて整理します。</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">ExcelのODDFYIELD関数とは？</a></li><li><a href="#toc2" tabindex="0">ODDFYIELD関数の書き方（構文と引数）</a></li><li><a href="#toc3" tabindex="0">frequency引数（利払い頻度）の選び方</a></li><li><a href="#toc4" tabindex="0">basis引数（日数計算方法）の選び方</a></li><li><a href="#toc5" tabindex="0">実用例：Microsoft公式サンプルで利回りを計算する</a></li><li><a href="#toc6" tabindex="0">日付順制約（最重要ポイント）</a></li><li><a href="#toc7" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc8" tabindex="0">ODDFYIELD関数と関連関数の使い分け</a><ol><li><a href="#toc9" tabindex="0">使い分けの判断フロー</a></li></ol></li><li><a href="#toc10" tabindex="0">関連記事</a></li><li><a href="#toc11" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのODDFYIELD関数（読み方：オッド・エフ・イールド）は、<strong>初回利払い期間が不定期（端数期間）になっている証券の年間利回りを返す財務関数</strong>です。関数名は「<strong>Odd First Yield</strong>（最初の利払いが不規則な利回り）」の略で、文字通り「最初だけ半端な債券」の利回り計算に特化しています。</p>



<p class="wp-block-paragraph">通常の固定利付債では、発行日から半年なり1年なりの一定間隔で利息が支払われます。ところが、たとえば「10月15日発行で、最初の利払いは翌年3月1日」のような債券だと、発行日から最初の利払い日までが定期的な周期になりません。この最初の半端な期間を <strong>初回端数期間（Odd First Period）</strong> と呼びます。</p>



<p class="wp-block-paragraph">このような債券の利回りを定期利払いの YIELD関数で計算してしまうと、初回の半端な期間が考慮されず、本来の年間利回りからズレた値が出てしまいます。ODDFYIELD関数は、初回端数期間を正しく扱った上で年間利回り（％換算前の小数）を返してくれる関数です。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>ODDFYIELD関数は Excel 2007 以降で利用できます。Microsoft 365、Excel for Mac、Google スプレッドシートでも同名で同じ動作をします。日本の証券実務では「不定期利払い債」と呼ばれることもあり、特に新発の社債や仕組債で見られます。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])</code></pre>



<p class="wp-block-paragraph">引数は9つ（うち basis は省略可）と多めですが、それぞれの意味を押さえれば難しくありません。</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>満期日（最後に元本が償還される日）</td></tr><tr><td>issue</td><td>必須</td><td>発行日</td></tr><tr><td>first_coupon</td><td>必須</td><td>最初の利払い日</td></tr><tr><td>rate</td><td>必須</td><td>年間クーポンレート（小数。5%なら 0.05）</td></tr><tr><td>pr</td><td>必須</td><td>額面100あたりの債券価格</td></tr><tr><td>redemption</td><td>必須</td><td>額面100あたりの償還価格（通常は100）</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払い回数（<strong>1</strong>＝年1回、<strong>2</strong>＝半年払い、<strong>4</strong>＝四半期払い）</td></tr><tr><td>basis</td><td>省略可</td><td>日数計算方法（0〜4。省略時は 0＝US 30/360）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は年間利回りを小数で返します。たとえば 0.0772 が返ってきたら、年間利回り 7.72% を意味します。セルの表示形式を「パーセンテージ」にしておくと読みやすいです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>引数が多いので、セルにあらかじめラベル付きで値を並べて、関数からはセル参照で渡すのがおすすめです。後で条件を変えてシミュレーションする際にも便利で、引数の取り違えも防げます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc3">frequency引数（利払い頻度）の選び方</span></h2>



<p class="wp-block-paragraph">frequency は年間に何回利息が支払われるかを指定します。指定できる値は3つだけです。</p>



<figure class="wp-block-table"><table><thead><tr><th>frequency</th><th>利払い頻度</th><th>代表的な債券</th></tr></thead><tbody><tr><td>1</td><td>年1回</td><td>欧州系社債、ユーロ債の一部</td></tr><tr><td>2</td><td>半年に1回（年2回）</td><td>米国国債、日本国債、多くの社債</td></tr><tr><td>4</td><td>四半期に1回（年4回）</td><td>一部の仕組債、変動利付債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日本や米国の標準的な利付債は半年払い（frequency=2）が圧倒的多数です。迷ったらまず2を入れて、目論見書や条件決定通知で利払い回数を確認しましょう。1, 2, 4 以外を指定すると <strong>#NUM! エラー</strong> が返ります。</p>



<h2 class="wp-block-heading"><span id="toc4">basis引数（日数計算方法）の選び方</span></h2>



<p class="wp-block-paragraph">basis は、利息計算で1年や1か月をどう数えるかを指定する引数です。証券の種類によって慣習が異なるので、目論見書の「日数計算方式」欄を確認するのが確実です。</p>



<figure class="wp-block-table"><table><thead><tr><th>basis</th><th>日数計算方法</th><th>主な用途</th></tr></thead><tbody><tr><td>0（または省略）</td><td>30/360（米国式）</td><td>米国の社債、地方債</td></tr><tr><td>1</td><td>Actual/Actual（実日数/実日数）</td><td>米国国債、多くの政府債</td></tr><tr><td>2</td><td>Actual/360</td><td>短期金融商品、CD</td></tr><tr><td>3</td><td>Actual/365</td><td>一部の英国債、円建て短期商品</td></tr><tr><td>4</td><td>30/360（欧州式）</td><td>欧州の社債（ユーロ債）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">basis に5以上や負の値を指定すると <strong>#NUM! エラー</strong> になります。実務では「とりあえず 0 で省略」というケースが多いですが、米国国債のように Actual/Actual（basis=1）を使うべき商品もあるので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc5">実用例：Microsoft公式サンプルで利回りを計算する</span></h2>



<p class="wp-block-paragraph">Microsoft 公式ドキュメントの ODDFYIELD関数のサンプル値を使って、実際に計算してみます。次のような社債を想定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>値</th></tr></thead><tbody><tr><td>受渡日（settlement）</td><td>2008/11/11</td></tr><tr><td>満期日（maturity）</td><td>2021/3/1</td></tr><tr><td>発行日（issue）</td><td>2008/10/15</td></tr><tr><td>最初の利払い日（first_coupon）</td><td>2009/3/1</td></tr><tr><td>年間クーポンレート（rate）</td><td>5.75%（0.0575）</td></tr><tr><td>債券価格（pr）</td><td>84.50</td></tr><tr><td>償還価格（redemption）</td><td>100</td></tr><tr><td>利払い頻度（frequency）</td><td>2（半年払い）</td></tr><tr><td>日数計算（basis）</td><td>0（US 30/360）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">シートのセル B2:B10 に上から順にこれらの値を入れたとします。日付はそのまま日付として、利率は 0.0575 として入力します。利回りを求める数式は次のようになります。</p>



<pre class="wp-block-code"><code>=ODDFYIELD(B2, B3, B4, B5, B6, B7, B8, B9, B10)</code></pre>



<p class="wp-block-paragraph">このとき、戻り値はおよそ <strong>0.0772</strong>、つまり <strong>年間利回り 7.72%</strong> となります。クーポンレートは 5.75% ですが、額面100の債券を 84.50 の割引価格で買っているため、利回りはクーポンレートよりも高くなる、というイメージです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>発行日（2008/10/15）から最初の利払い日（2009/3/1）までが約4.5か月で、半年払いの「半年」と一致しないため、これは初回端数期間ありの債券です。通常のYIELD関数で計算すると、この4.5か月分が考慮されず、利回りがやや低めに出てしまいます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc6">日付順制約（最重要ポイント）</span></h2>



<p class="wp-block-paragraph">ODDFYIELD関数で最も間違いやすいのが日付の順序です。次の不等式を <strong>必ず</strong> 満たす必要があります。</p>



<pre class="wp-block-code"><code>maturity &gt; first_coupon &gt; settlement &gt; issue</code></pre>



<p class="wp-block-paragraph">つまり「発行日 → 受渡日 → 最初の利払い日 → 満期日」の順に時系列で並んでいないとなりません。一つでも順序が崩れると即 #NUM! エラーになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>日付</th><th>意味</th><th>順序</th></tr></thead><tbody><tr><td>issue（発行日）</td><td>債券が発行された日</td><td>一番古い</td></tr><tr><td>settlement（受渡日）</td><td>投資家に証券が引き渡された日</td><td>2番目</td></tr><tr><td>first_coupon（最初の利払い日）</td><td>最初に利息が支払われた日</td><td>3番目</td></tr><tr><td>maturity（満期日）</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>WARNING</strong></p><p>日付順違反は #NUM! エラーになるので、ぱっと見ではどの引数が悪いのかわからない場合があります。引数が多いODDFYIELDでは、各日付セルに「●●日（○年○月○日）」とコメントを付けておくと、後から見直したときに混乱しません。</p></blockquote>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NUM!</code></td><td>日付順違反（maturity > first_coupon > settlement > issue を満たさない）</td><td>4つの日付の前後関係を見直す</td></tr><tr><td><code>#NUM!</code></td><td>rate < 0、pr ≤ 0、redemption ≤ 0</td><td>利率と価格は正の値を指定</td></tr><tr><td><code>#NUM!</code></td><td>frequency が 1, 2, 4 以外</td><td>1（年1回）、2（半年）、4（四半期）のいずれかを指定</td></tr><tr><td><code>#NUM!</code></td><td>basis が 0 〜 4 の範囲外</td><td>0〜4 の整数（または省略）を指定</td></tr><tr><td><code>#VALUE!</code></td><td>引数に日付として認識できない文字列が入っている</td><td>DATE関数で日付を作るか、セルの書式を「日付」にする</td></tr><tr><td><code>#VALUE!</code></td><td>引数に数値として認識できない値が入っている</td><td>数値型かどうかを確認</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのが、目論見書の表記をそのままコピーして文字列のまま渡してしまうケースです。日付は <code>=DATE(2008,11,11)</code> のように DATE関数で作るか、セルの書式設定で「日付」型にしておくのが確実です。</p>



<h2 class="wp-block-heading"><span id="toc8">ODDFYIELD関数と関連関数の使い分け</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>ODDFYIELD</td><td>初回端数期間あり・定期利払い証券</td><td>年間利回り</td></tr><tr><td>ODDFPRICE</td><td>初回端数期間あり・定期利払い証券</td><td>額面100あたりの価格</td></tr><tr><td>YIELD</td><td>通常の定期利払い証券</td><td>年間利回り</td></tr><tr><td>PRICE</td><td>通常の定期利払い証券</td><td>額面100あたりの価格</td></tr><tr><td>YIELDMAT</td><td>満期時に利息が一括支払われる証券</td><td>年間利回り</td></tr><tr><td>PRICEMAT</td><td>満期時に利息が一括支払われる証券</td><td>額面100あたりの価格</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">使い分けの判断フロー</span></h3>



<ol class="wp-block-list"><li>利息は <strong>満期に一括</strong> で支払われるか？ → はい：YIELDMAT / PRICEMAT</li><li><strong>初回利払い期間が半端</strong> か？ → はい：ODDFYIELD / ODDFPRICE</li><li>それ以外（普通の定期利払い） → YIELD / PRICE</li></ol>



<p class="wp-block-paragraph">ODDFYIELDで価格から利回りを計算したら、逆に利回りから価格を求めるのは ODDFPRICE関数です。価格と利回りはちょうど裏返しの関係になっていて、引数の構成もほぼ同じです。</p>



<p class="wp-block-paragraph">なお、最終利払いだけが端数期間になる債券には ODDLYIELD関数（Odd Last Yield）を使います。発行直後だけが半端なら ODDFYIELD、満期直前だけが半端なら ODDLYIELD、と覚えておくと整理しやすいです。</p>



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



<p class="wp-block-paragraph">債券の価格・利回り計算をさらに深めたい方は、次の記事もあわせてご覧ください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-yield-function/">ExcelのYIELD関数の使い方｜定期利払い債券の利回りを1関数で計算</a>：初回端数期間のない通常の定期利払い債の利回りを求める基本の関数です。</li><li><a href="https://mashukabu.com/excel-price-function/">ExcelのPRICE関数の使い方｜国債・社債の理論価格を1関数で算出</a>：利回りから債券の理論価格を逆算する関数で、ODDFYIELDとペアになる考え方を整理できます。</li><li><a href="https://mashukabu.com/excel-yieldmat/">【Excel】YIELDMAT関数の使い方｜満期一括払い債券の利回りを計算する</a>：利息が満期に一括で支払われる債券の利回りを計算する関数です。</li></ul>



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



<p class="wp-block-paragraph">ExcelのODDFYIELD関数は、初回利払い期間が半端な債券の年間利回りを正確に計算できる関数です。要点を整理すると次のとおりです。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])</code></li><li><strong>対象</strong>: 初回利払い期間が定期周期と異なる「初回端数期間あり」の債券</li><li><strong>日付順制約</strong>: <code>maturity > first_coupon > settlement > issue</code> を満たすこと</li><li><strong>frequency</strong>: 1（年1回）/ 2（半年）/ 4（四半期）から選択</li><li><strong>basis</strong>: 0〜4。迷ったら 0（省略）でOK、米国国債なら 1（Actual/Actual）</li></ul>



<p class="wp-block-paragraph">引数が9個と多いので、セルに値を並べてラベルを付けてから関数で参照する方法をおすすめします。日付順違反による #NUM! エラーが最も多いトラブルなので、計算前に必ず4つの日付の前後関係を確認しましょう。</p>



<p class="wp-block-paragraph">普通の定期利払い債なら YIELD関数、満期一括払いなら YIELDMAT関数、というように、債券のタイプに応じて関数を選び分けるのが基本です。価格から利回りへ変換するのが ODDFYIELD、利回りから価格へ逆算するのが ODDFPRICE、というペア関係も押さえておくと、債券分析がぐっとスムーズになります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-oddfyield/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Excel】YIELDMAT関数の使い方｜満期一括払い債券の利回りを計算する</title>
		<link>https://mashukabu.com/excel-yieldmat/</link>
					<comments>https://mashukabu.com/excel-yieldmat/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 09 May 2026 23:16:23 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[YIELDMAT]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[利回り計算]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6734</guid>

					<description><![CDATA[ExcelのYIELDMAT関数の使い方を解説します。満期時に利息がまとめて支払われる証券（満期利払い証券）の年間利回りを計算する関数で、6つの引数の意味、日数計算basisの選び方、Microsoft公式サンプルでの計算例、よくあるエラーと対処、PRICEMAT・YIELD・YIELDDISCとの使い分けまで実例で整理しました。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「満期時に元本と利息をまとめて受け取るタイプの債券、利回りはどう計算する？」と聞かれて、いつもの YIELD関数で計算しようとして「あれ、利払い回数の引数が要らない？」と気付くことはありませんか。そんなときに使うのが <strong>YIELDMAT関数</strong> です。</p>



<p class="wp-block-paragraph">YIELDMAT は、定期的なクーポン支払いがなく、満期時に利息と元本がまとめて支払われる証券（満期利払い証券）専用の利回り計算関数です。短期割引国債やCD（譲渡性預金）に近い性質の商品で活躍します。</p>



<p class="wp-block-paragraph">この記事では、YIELDMAT関数の構文から、満期利払い証券の仕組み、Microsoft公式サンプルを使った計算例、basis（日数計算）の選び方、PRICEMAT との関係、よくあるエラーと対処までをまとめて整理します。</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">ExcelのYIELDMAT関数とは？</a></li><li><a href="#toc2" tabindex="0">YIELDMAT関数の書き方（構文と引数）</a></li><li><a href="#toc3" tabindex="0">basis引数（日数計算方法）の選び方</a></li><li><a href="#toc4" tabindex="0">実用例：Microsoft公式サンプルで利回りを計算する</a></li><li><a href="#toc5" tabindex="0">日付順制約と注意点</a></li><li><a href="#toc6" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc7" tabindex="0">YIELDMAT関数と関連関数の使い分け</a><ol><li><a href="#toc8" tabindex="0">使い分けの判断フロー</a></li></ol></li><li><a href="#toc9" tabindex="0">PRICEMATとの関係（価格と利回りの逆関数ペア）</a></li><li><a href="#toc10" tabindex="0">関連記事</a></li><li><a href="#toc11" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのYIELDMAT関数（読み方：イールド・マット）は、<strong>満期時に利息が支払われる証券の年間利回りを返す財務関数</strong>です。関数名は「<strong>Yield at Maturity</strong>（満期時利払い証券の利回り）」の略で、「満期にまとめて利息が払われるタイプの債券」専用に設計されています。</p>



<p class="wp-block-paragraph">通常の固定利付債は、半年なり1年なりの周期でクーポン（利息）が支払われ、満期時には元本のみが償還されます。一方で、満期利払い証券では途中の利払いがなく、満期日に <strong>元本＋経過利息の合計</strong> をまとめて受け取る形になります。短期国債やCD（譲渡性預金）、一部の短期社債などがこのタイプです。</p>



<p class="wp-block-paragraph">このような証券では「年に何回利息が支払われるか」という frequency 引数が不要になるため、YIELD関数（定期利払い債用）よりも引数が少なくシンプルです。代わりに「発行日から満期までの全期間でいくらの利息が付くか」を rate と日数から計算する形になります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>YIELDMAT関数は Excel 2003 以降で利用できます。Microsoft 365、Excel for Mac、Google スプレッドシート、さらに Power BI の DAX 言語でも同名で使えます。日本では「満期一括利払い債」「アキュムレーティング債」と呼ばれることもあります。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=YIELDMAT(settlement, maturity, issue, rate, pr, [basis])</code></pre>



<p class="wp-block-paragraph">引数は6つ（うち basis は省略可）と、財務関数のなかでは比較的シンプルな部類です。</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>満期日（元本と利息がまとめて支払われる日）</td></tr><tr><td>issue</td><td>必須</td><td>発行日</td></tr><tr><td>rate</td><td>必須</td><td>発行時点の年利率（小数。6.25%なら 0.0625）</td></tr><tr><td>pr</td><td>必須</td><td>額面100あたりの債券価格</td></tr><tr><td>basis</td><td>省略可</td><td>日数計算方法（0〜4。省略時は 0＝US 30/360）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">戻り値は年間利回りを小数で返します。0.061 が返れば、年間利回りは 6.10% です。表示形式を「パーセンテージ（小数2桁）」に設定すると見やすくなります。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>YIELDMATでは frequency 引数がない代わりに、発行日（issue）が利息計算の基準日になります。発行日と受渡日が大きく離れている場合、すでに経過利息が乗っている価格で売買されているケースが多いので、価格（pr）の入力時にも注意しましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc3">basis引数（日数計算方法）の選び方</span></h2>



<p class="wp-block-paragraph">basis は1年・1か月の日数の数え方を指定します。証券の発行体や市場の慣行に合わせて選びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>basis</th><th>日数計算方法</th><th>主な用途</th></tr></thead><tbody><tr><td>0（または省略）</td><td>30/360（米国式）</td><td>米国の社債、地方債</td></tr><tr><td>1</td><td>Actual/Actual（実日数/実日数）</td><td>米国国債、政府債</td></tr><tr><td>2</td><td>Actual/360</td><td>CD、短期金融商品、米ドル建て短期商品</td></tr><tr><td>3</td><td>Actual/365</td><td>円建て短期商品、英国短期債</td></tr><tr><td>4</td><td>30/360（欧州式）</td><td>欧州ユーロ債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">満期一括払いの短期商品では、basis=2（Actual/360）や basis=3（Actual/365）が使われることが多いです。目論見書や約定書に「日数計算方式」が必ず記載されているので、そこを確認してから入力しましょう。範囲外の値（5以上や負数）を指定すると <strong>#NUM! エラー</strong> になります。</p>



<h2 class="wp-block-heading"><span id="toc4">実用例：Microsoft公式サンプルで利回りを計算する</span></h2>



<p class="wp-block-paragraph">Microsoft 公式ドキュメントの YIELDMAT 関数サンプルを使って、実際に計算してみます。次のような短期社債を想定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>値</th></tr></thead><tbody><tr><td>受渡日（settlement）</td><td>2008/3/15</td></tr><tr><td>満期日（maturity）</td><td>2008/11/3</td></tr><tr><td>発行日（issue）</td><td>2007/11/8</td></tr><tr><td>年利率（rate）</td><td>6.25%（0.0625）</td></tr><tr><td>債券価格（pr）</td><td>100.0123</td></tr><tr><td>日数計算（basis）</td><td>0（US 30/360）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">シートのセル B2:B7 に上から順にこれらの値を入れたとします。利回りを求める数式は次のようになります。</p>



<pre class="wp-block-code"><code>=YIELDMAT(B2, B3, B4, B5, B6, B7)</code></pre>



<p class="wp-block-paragraph">このとき、戻り値はおよそ <strong>0.0610</strong>、つまり <strong>年間利回り 6.10%</strong> が返ってきます。</p>



<p class="wp-block-paragraph">クーポンレート（rate）は 6.25% ですが、債券価格が額面100よりほんの少し高い 100.0123 になっていて、すでに経過利息分が価格に乗っている状態です。そのぶん年間利回りは表面金利よりやや低めの 6.10% になる、というイメージです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>発行日（2007/11/8）から満期日（2008/11/3）までほぼ1年弱の短期商品で、その途中で受渡し（2008/3/15）が行われたケースを想定したサンプルです。実務では、CDの中途売買や満期一括払いの短期社債を扱うときにこの形になります。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">日付順制約と注意点</span></h2>



<p class="wp-block-paragraph">YIELDMATでも、引数の日付には順序の制約があります。次の関係を満たす必要があります。</p>



<pre class="wp-block-code"><code>maturity &gt; settlement &gt; issue</code></pre>



<p class="wp-block-paragraph">つまり「発行日 → 受渡日 → 満期日」の順に時系列で並んでいることが必要です。一つでも順序が崩れると即 #NUM! エラーになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>日付</th><th>意味</th><th>順序</th></tr></thead><tbody><tr><td>issue（発行日）</td><td>証券が発行された日</td><td>一番古い</td></tr><tr><td>settlement（受渡日）</td><td>投資家に証券が引き渡された日</td><td>2番目</td></tr><tr><td>maturity（満期日）</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>WARNING</strong></p><p>短期商品では発行日と満期日が同じ年内に収まることが多く、日付の入力ミスに気付きにくいことがあります。3つの日付セルに「いつの何日か」をコメントで残しておくと、後から見直したときに混乱を防げます。</p></blockquote>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NUM!</code></td><td>日付順違反（maturity > settlement > issue を満たさない）</td><td>3つの日付の前後関係を見直す</td></tr><tr><td><code>#NUM!</code></td><td>rate < 0、pr ≤ 0</td><td>利率と価格は正の値を指定</td></tr><tr><td><code>#NUM!</code></td><td>basis が 0 〜 4 の範囲外</td><td>0〜4 の整数（または省略）を指定</td></tr><tr><td><code>#VALUE!</code></td><td>引数の日付が文字列のまま</td><td>DATE関数で日付を作るか、セルの書式を「日付」にする</td></tr><tr><td><code>#VALUE!</code></td><td>rate や pr が文字列・空欄</td><td>数値を入力、または数値型のセルを参照</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に多いのが、日付を「2008/3/15」のような <strong>文字列</strong> のまま渡してしまうケースです。セル書式が「文字列」になっていると見た目が日付でも内部的には文字列扱いとなり、#VALUE! エラーが出ます。<code>=DATE(2008,3,15)</code> の形で日付値を作るか、書式設定で「日付」に変えてから入力するのが確実です。</p>



<h2 class="wp-block-heading"><span id="toc7">YIELDMAT関数と関連関数の使い分け</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>YIELDMAT</td><td>満期時に利息一括払いの証券</td><td>年間利回り</td></tr><tr><td>PRICEMAT</td><td>満期時に利息一括払いの証券</td><td>額面100あたりの価格</td></tr><tr><td>YIELD</td><td>通常の定期利払い債</td><td>年間利回り</td></tr><tr><td>PRICE</td><td>通常の定期利払い債</td><td>額面100あたりの価格</td></tr><tr><td>YIELDDISC</td><td>利息のない割引証券（ゼロクーポン）</td><td>年間利回り</td></tr><tr><td>PRICEDISC</td><td>利息のない割引証券（ゼロクーポン）</td><td>額面100あたりの価格</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">使い分けの判断フロー</span></h3>



<ol class="wp-block-list"><li>利息はそもそも付くか？</li></ol>



<ul class="wp-block-list"><li>付かない（ゼロクーポン・割引債） → YIELDDISC / PRICEDISC</li></ul>



<ol class="wp-block-list"><li>利息は <strong>満期に一括</strong> で付くか？</li></ol>



<ul class="wp-block-list"><li>はい → YIELDMAT / PRICEMAT</li></ul>



<ol class="wp-block-list"><li>それ以外（定期的にクーポンが付く） → YIELD / PRICE</li></ol>



<p class="wp-block-paragraph">「満期に一括で付く」のがYIELDMAT、「そもそも利息が付かず差額で儲ける」のがYIELDDISC、と区別しておきましょう。短期国債（T-Bill）は割引で発行されるため YIELDDISC の対象、CDのように満期に元本と利息をまとめて受け取る商品は YIELDMAT の対象、というイメージです。</p>



<h2 class="wp-block-heading"><span id="toc9">PRICEMATとの関係（価格と利回りの逆関数ペア）</span></h2>



<p class="wp-block-paragraph">YIELDMAT のちょうど逆の働きをするのが <strong>PRICEMAT関数</strong> です。価格を入力して利回りを返すのが YIELDMAT、利回りを入力して価格を返すのが PRICEMAT、という関係です。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力</th><th>出力</th><th>使う関数</th></tr></thead><tbody><tr><td>債券価格（pr）</td><td>年間利回り</td><td>YIELDMAT</td></tr><tr><td>年間利回り（yld）</td><td>額面100あたり価格</td><td>PRICEMAT</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">PRICEMAT の構文も非常に似ています。</p>



<pre class="wp-block-code"><code>=PRICEMAT(settlement, maturity, issue, rate, yld, [basis])</code></pre>



<p class="wp-block-paragraph">YIELDMAT の戻り値（利回り）を PRICEMAT の yld に渡せば、ほぼ元の価格に戻ります（丸め誤差の範囲で）。逆方向の検算をしたいときに便利な使い方です。</p>



<p class="wp-block-paragraph">たとえば、上のサンプルで YIELDMAT が 6.10% を返したとします。次の式で価格を逆算すると、ほぼ 100.0123 に近い値が返るはずです。</p>



<pre class="wp-block-code"><code>=PRICEMAT(B2, B3, B4, B5, 0.0610, B7)</code></pre>



<p class="wp-block-paragraph">実務では、市場利回りから理論価格を出して入札価格を決める際に PRICEMAT、買付価格から実効利回りを出して投資判断する際に YIELDMAT、という使い分けになります。</p>



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



<p class="wp-block-paragraph">債券の利回り・価格を扱う関数は、証券のタイプごとに使い分けます。あわせて次の記事も参考にしてください。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-yield-function/">ExcelのYIELD関数の使い方｜定期利払い債券の利回りを1関数で計算</a></li><li><a href="https://mashukabu.com/excel-yielddisc-function/">ExcelのYIELDDISC関数の使い方｜割引証券（TB・CP）の利回りを計算する</a></li><li><a href="https://mashukabu.com/excel-price-function/">ExcelのPRICE関数の使い方｜国債・社債の理論価格を1関数で算出</a></li><li><a href="https://mashukabu.com/excel-oddfyield/">【Excel】ODDFYIELD関数の使い方｜初回利払いが半端な債券の利回りを計算する</a></li></ul>



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



<p class="wp-block-paragraph">ExcelのYIELDMAT関数は、満期時に利息がまとめて支払われる証券の年間利回りを計算できる関数です。要点を整理すると次のとおりです。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=YIELDMAT(settlement, maturity, issue, rate, pr, [basis])</code></li><li><strong>対象</strong>: 満期時に元本と利息を一括支払いする証券（CDや満期一括払い社債など）</li><li><strong>frequency引数なし</strong>: 通常のYIELD関数と違い、利払い回数を指定しない</li><li><strong>日付順制約</strong>: <code>maturity > settlement > issue</code> を満たすこと</li><li><strong>basis</strong>: 0〜4。短期商品では 2（Actual/360）や 3（Actual/365）も多用</li></ul>



<p class="wp-block-paragraph">通常の定期クーポン債なら YIELD関数、利息のない割引債なら YIELDDISC関数、満期一括払いなら YIELDMAT関数、と用途別に関数を使い分けましょう。日付順違反と書式違いによる #VALUE! / #NUM! エラーが最も多いつまずきポイントなので、入力前に必ず3つの日付の順序とセル書式を確認しておくと安全です。</p>



<p class="wp-block-paragraph">価格から利回りを求めるのが YIELDMAT、利回りから価格を求めるのが PRICEMAT、というペア関係も押さえておくと、債券の投資判断や入札価格設定の場面で柔軟に分析を進められるようになります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-yieldmat/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのTBILLYIELD関数の使い方｜国債の利回り</title>
		<link>https://mashukabu.com/excel-tbillyield-function/</link>
					<comments>https://mashukabu.com/excel-tbillyield-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 21:29:20 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[TBILLYIELD関数]]></category>
		<category><![CDATA[国庫短期証券]]></category>
		<category><![CDATA[米国財務省短期証券]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6632</guid>

					<description><![CDATA[ExcelのTBILLYIELD関数は、米国財務省短期証券（T-Bill）の利回りを価格から計算する財務関数です。構文・引数・計算式の意味をわかりやすく解説。出力が割引利回りでBEYではない点や、TBILLEQ・TBILLPRICEとの使い分け、#NUM!エラーの対処法も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">米国財務省短期証券（T-Bill）を満期前に流通市場で売買すると、価格が日々変動します。そのとき気になるのが「いまの価格だと利回りはどれくらいか？」という点ですよね。</p>



<p class="wp-block-paragraph">そこで登場するのが ExcelのTBILLYIELD関数です。TBILLYIELDを使えば、T-Billの「価格」から「利回り」を即座に逆算できます。市場の提示価格をそのまま入れるだけで、現在の利回りが計算できますよ。</p>



<p class="wp-block-paragraph">この記事では、TBILLYIELD関数の構文・引数・計算式を解説します。出力が「割引利回り」でBEYではない点も整理しますね。TBILLEQ・TBILLPRICE関数との使い分けや、#NUM!エラーの典型パターンと対処法もあわせて確認できますよ。</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">ExcelのTBILLYIELD関数とは？</a><ol><li><a href="#toc2" tabindex="0">T-Bill（米国財務省短期証券）の概要</a></li><li><a href="#toc3" tabindex="0">TBILLYIELDが返す「割引利回り」とBEYの違い</a></li><li><a href="#toc4" tabindex="0">TBILLYIELDが必要な場面</a></li></ol></li><li><a href="#toc5" tabindex="0">TBILLYIELD関数の構文と引数</a><ol><li><a href="#toc6" tabindex="0">引数の日付制約</a></li><li><a href="#toc7" tabindex="0">pr引数の表記</a></li><li><a href="#toc8" tabindex="0">settlementとmaturityの入力方法</a></li></ol></li><li><a href="#toc9" tabindex="0">TBILLYIELD関数の計算式と仕組み</a><ol><li><a href="#toc10" tabindex="0">計算式: (100 − pr) / pr × (360 / DSM)</a></li><li><a href="#toc11" tabindex="0">360日基準と365日制約の理由</a></li><li><a href="#toc12" tabindex="0">「投下元本ベース」と「額面ベース」の違い</a></li></ol></li><li><a href="#toc13" tabindex="0">TBILLYIELD関数の基本的な使い方</a><ol><li><a href="#toc14" tabindex="0">例1: Microsoft公式サンプル</a></li><li><a href="#toc15" tabindex="0">計算式での検算</a></li><li><a href="#toc16" tabindex="0">例2: 13週間（91日）T-Billの利回り計算</a></li><li><a href="#toc17" tabindex="0">例3: セル参照で複数銘柄を一括計算</a></li></ol></li><li><a href="#toc18" tabindex="0">TBILLYIELD・TBILLEQ・TBILLPRICEの使い分け</a><ol><li><a href="#toc19" tabindex="0">TBILLEQとの違い</a></li><li><a href="#toc20" tabindex="0">TBILLPRICEとの違い</a></li><li><a href="#toc21" tabindex="0">3関数を組み合わせた実務フロー</a></li></ol></li><li><a href="#toc22" tabindex="0">関連する割引証券関数（YIELDDISC・DISC）</a><ol><li><a href="#toc23" tabindex="0">TBILLYIELDとYIELDDISCの違い</a></li></ol></li><li><a href="#toc24" tabindex="0">実務での活用例</a><ol><li><a href="#toc25" tabindex="0">既発T-Billの市場価格からの利回り評価</a></li><li><a href="#toc26" tabindex="0">ポートフォリオの時価利回り更新</a></li><li><a href="#toc27" tabindex="0">入札後の二次市場ウォッチ</a></li><li><a href="#toc28" tabindex="0">MMFファンド組入銘柄の妥当性チェック</a></li><li><a href="#toc29" tabindex="0">割安・割高判断の出発点</a></li></ol></li><li><a href="#toc30" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc31" tabindex="0">#NUM! エラー</a></li><li><a href="#toc32" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc33" tabindex="0">結果が異常値になる場合</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのTBILLYIELD関数（読み方：ティービル・イールド）は財務関数の一つです。<strong>米国財務省短期証券（T-Bill）の利回りを、価格と日数から計算して返します</strong>。</p>



<p class="wp-block-paragraph">関数名は「T-Bill（米国短期国債）」と「YIELD（利回り）」を組み合わせたものです。つまり「T-Billの利回りを求める関数」ですね。</p>



<h3 class="wp-block-heading"><span id="toc2">T-Bill（米国財務省短期証券）の概要</span></h3>



<p class="wp-block-paragraph">T-Bill（Treasury Bill）は、米国財務省が発行する満期1年以内の短期国債です。</p>



<ul class="wp-block-list"><li>満期は4週・8週・13週・17週・26週・52週の6種類</li><li>利息はゼロ（クーポンなし）</li><li>額面より安い価格で発行され、満期に額面で償還される割引証券</li><li>入札は「割引率（discount rate）」で実施される</li></ul>



<p class="wp-block-paragraph">額面100ドルのT-Billを99ドルで買って、満期に100ドルで償還される。この1ドルが実質的な利息になる、という仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc3">TBILLYIELDが返す「割引利回り」とBEYの違い</span></h3>



<p class="wp-block-paragraph">TBILLYIELDの戻り値は「割引利回り（discount yield）」です。BEY（債券換算利回り）ではない点に注意してください。</p>



<ul class="wp-block-list"><li><strong>割引利回り（TBILLYIELDの出力）</strong>: 360日基準の年率</li><li><strong>BEY（債券換算利回り）</strong>: 365日基準・投下元本ベースの年率</li></ul>



<p class="wp-block-paragraph">利付国債や社債と並べて比較する場合、BEYに換算する必要があります。BEYを直接得たいときはTBILLEQ関数を使ってくださいね。TBILLYIELDの結果を後からBEYに変換することもできますが、入力データが「割引率」ならTBILLEQが最短です。</p>



<h3 class="wp-block-heading"><span id="toc4">TBILLYIELDが必要な場面</span></h3>



<ul class="wp-block-list"><li>既発のT-Billを流通市場の価格から、現時点の利回りを逆算したい</li><li>自分が買った価格で実質利回りがいくらになるか確認したい</li><li>銘柄スクリーニングで、価格データから一斉に利回りを並べたい</li><li>市場の提示価格と理論価格を比較する出発点にしたい</li></ul>



<p class="wp-block-paragraph">価格から利回りを引き出す関数なので、流通市場のクオートや約定価格がインプットになる場面で活躍します。</p>



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



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



<pre class="wp-block-code"><code>=TBILLYIELD(settlement, maturity, pr)</code></pre>



<p class="wp-block-paragraph">引数は3つで、すべて必須です。同じT-Bill系の<a href="https://mashukabu.com/excel-tbilleq-function/">TBILLEQ関数</a>・<a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE関数</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>pr</td><td>必須</td><td>額面100あたりの価格（正の数）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">引数の日付制約</span></h3>



<p class="wp-block-paragraph">settlement と maturity の日付関係には次の制約があります。</p>



<pre class="wp-block-code"><code>settlement &lt; maturity ≤ settlement + 365日</code></pre>



<p class="wp-block-paragraph">時系列で並べるとこうなります。</p>



<pre class="wp-block-code"><code>[受渡日] ―→ [満期日]
settlement   maturity
（最大1暦年=365日以内）</code></pre>



<p class="wp-block-paragraph">つまり「受渡日から満期日までは1年以内」という制約です。これはT-Billの最長満期が52週間（約364日）であることに対応しています。1年を超えると <code>#NUM!</code> エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc7">pr引数の表記</span></h3>



<p class="wp-block-paragraph"><code>pr</code> はT-Billの額面100あたりの価格です。額面100に対する相対価格として、必ず正の数を指定してください。</p>



<ul class="wp-block-list"><li>1万ドル分のT-Billを9,873.61ドルで購入した場合 → <code>98.7361</code></li><li>額面100ドルのT-Billを98.74ドルで購入した場合 → <code>98.74</code></li></ul>



<p class="wp-block-paragraph">割引率（例: 0.05）と取り違えないように注意しましょう。<code>pr</code> は「価格」であって「割引率」ではありません。実務でつまずきやすいポイントです。</p>



<h3 class="wp-block-heading"><span id="toc8">settlementとmaturityの入力方法</span></h3>



<p class="wp-block-paragraph">日付は次のいずれかの形で渡します。</p>



<ul class="wp-block-list"><li><strong>DATE関数</strong>: <code>DATE(2026,5,7)</code> のように年・月・日を直接指定</li><li><strong>セル参照</strong>: 日付形式のセルを参照</li><li><strong>日付シリアル値</strong>: Excel内部の日付シリアル値</li></ul>



<p class="wp-block-paragraph">文字列のまま渡すと <code>#VALUE!</code> エラーになります。必ず日付として認識される形式で渡してください。</p>



<h2 class="wp-block-heading"><span id="toc9">TBILLYIELD関数の計算式と仕組み</span></h2>



<p class="wp-block-paragraph">TBILLYIELDの内部で行われている計算を見ておくと、引数の意味と制約が理解しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc10">計算式: (100 − pr) / pr × (360 / DSM)</span></h3>



<p class="wp-block-paragraph">TBILLYIELDは次の式で利回りを計算します。</p>



<pre class="wp-block-code"><code>TBILLYIELD = (100 − pr) / pr × (360 / DSM)</code></pre>



<ul class="wp-block-list"><li>DSM = 受渡日から満期日までの日数（カレンダー日数）</li><li>360 = 短期金融市場の慣習である360日基準（ACT/360）</li><li>100 = 額面（券面金額）</li></ul>



<p class="wp-block-paragraph">式の前半 <code>(100 − pr) / pr</code> は「投下元本に対する割引額の比率」です。後半の <code>360 / DSM</code> で年率に換算しています。</p>



<h3 class="wp-block-heading"><span id="toc11">360日基準と365日制約の理由</span></h3>



<p class="wp-block-paragraph">「日数を360日で割る」のは、短期金融市場の歴史的慣習（ACT/360）です。銀行間取引・CD・CP・短期国債で広く使われてきました。</p>



<p class="wp-block-paragraph">一方、入力チェックには365日制約があります。これはTBILLYIELDがT-Bill専用に設計されているからです。T-Billの最長満期が52週間（約364日）であるため、1年超を入れると <code>#NUM!</code> エラーで弾かれます。</p>



<p class="wp-block-paragraph">1年を超える割引証券を扱う場合は、汎用の<a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC関数</a>を使ってください。</p>



<h3 class="wp-block-heading"><span id="toc12">「投下元本ベース」と「額面ベース」の違い</span></h3>



<p class="wp-block-paragraph">TBILLYIELDの式は分母が <code>pr</code>（投下元本）です。よく似た式に「(100 − pr) / 100 × (360 / DSM)」（額面ベースの割引利回り）がありますが、これはTBILLYIELDではありません。</p>



<ul class="wp-block-list"><li><strong>TBILLYIELD（投下元本ベース）</strong>: <code>(100 − pr) / pr × (360 / DSM)</code></li><li><strong>入札時の割引率（額面ベース）</strong>: <code>(100 − pr) / 100 × (360 / DSM)</code></li></ul>



<p class="wp-block-paragraph">両者は分母が異なり、結果も微妙にズレます。TBILLYIELDは「実際に投下した元本に対する利回り」を返す点を覚えておきましょう。</p>



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



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



<h3 class="wp-block-heading"><span id="toc14">例1: Microsoft公式サンプル</span></h3>



<p class="wp-block-paragraph">Microsoft公式リファレンスのサンプル値です。</p>



<ul class="wp-block-list"><li>受渡日: 2008/3/31</li><li>満期日: 2008/6/1</li><li>価格: 98.45（額面100あたり）</li></ul>



<pre class="wp-block-code"><code>=TBILLYIELD(DATE(2008,3,31), DATE(2008,6,1), 98.45)</code></pre>



<p class="wp-block-paragraph">結果は約 0.0914（9.14%）になります。額面100に対して98.45で買えるT-Billの利回りは、年率約9.14%という関係ですね。</p>



<h3 class="wp-block-heading"><span id="toc15">計算式での検算</span></h3>



<p class="wp-block-paragraph">DSM（受渡日から満期日までの日数）= 62日として、TBILLYIELDの計算式は次のとおりです。</p>



<pre class="wp-block-code"><code>TBILLYIELD = (100 − 98.45) / 98.45 × (360 / 62)
          = 1.55 / 98.45 × 5.806
          = 0.015744 × 5.806
          ≈ 0.09142</code></pre>



<p class="wp-block-paragraph">分子の <code>100 − 98.45 = 1.55</code> が割引額です。これを投下元本98.45で割って、360日換算で年率に直しています。</p>



<h3 class="wp-block-heading"><span id="toc16">例2: 13週間（91日）T-Billの利回り計算</span></h3>



<p class="wp-block-paragraph">実務で頻出する13週間（91日）T-Billの例です。</p>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2026/8/6（91日後）</li><li>価格: 98.7361（TBILLPRICEの結果と整合）</li></ul>



<pre class="wp-block-code"><code>=TBILLYIELD(DATE(2026,5,7), DATE(2026,8,6), 98.7361)</code></pre>



<p class="wp-block-paragraph">結果は約 0.0506（5.06%）です。割引率5%で発行されたT-Billでも、価格ベースで逆算するとTBILLYIELDは約5.06%になります。これは投下元本ベース（=価格98.74で割る）になるため、入札時の割引率5.00%よりわずかに高く出る、という関係ですね。</p>



<h3 class="wp-block-heading"><span id="toc17">例3: セル参照で複数銘柄を一括計算</span></h3>



<p class="wp-block-paragraph">実務では引数をセル参照にすると、複数銘柄の利回り比較が楽になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>銘柄</th><th>受渡日</th><th>満期日</th><th>価格</th><th>利回り（=TBILLYIELD）</th></tr></thead><tbody><tr><td>4週物</td><td>2026/5/7</td><td>2026/6/4</td><td>99.6267</td><td>4.82%</td></tr><tr><td>13週物</td><td>2026/5/7</td><td>2026/8/6</td><td>98.7361</td><td>5.06%</td></tr><tr><td>26週物</td><td>2026/5/7</td><td>2026/11/5</td><td>97.4217</td><td>5.23%</td></tr><tr><td>52週物</td><td>2026/5/7</td><td>2027/5/6</td><td>94.7928</td><td>5.43%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">各銘柄に <code>TBILLYIELD(受渡日, 満期日, 価格)</code> を入れるだけで、価格ベースの利回り一覧表が完成します。流通市場の価格を更新すれば、利回りも連動して再計算できますよ。</p>



<h2 class="wp-block-heading"><span id="toc18">TBILLYIELD・TBILLEQ・TBILLPRICEの使い分け</span></h2>



<p class="wp-block-paragraph">T-Bill系の関数3つは、入力と出力の組み合わせで役割が分かれています。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>TBILLYIELD</strong></td><td>価格（pr）</td><td>割引利回り（年率）</td></tr><tr><td><a href="https://mashukabu.com/excel-tbilleq-function/">TBILLEQ</a></td><td>割引率（discount）</td><td>債券換算利回り（BEY）</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE</a></td><td>割引率（discount）</td><td>価格（額面100あたり）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3関数の引数は最初の2つ（settlement, maturity）が共通で、第3引数だけが目的に応じて変わります。</p>



<h3 class="wp-block-heading"><span id="toc19">TBILLEQとの違い</span></h3>



<p class="wp-block-paragraph">TBILLYIELDとTBILLEQはどちらも「利回り」を返す関数ですが、入力と出力の意味が異なります。</p>



<ul class="wp-block-list"><li><strong>TBILLYIELD</strong>: 価格を入れて、360日基準・投下元本ベースの割引利回りを返す</li><li><strong>TBILLEQ</strong>: 割引率を入れて、365日基準・投下元本ベースの債券換算利回り（BEY）を返す</li></ul>



<p class="wp-block-paragraph">利付債と並べて比較したいときはTBILLEQを使ってください。流通市場の価格から利回りを引き出したいときはTBILLYIELDが最短です。</p>



<h3 class="wp-block-heading"><span id="toc20">TBILLPRICEとの違い</span></h3>



<p class="wp-block-paragraph">TBILLYIELDとTBILLPRICEは入力と出力が完全に逆方向の関数です。</p>



<ul class="wp-block-list"><li><strong>TBILLPRICE</strong>: 割引率から価格を計算（入札 → 購入金額）</li><li><strong>TBILLYIELD</strong>: 価格から利回りを計算（流通市場 → 時価利回り）</li></ul>



<p class="wp-block-paragraph">入札直後に発行価格を求めたいならTBILLPRICE、後日に流通市場の価格から利回りを再計算したいならTBILLYIELDという棲み分けです。</p>



<h3 class="wp-block-heading"><span id="toc21">3関数を組み合わせた実務フロー</span></h3>



<p class="wp-block-paragraph">入札→価格算出→BEY換算→時価利回りという一連の流れは、3関数の組み合わせで完結します。</p>



<ol class="wp-block-list"><li>入札結果（割引率）から <strong>TBILLPRICE</strong> で購入価格を計算</li><li>同じ割引率から <strong>TBILLEQ</strong> で債券換算利回り（BEY）を計算</li><li>後日、流通市場の価格から <strong>TBILLYIELD</strong> で時価利回りを再計算</li></ol>



<p class="wp-block-paragraph">この3ステップで、発行から運用評価までの利回り計算がカバーできますよ。</p>



<h2 class="wp-block-heading"><span id="toc22">関連する割引証券関数（YIELDDISC・DISC）</span></h2>



<p class="wp-block-paragraph">T-Bill以外の割引証券にも対応する関数があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-disc/">DISC</a></td><td>割引証券の割引率を計算</td></tr><tr><td><a href="https://mashukabu.com/excel-pricedisc-function/">PRICEDISC</a></td><td>割引証券の価格を計算</td></tr><tr><td><a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC</a></td><td>割引証券の年利回りを計算</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-intrate/">INTRATE</a></td><td>投資全期間の金利を計算</td></tr><tr><td><strong>TBILLYIELD</strong></td><td>T-Billの利回り</td></tr><tr><td><a href="https://mashukabu.com/excel-tbilleq-function/">TBILLEQ</a></td><td>T-Billの債券換算利回り</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE</a></td><td>T-Billの価格</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">利付債との比較には<a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a>も参考になります。</p>



<h3 class="wp-block-heading"><span id="toc23">TBILLYIELDとYIELDDISCの違い</span></h3>



<p class="wp-block-paragraph">両者は「割引証券の利回りを計算する」という意味では似ています。しかし設計思想が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>TBILLYIELD</th><th>YIELDDISC</th></tr></thead><tbody><tr><td>対象</td><td>T-Bill専用</td><td>割引証券一般</td></tr><tr><td>満期制約</td><td>1年（365日）以内</td><td>制約なし（1年超も可）</td></tr><tr><td>basis引数</td><td>なし（360日固定）</td><td>あり（0/1/2/3/4から選択）</td></tr><tr><td>額面</td><td>100固定</td><td>額面・償還額を引数で指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">T-Bill系3関数は短期国債（1年以内）専用で、計算が簡略化されています。1年を超える割引証券にはYIELDDISCを使ってください。日本の事業債やCPなど、basis設定で日数基準を変えたい場合もYIELDDISCが必要になりますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc25">既発T-Billの市場価格からの利回り評価</span></h3>



<p class="wp-block-paragraph">満期前のT-Billを流通市場で売買する場合、市場の提示価格から現時点の利回りを把握する必要があります。市場価格をTBILLYIELDに入れれば、現時点の年率利回りが即座にわかりますよ。</p>



<p class="wp-block-paragraph">入札時の割引率と比較すれば、発行後に金利環境がどう変化したかも確認できます。</p>



<h3 class="wp-block-heading"><span id="toc26">ポートフォリオの時価利回り更新</span></h3>



<p class="wp-block-paragraph">複数のT-Billを保有している場合、銘柄別に受渡日・満期日・市場価格をシートに並べておきます。各行にTBILLYIELDを入れれば、全銘柄の時価利回りを横並びで管理できますよ。</p>



<p class="wp-block-paragraph">価格セルを日次で更新するだけで、ポートフォリオ全体の平均利回りも追跡できます。</p>



<h3 class="wp-block-heading"><span id="toc27">入札後の二次市場ウォッチ</span></h3>



<p class="wp-block-paragraph">入札直後の価格と、その後の流通市場の価格を比較する用途でも便利です。発行時のTBILLPRICE結果と、現時点のTBILLYIELDによる利回りを並べれば、保有銘柄の含み損益と利回り変化が同時に把握できますね。</p>



<h3 class="wp-block-heading"><span id="toc28">MMFファンド組入銘柄の妥当性チェック</span></h3>



<p class="wp-block-paragraph">MMF（マネーマーケットファンド）の組入銘柄に短期国債が含まれる場合があります。運用報告書には平均利回りが示されていますが、原資料の価格データからTBILLYIELDで再計算すれば、報告値の妥当性を確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc29">割安・割高判断の出発点</span></h3>



<p class="wp-block-paragraph">理論的な公正価値（TBILLPRICEで計算）と、現在の市場価格を比較するときに使えます。市場価格をTBILLYIELDに入れて利回りを出し、自分の必要利回りと比べれば、割安・割高の判断材料になりますね。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付順制約違反（settlement ≥ maturity）</td><td>settlement を maturity より前の日付にする</td></tr><tr><td>満期日が受渡日から1年（365日）超</td><td>TBILLYIELDはT-Bill専用で1年超は対応外。YIELDDISC関数を使う</td></tr><tr><td>pr が0以下</td><td>価格は正の数を指定</td></tr><tr><td>settlement や maturity が無効な日付</td><td>DATE関数で正しい日付を指定</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付引数が日付として認識されない</td><td>DATE関数で指定するか、日付形式のセルを参照する</td></tr><tr><td>pr に文字列が入っている</td><td>数値（小数）に変換して指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc33">結果が異常値になる場合</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>pr に割引率を入れてしまった（例: 0.05）</td><td>価格（額面100あたり）を指定。98.74のような値</td></tr><tr><td>pr に額面ベースの大きな値を指定（例: 9874）</td><td>額面100あたりの価格に直す。98.74に変換</td></tr><tr><td>settlement と maturity を逆に指定</td><td>受渡日が先・満期日が後の順で指定</td></tr><tr><td>利回りがマイナスになる</td><td>pr が100を超えている。価格は通常100未満（割引証券のため）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に「pr に割引率を入れてしまう」と「1年超で <code>#NUM!</code>」は実務でつまずきやすいポイントです。価格と割引率の取り違えは結果が桁外れになるので、必ず額面100あたりの価格（98.74のような値）を入れてくださいね。</p>



<p class="wp-block-paragraph">TBILLYIELD関数を使えば、T-Billの市場価格から利回りを即座に逆算できます。流通市場のウォッチやポートフォリオの時価利回り更新で頼れる味方になりますよ。出力が「割引利回り」であってBEYではない点にだけ注意すれば、財務関数の中でも扱いやすい1本です。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-tbillyield-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのTBILLPRICE関数の使い方｜国債（T-Bill）の額面100あたりの価格</title>
		<link>https://mashukabu.com/excel-tbillprice-function/</link>
					<comments>https://mashukabu.com/excel-tbillprice-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 21:29:14 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[TBILLPRICE関数]]></category>
		<category><![CDATA[国庫短期証券]]></category>
		<category><![CDATA[米国財務省短期証券]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6628</guid>

					<description><![CDATA[ExcelのTBILLPRICE関数は、米国財務省短期証券（T-Bill）の額面100あたりの価格を、割引率と日数から計算する財務関数です。構文・引数・計算式の意味をわかりやすく解説。実務での数式例、TBILLEQ・TBILLYIELD・PRICEDISCとの使い分け、#NUM!エラーの対処法も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">米国財務省短期証券（T-Bill）は割引価格で発行されます。入札では「割引率」で取引が決まりますが、実際に支払う購入金額は別途「価格」として計算する必要があります。</p>



<p class="wp-block-paragraph">そこで登場するのが ExcelのTBILLPRICE関数です。TBILLPRICEを使えば、割引率と日付から「額面100あたりの価格」をすぐに計算できます。割引率5%のT-Billを買うとき、いくら支払えばいいのか即座にわかりますよ。</p>



<p class="wp-block-paragraph">この記事では、TBILLPRICE関数の構文・引数・計算式を解説します。実務で使える数式例や、TBILLEQ・TBILLYIELD・PRICEDISC関数との使い分けも紹介しますね。#NUM!エラーの典型パターンと対処法もあわせて確認できますよ。</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">ExcelのTBILLPRICE関数とは？</a><ol><li><a href="#toc2" tabindex="0">T-Bill（米国財務省短期証券）の概要</a></li><li><a href="#toc3" tabindex="0">TBILLPRICEが必要な場面</a></li></ol></li><li><a href="#toc4" tabindex="0">TBILLPRICE関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">引数の日付制約</a></li><li><a href="#toc6" tabindex="0">discount引数の表記</a></li><li><a href="#toc7" tabindex="0">settlementとmaturityの入力方法</a></li></ol></li><li><a href="#toc8" tabindex="0">TBILLPRICE関数の計算式と仕組み</a><ol><li><a href="#toc9" tabindex="0">計算式: 100 × (1 − discount × DSM / 360)</a></li><li><a href="#toc10" tabindex="0">360日基準と365日制約の理由</a></li></ol></li><li><a href="#toc11" tabindex="0">TBILLPRICE関数の基本的な使い方</a><ol><li><a href="#toc12" tabindex="0">例1: Microsoft公式サンプル</a></li><li><a href="#toc13" tabindex="0">計算式での検算</a></li><li><a href="#toc14" tabindex="0">例2: 13週間（91日）T-Billの価格計算</a></li><li><a href="#toc15" tabindex="0">例3: セル参照で複数銘柄を一括計算</a></li></ol></li><li><a href="#toc16" tabindex="0">TBILLPRICE・TBILLEQ・TBILLYIELDの使い分け</a><ol><li><a href="#toc17" tabindex="0">TBILLEQ との違い</a></li><li><a href="#toc18" tabindex="0">TBILLYIELD との違い</a></li><li><a href="#toc19" tabindex="0">3関数を組み合わせた実務フロー</a></li></ol></li><li><a href="#toc20" tabindex="0">関連する割引証券関数（PRICEDISC・DISC）</a><ol><li><a href="#toc21" tabindex="0">TBILLPRICE と PRICEDISC の違い</a></li></ol></li><li><a href="#toc22" tabindex="0">実務での活用例</a><ol><li><a href="#toc23" tabindex="0">短期国債の入札参加判断</a></li><li><a href="#toc24" tabindex="0">既発T-Billの価格評価</a></li><li><a href="#toc25" tabindex="0">ポートフォリオの一覧管理</a></li><li><a href="#toc26" tabindex="0">会計処理の簿価計算</a></li><li><a href="#toc27" tabindex="0">MMFファンドの組入銘柄評価</a></li></ol></li><li><a href="#toc28" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc29" tabindex="0">#NUM! エラー</a></li><li><a href="#toc30" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc31" tabindex="0">結果が異常値になる場合</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのTBILLPRICE関数（読み方：ティービル・プライス）は財務関数の一つです。<strong>米国財務省短期証券（T-Bill）の額面100あたりの価格を、割引率と日数から計算して返します</strong>。</p>



<p class="wp-block-paragraph">関数名は「T-Bill（米国短期国債）」と「PRICE（価格）」を組み合わせたものです。つまり「T-Billの価格を求める関数」ですね。</p>



<h3 class="wp-block-heading"><span id="toc2">T-Bill（米国財務省短期証券）の概要</span></h3>



<p class="wp-block-paragraph">T-Bill（Treasury Bill）は、米国財務省が発行する満期1年以内の短期国債です。</p>



<ul class="wp-block-list"><li>満期は4週・8週・13週・17週・26週・52週の6種類</li><li>利息はゼロ（クーポンなし）</li><li>額面より安い価格で発行され、満期に額面で償還される割引証券</li><li>入札は「割引率（discount rate）」で実施される</li></ul>



<p class="wp-block-paragraph">額面100ドルのT-Billを99ドルで買って、満期に100ドルで償還される。この1ドルが実質的な利息になる、という仕組みです。</p>



<h3 class="wp-block-heading"><span id="toc3">TBILLPRICEが必要な場面</span></h3>



<ul class="wp-block-list"><li>入札の落札予想割引率から、購入金額を見積もりたい</li><li>既発のT-Billを満期前に購入する際の理論価格を知りたい</li><li>残存日数別に複数銘柄の価格を一覧化したい</li><li>会計処理で割引証券の簿価計算の基礎を作りたい</li></ul>



<p class="wp-block-paragraph">入札結果は割引率で発表されるため、実際の購入金額を出すにはこの関数が欠かせません。</p>



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



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



<pre class="wp-block-code"><code>=TBILLPRICE(settlement, maturity, discount)</code></pre>



<p class="wp-block-paragraph">引数は3つで、すべて必須です。同じT-Bill系の<a href="https://mashukabu.com/excel-tbilleq-function/">TBILLEQ関数</a>・<a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD関数</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>discount</td><td>必須</td><td>T-Billの割引率（小数で指定。9.14%なら 0.0914）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">引数の日付制約</span></h3>



<p class="wp-block-paragraph">settlement と maturity の日付関係には次の制約があります。</p>



<pre class="wp-block-code"><code>settlement &lt; maturity ≤ settlement + 365日</code></pre>



<p class="wp-block-paragraph">時系列で並べるとこうなります。</p>



<pre class="wp-block-code"><code>[受渡日] ―→ [満期日]
settlement   maturity
（最大1暦年=365日以内）</code></pre>



<p class="wp-block-paragraph">つまり「受渡日から満期日までは1年以内」という制約です。これはT-Billの最長満期が52週間（約364日）であることに対応しています。1年を超えると <code>#NUM!</code> エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc6">discount引数の表記</span></h3>



<p class="wp-block-paragraph"><code>discount</code> はT-Billの割引率（年率）です。必ず小数で指定してください。</p>



<ul class="wp-block-list"><li>9.14%なら <code>0.0914</code></li><li>5%なら <code>0.05</code></li><li>0.5%なら <code>0.005</code></li></ul>



<p class="wp-block-paragraph"><code>9.14</code> のようにパーセント整数値を入れると、計算結果が桁外れになります。実務でつまずきやすいポイントなので注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">settlementとmaturityの入力方法</span></h3>



<p class="wp-block-paragraph">日付は次のいずれかの形で渡します。</p>



<ul class="wp-block-list"><li><strong>DATE関数</strong>: <code>DATE(2026,5,7)</code> のように年・月・日を直接指定</li><li><strong>セル参照</strong>: 日付形式のセルを参照</li><li><strong>日付シリアル値</strong>: <code>"2026/5/7"</code> などの文字列ではなく、Excel内部の日付シリアル値</li></ul>



<p class="wp-block-paragraph">文字列のまま渡すと <code>#VALUE!</code> エラーになります。必ず日付として認識される形式で渡してください。</p>



<h2 class="wp-block-heading"><span id="toc8">TBILLPRICE関数の計算式と仕組み</span></h2>



<p class="wp-block-paragraph">TBILLPRICEの内部で行われている計算を見ておくと、引数の意味と制約が理解しやすくなります。</p>



<h3 class="wp-block-heading"><span id="toc9">計算式: 100 × (1 − discount × DSM / 360)</span></h3>



<p class="wp-block-paragraph">TBILLPRICEは次の式で価格を計算します。</p>



<pre class="wp-block-code"><code>TBILLPRICE = 100 × (1 − discount × DSM / 360)</code></pre>



<ul class="wp-block-list"><li>DSM = 受渡日から満期日までの日数（カレンダー日数）</li><li>360 = 短期金融市場の慣習である360日基準（ACT/360）</li><li>100 = 額面（券面金額）</li></ul>



<p class="wp-block-paragraph">式の意味はシンプルです。「割引率 × 残存日数 / 360」が割引額の比率を表します。これを額面100から引くことで、購入価格が求まります。</p>



<h3 class="wp-block-heading"><span id="toc10">360日基準と365日制約の理由</span></h3>



<p class="wp-block-paragraph">「日数を360日で割る」のは、短期金融市場の歴史的慣習（ACT/360）です。銀行間取引・CD・CP・短期国債で広く使われてきました。</p>



<p class="wp-block-paragraph">一方、計算結果のチェックには365日制約があります。これはTBILLPRICEがT-Bill専用に設計されているからです。T-Billの最長満期が52週間（約364日）であるため、1年超を入れると <code>#NUM!</code> エラーで弾かれる仕組みです。</p>



<p class="wp-block-paragraph">1年を超える割引証券を扱う場合は、汎用の<a href="https://mashukabu.com/excel-pricedisc-function/">PRICEDISC関数</a>を使ってください。</p>



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



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



<h3 class="wp-block-heading"><span id="toc12">例1: Microsoft公式サンプル</span></h3>



<p class="wp-block-paragraph">Microsoft公式リファレンスのサンプル値です。</p>



<ul class="wp-block-list"><li>受渡日: 2008/3/31</li><li>満期日: 2008/6/1</li><li>割引率: 9.14%（0.0914）</li></ul>



<pre class="wp-block-code"><code>=TBILLPRICE(DATE(2008,3,31), DATE(2008,6,1), 0.0914)</code></pre>



<p class="wp-block-paragraph">結果は約 98.4259 になります。額面100に対して、購入価格は約 98.43 ということですね。</p>



<h3 class="wp-block-heading"><span id="toc13">計算式での検算</span></h3>



<p class="wp-block-paragraph">DSM（受渡日から満期日までの日数）= 62日として、TBILLPRICEの計算式は次のとおりです。</p>



<pre class="wp-block-code"><code>TBILLPRICE = 100 × (1 − 0.0914 × 62 / 360)
          = 100 × (1 − 5.6668 / 360)
          = 100 × (1 − 0.015741)
          = 100 × 0.984259
          ≈ 98.4259</code></pre>



<p class="wp-block-paragraph">割引率9.14%・残存62日のT-Billでは、額面100に対して約1.57の割引が発生します。その結果、購入価格は98.43前後になる、という関係です。</p>



<h3 class="wp-block-heading"><span id="toc14">例2: 13週間（91日）T-Billの価格計算</span></h3>



<p class="wp-block-paragraph">実務で頻出する13週間（91日）T-Billの例です。</p>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2026/8/6（91日後）</li><li>割引率: 5%（0.05）</li></ul>



<pre class="wp-block-code"><code>=TBILLPRICE(DATE(2026,5,7), DATE(2026,8,6), 0.05)</code></pre>



<p class="wp-block-paragraph">結果は約 98.7361 です。額面100に対して、購入価格は約 98.74 になります。1万米ドル分の額面なら、約 9,873.61 米ドルで購入できる計算です。</p>



<h3 class="wp-block-heading"><span id="toc15">例3: セル参照で複数銘柄を一括計算</span></h3>



<p class="wp-block-paragraph">実務では引数をセル参照にすると、複数銘柄の価格比較が楽になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>銘柄</th><th>受渡日</th><th>満期日</th><th>割引率</th><th>価格（=TBILLPRICE）</th></tr></thead><tbody><tr><td>4週物</td><td>2026/5/7</td><td>2026/6/4</td><td>0.0480</td><td>99.6267</td></tr><tr><td>13週物</td><td>2026/5/7</td><td>2026/8/6</td><td>0.0500</td><td>98.7361</td></tr><tr><td>26週物</td><td>2026/5/7</td><td>2026/11/5</td><td>0.0510</td><td>97.4217</td></tr><tr><td>52週物</td><td>2026/5/7</td><td>2027/5/6</td><td>0.0515</td><td>94.7928</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">各銘柄に <code>TBILLPRICE(受渡日, 満期日, 割引率)</code> を入れるだけで、購入価格の一覧表が完成します。残存期間が長くなるほど、価格が額面100から大きく乖離していく様子が確認できますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">TBILLPRICE・TBILLEQ・TBILLYIELDの使い分け</span></h2>



<p class="wp-block-paragraph">T-Bill系の関数3つは、入力と出力の組み合わせで役割が分かれています。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>TBILLPRICE</strong></td><td>割引率（discount）</td><td>価格（額面100あたり）</td></tr><tr><td><a href="https://mashukabu.com/excel-tbilleq-function/">TBILLEQ</a></td><td>割引率（discount）</td><td>債券換算利回り（BEY）</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD</a></td><td>価格（pr）</td><td>利回り（年率）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3関数の引数は最初の2つ（settlement, maturity）が共通で、第3引数だけが目的に応じて変わります。</p>



<h3 class="wp-block-heading"><span id="toc17">TBILLEQ との違い</span></h3>



<p class="wp-block-paragraph">TBILLPRICEは割引率から「価格」を計算します。一方TBILLEQは割引率から「利回り（BEY）」を計算します。</p>



<ul class="wp-block-list"><li>TBILLPRICE: 入札結果から購入金額を見積もりたいとき</li><li>TBILLEQ: 入札結果を利付債と並べて比較したいとき</li></ul>



<p class="wp-block-paragraph">両者は同じ割引率を入力にしますが、出力（価格 vs 利回り）が異なる関数ですね。</p>



<h3 class="wp-block-heading"><span id="toc18">TBILLYIELD との違い</span></h3>



<p class="wp-block-paragraph">TBILLYIELDは「価格」から利回りを計算します。一方TBILLPRICEは「割引率」から価格を計算します。</p>



<ul class="wp-block-list"><li>TBILLPRICE: 入札時の割引率から、購入価格を計算</li><li>TBILLYIELD: 流通市場で取引されているT-Billの価格から、現時点の利回りを逆算</li></ul>



<p class="wp-block-paragraph">入力データが「割引率」か「価格」かで使い分けてください。</p>



<h3 class="wp-block-heading"><span id="toc19">3関数を組み合わせた実務フロー</span></h3>



<p class="wp-block-paragraph">入札→価格算出→BEY換算という一連の流れは、3関数の組み合わせで完結します。</p>



<ol class="wp-block-list"><li>入札結果（割引率）から <strong>TBILLPRICE</strong> で購入価格を計算</li><li>同じ割引率から <strong>TBILLEQ</strong> で債券換算利回り（BEY）を計算</li><li>後日、流通市場の価格から <strong>TBILLYIELD</strong> で時価利回りを再計算</li></ol>



<p class="wp-block-paragraph">この3ステップで、発行から運用評価までの利回り計算がカバーできますよ。</p>



<h2 class="wp-block-heading"><span id="toc20">関連する割引証券関数（PRICEDISC・DISC）</span></h2>



<p class="wp-block-paragraph">T-Bill以外の割引証券にも対応する関数があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-disc/">DISC</a></td><td>割引証券の割引率を計算</td></tr><tr><td><a href="https://mashukabu.com/excel-pricedisc-function/">PRICEDISC</a></td><td>割引証券の価格を計算</td></tr><tr><td><a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC</a></td><td>割引証券の年利回りを計算</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-intrate/">INTRATE</a></td><td>投資全期間の金利を計算</td></tr><tr><td><strong>TBILLPRICE</strong></td><td>T-Billの価格</td></tr><tr><td><a href="https://mashukabu.com/excel-tbilleq-function/">TBILLEQ</a></td><td>T-Billの債券換算利回り</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD</a></td><td>T-Billの利回り</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc21">TBILLPRICE と PRICEDISC の違い</span></h3>



<p class="wp-block-paragraph">両者は「割引証券の価格を計算する」という意味では似ています。しかし設計思想が異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>TBILLPRICE</th><th>PRICEDISC</th></tr></thead><tbody><tr><td>対象</td><td>T-Bill専用</td><td>割引証券一般</td></tr><tr><td>満期制約</td><td>1年（365日）以内</td><td>制約なし（1年超も可）</td></tr><tr><td>basis引数</td><td>なし（360日固定）</td><td>あり（0/1/2/3/4から選択）</td></tr><tr><td>額面</td><td>100固定</td><td>額面・償還額を引数で指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">T-Bill系3関数は短期国債（1年以内）専用で計算が簡略化されています。1年を超える割引証券にはPRICEDISCを使ってください。</p>



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



<h3 class="wp-block-heading"><span id="toc23">短期国債の入札参加判断</span></h3>



<p class="wp-block-paragraph">財務省の国庫短期証券入札では、落札予想割引率から購入金額を見積もる必要があります。落札予想割引率をTBILLPRICEに入れれば、必要な資金額が即座にわかりますよ。</p>



<p class="wp-block-paragraph">入札のたびに割引率セルを更新するだけで、購入価格が自動再計算されます。</p>



<h3 class="wp-block-heading"><span id="toc24">既発T-Billの価格評価</span></h3>



<p class="wp-block-paragraph">満期前の既発T-Billを流通市場で購入する場合、現時点の市場割引率から理論価格を計算できます。市場の提示価格と比較すれば、割安・割高を判断する材料になりますね。</p>



<h3 class="wp-block-heading"><span id="toc25">ポートフォリオの一覧管理</span></h3>



<p class="wp-block-paragraph">複数のT-Billを保有している場合、銘柄別に受渡日・満期日・割引率をシートに並べておきます。各行にTBILLPRICEを入れれば、全銘柄の購入価格を横並びで管理できますよ。残存期間別の資金配分も一目で確認できます。</p>



<h3 class="wp-block-heading"><span id="toc26">会計処理の簿価計算</span></h3>



<p class="wp-block-paragraph">割引証券は償却原価法で簿価を更新する必要があります。発行時の購入価格をTBILLPRICEで算出しておけば、その後の償却計算の基礎データが整います。</p>



<h3 class="wp-block-heading"><span id="toc27">MMFファンドの組入銘柄評価</span></h3>



<p class="wp-block-paragraph">MMF（マネーマーケットファンド）の組入銘柄に短期国債が含まれる場合があります。原資料の割引率からTBILLPRICEで価格を再計算すれば、報告NAVの妥当性を確認できます。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付順制約違反（settlement ≥ maturity）</td><td>settlement を maturity より前の日付にする</td></tr><tr><td>満期日が受渡日から1年（365日）超</td><td>TBILLPRICEはT-Bill専用で1年超は対応外。PRICEDISC関数を使う</td></tr><tr><td>discount が0以下</td><td>割引率は正の数を指定</td></tr><tr><td>settlement や maturity が無効な日付</td><td>DATE関数で正しい日付を指定</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付引数が日付として認識されない</td><td>DATE関数で指定するか、日付形式のセルを参照する</td></tr><tr><td>discount に文字列が入っている</td><td>数値（小数）に変換して指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc31">結果が異常値になる場合</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>discount をパーセント整数値で指定（例: 9.14）</td><td>必ず小数で指定（9.14%なら 0.0914）</td></tr><tr><td>settlement と maturity を逆に指定</td><td>受渡日が先・満期日が後の順で指定</td></tr><tr><td>価格がマイナスになる</td><td>discount × DSM / 360 が1を超えている。割引率と日数を再確認</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に「1年超で <code>#NUM!</code>」と「discountをパーセント整数で入力」は実務でつまずきやすいポイントです。1年超の割引証券を扱う場合は、PRICEDISC関数に切り替えてくださいね。</p>



<p class="wp-block-paragraph">TBILLPRICE関数を使えば、T-Billの割引率から購入価格を即座に算出できます。入札参加の資金計画やポートフォリオ管理で頼れる味方になりますよ。割引率と日付の3引数だけで使えるシンプルな関数なので、財務関数の中でも覚えやすい1本です。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-tbillprice-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのTBILLEQ関数の使い方｜国債の債券換算利回り</title>
		<link>https://mashukabu.com/excel-tbilleq-function/</link>
					<comments>https://mashukabu.com/excel-tbilleq-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 21:29:09 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[TBILLEQ関数]]></category>
		<category><![CDATA[債券換算利回り]]></category>
		<category><![CDATA[国庫短期証券]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6626</guid>

					<description><![CDATA[ExcelのTBILLEQ関数は、国庫短期証券（T-Bill）の債券換算利回り（BEY）を計算する財務関数です。構文・引数・使用例をわかりやすく解説。割引利回りとの違い、TBILLPRICE・TBILLYIELDとの使い分けや、短期国債を利付債と並べて比較する実務ケースも紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">国庫短期証券（T-Bill）は割引価格で発行されます。そのため通常は「割引利回り」で利回りが表示されますね。しかしこの表示方法は、利付債と並べて比較するときに不便です。</p>



<p class="wp-block-paragraph">そこで登場するのが ExcelのTBILLEQ関数です。TBILLEQを使えば、T-Billの割引利回りを債券換算利回り（BEY）に変換できます。BEYは Bond Equivalent Yield の略で、利付国債や社債と同じ尺度で比べられる指標ですよ。</p>



<p class="wp-block-paragraph">この記事では、ExcelのTBILLEQ関数の構文・引数・計算例を解説します。TBILLPRICE・TBILLYIELDとの使い分けや、割引利回りとBEYの違いも計算式の意味から紹介しますね。</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">ExcelのTBILLEQ関数とは？</a><ol><li><a href="#toc2" tabindex="0">割引利回りと債券換算利回り（BEY）の違い</a></li><li><a href="#toc3" tabindex="0">TBILLEQが必要な場面</a></li></ol></li><li><a href="#toc4" tabindex="0">TBILLEQ関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">引数の日付制約</a></li><li><a href="#toc6" tabindex="0">discount引数の表記</a></li><li><a href="#toc7" tabindex="0">settlement と maturity の入力方法</a></li></ol></li><li><a href="#toc8" tabindex="0">TBILLEQ関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">例1: Microsoft公式サンプル</a></li><li><a href="#toc10" tabindex="0">計算式での検算</a></li><li><a href="#toc11" tabindex="0">例2: 13週間（91日）T-Billの割引利回り変換</a></li><li><a href="#toc12" tabindex="0">例3: セル参照を使った書き方</a></li><li><a href="#toc13" tabindex="0">例4: 落札利率からBEYを一括計算</a></li></ol></li><li><a href="#toc14" tabindex="0">TBILLEQ・TBILLPRICE・TBILLYIELDの使い分け</a><ol><li><a href="#toc15" tabindex="0">TBILLPRICE との違い</a></li><li><a href="#toc16" tabindex="0">TBILLYIELD との違い</a></li><li><a href="#toc17" tabindex="0">3関数を組み合わせた実務フロー</a></li></ol></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><li><a href="#toc21" tabindex="0">CPとT-Billの利回り比較</a></li><li><a href="#toc22" tabindex="0">短期金融市場ファンドの利回り検証</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">結果が異常値（極端に大きい・小さい値）になる場合</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのTBILLEQ関数（読み方：ティービル・イー・キュー）は財務関数の一つです。<strong>米国財務省短期証券（T-Bill）の債券換算利回り（BEY）を、割引率から計算して返します</strong>。</p>



<p class="wp-block-paragraph">関数名は「T-Bill（米国短期国債）」と「EQ（Equivalent＝同等の）」を組み合わせたものです。つまり「T-Billを利付債と同等の尺度で評価するための利回り」を返す関数ですね。</p>



<h3 class="wp-block-heading"><span id="toc2">割引利回りと債券換算利回り（BEY）の違い</span></h3>



<p class="wp-block-paragraph">T-Billは額面より安い価格で発行され、満期に額面で償還される割引証券です。利息は表面上ゼロですが、買値と償還額の差が実質的な利息になります。</p>



<p class="wp-block-paragraph">この「割引による利息」を年率で表す方法には2種類あります。</p>



<ul class="wp-block-list"><li><strong>割引利回り（discount yield）</strong>: 額面ベース・360日基準の年率<ul><li>短期金融市場での慣習表示</li><li>計算式: <code>(額面 − 価格) / 額面 × (360 / 残存日数)</code></li></ul></li><li><strong>債券換算利回り（BEY）</strong>: 投下元本ベース・365日基準の年率<ul><li>利付債と比較するときの標準指標</li><li>計算式: <code>(365 × 割引率) / (360 − 割引率 × 残存日数)</code></li></ul></li></ul>



<p class="wp-block-paragraph">同じT-Billでも、BEYのほうが割引利回りより必ず大きい値になります。これは分母が「額面（=100）」から「実際に投下した元本（=価格）」に変わり、365日換算になるためです。</p>



<h3 class="wp-block-heading"><span id="toc3">TBILLEQが必要な場面</span></h3>



<ul class="wp-block-list"><li>短期国債（T-Bill）と利付国債を同じ利回りベースで比較したい</li><li>コマーシャルペーパー（CP）とT-Billを並べて評価したい</li><li>運用報告書で「BEY」「債券換算利回り」と書かれた数値を再計算したい</li><li>入札結果の割引率を、ポートフォリオ管理用の利回りに換算したい</li></ul>



<p class="wp-block-paragraph">割引率から利回りを引き出す関数なので、入札結果や落札利率がインプットになる場面で活躍しますよ。</p>



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



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



<pre class="wp-block-code"><code>=TBILLEQ(settlement, maturity, discount)</code></pre>



<p class="wp-block-paragraph">引数は3つで、すべて必須です。同じT-Bill系の<a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE関数</a>・<a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD関数</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>discount</td><td>必須</td><td>T-Billの割引率（小数で指定。9.14%なら 0.0914）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">引数の日付制約</span></h3>



<p class="wp-block-paragraph">settlement と maturity の日付関係には次の制約があります。</p>



<pre class="wp-block-code"><code>settlement &lt; maturity ≤ settlement + 365日</code></pre>



<p class="wp-block-paragraph">時系列で並べるとこうなります。</p>



<pre class="wp-block-code"><code>[受渡日] ―→ [満期日]
settlement   maturity
（最大1暦年=365日以内）</code></pre>



<p class="wp-block-paragraph">つまり「受渡日から満期日までは1年以内」という制約です。これはT-Billの最長満期が52週間（約364日）であることに対応しています。1年を超えると <code>#NUM!</code> エラーになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc6">discount引数の表記</span></h3>



<p class="wp-block-paragraph"><code>discount</code> はT-Billの割引率（年率）です。必ず小数で指定してください。</p>



<ul class="wp-block-list"><li>9.14%なら <code>0.0914</code></li><li>5%なら <code>0.05</code></li><li>0.5%なら <code>0.005</code></li></ul>



<p class="wp-block-paragraph"><code>9.14</code> のようにパーセント整数値を入れると、計算結果が桁外れになります。実務でつまずきやすいポイントなので注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">settlement と maturity の入力方法</span></h3>



<p class="wp-block-paragraph">日付は次のいずれかの形で渡します。</p>



<ul class="wp-block-list"><li><strong>DATE関数</strong>: <code>DATE(2026,5,7)</code> のように年・月・日を直接指定</li><li><strong>セル参照</strong>: 日付形式のセルを参照</li><li><strong>日付シリアル値</strong>: <code>"2026/5/7"</code> などの文字列ではなく、Excel内部の日付シリアル値</li></ul>



<p class="wp-block-paragraph">文字列のまま渡すと <code>#VALUE!</code> エラーになります。必ず日付として認識される形式で渡してくださいね。</p>



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



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



<h3 class="wp-block-heading"><span id="toc9">例1: Microsoft公式サンプル</span></h3>



<p class="wp-block-paragraph">Microsoft公式リファレンスのサンプル値です。</p>



<ul class="wp-block-list"><li>受渡日: 2008/3/31</li><li>満期日: 2008/6/1</li><li>割引率: 9.14%（0.0914）</li></ul>



<pre class="wp-block-code"><code>=TBILLEQ(DATE(2008,3,31), DATE(2008,6,1), 0.0914)</code></pre>



<p class="wp-block-paragraph">結果は約 9.42%（0.094151）になります。割引利回り 9.14% に対して、債券換算利回りはやや高い 9.42% という関係ですね。</p>



<h3 class="wp-block-heading"><span id="toc10">計算式での検算</span></h3>



<p class="wp-block-paragraph">DSM（受渡日から満期日までの日数）= 62日として、TBILLEQの計算式は次のとおりです。</p>



<pre class="wp-block-code"><code>TBILLEQ = (365 × discount) / (360 − discount × DSM)
       = (365 × 0.0914) / (360 − 0.0914 × 62)
       = 33.361 / 354.3332
       ≈ 0.094151</code></pre>



<p class="wp-block-paragraph">分子の365は「利付債と並べるための1年=365日換算」を表しています。分母の <code>360 − 割引率 × DSM</code> は「実投下元本（=額面 − 割引額）」に対応します。</p>



<h3 class="wp-block-heading"><span id="toc11">例2: 13週間（91日）T-Billの割引利回り変換</span></h3>



<p class="wp-block-paragraph">実務で頻出する13週間（91日）T-Billの例です。</p>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2026/8/6（91日後）</li><li>割引率: 5%（0.05）</li></ul>



<pre class="wp-block-code"><code>=TBILLEQ(DATE(2026,5,7), DATE(2026,8,6), 0.05)</code></pre>



<p class="wp-block-paragraph">結果は約 5.13%（0.051343）です。割引利回り 5.00% に対して、債券換算利回りは 5.13% になります。利付国債と並べて比較するときは、この 5.13% の値を使うことになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">例3: セル参照を使った書き方</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>2026/8/6</td></tr><tr><td>B4</td><td>割引率</td><td>0.05</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は <code>=TBILLEQ(B2,B3,B4)</code> です。割引率（B4）を変更すれば、債券換算利回りが連動して再計算されます。入札結果が確定するたびに、割引率を更新するだけで利回り評価が完了しますね。</p>



<h3 class="wp-block-heading"><span id="toc13">例4: 落札利率からBEYを一括計算</span></h3>



<p class="wp-block-paragraph">複数のT-Billを並べて、それぞれのBEYを横並びで計算する例です。</p>



<figure class="wp-block-table"><table><thead><tr><th>銘柄</th><th>受渡日</th><th>満期日</th><th>割引率</th><th>BEY（=TBILLEQ）</th></tr></thead><tbody><tr><td>4週物</td><td>2026/5/7</td><td>2026/6/4</td><td>0.0480</td><td>4.89%</td></tr><tr><td>13週物</td><td>2026/5/7</td><td>2026/8/6</td><td>0.0500</td><td>5.13%</td></tr><tr><td>26週物</td><td>2026/5/7</td><td>2026/11/5</td><td>0.0510</td><td>5.31%</td></tr><tr><td>52週物</td><td>2026/5/7</td><td>2027/5/6</td><td>0.0515</td><td>5.51%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">各銘柄に <code>TBILLEQ(受渡日, 満期日, 割引率)</code> を入れるだけで、利付国債と並べられる利回り表が完成しますよ。</p>



<h2 class="wp-block-heading"><span id="toc14">TBILLEQ・TBILLPRICE・TBILLYIELDの使い分け</span></h2>



<p class="wp-block-paragraph">T-Bill系の関数3つは、入力と出力の組み合わせで役割が分かれています。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><strong>TBILLEQ</strong></td><td>割引率（discount）</td><td>債券換算利回り（BEY）</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE</a></td><td>割引率（discount）</td><td>価格（額面100あたり）</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD</a></td><td>価格（pr）</td><td>利回り（年率）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3関数の引数は最初の2つ（settlement, maturity）が共通で、第3引数だけが目的に応じて変わります。</p>



<h3 class="wp-block-heading"><span id="toc15">TBILLPRICE との違い</span></h3>



<p class="wp-block-paragraph">TBILLPRICEは割引率から「価格」を計算します。一方TBILLEQは割引率から「利回り（BEY）」を計算します。</p>



<ul class="wp-block-list"><li>TBILLPRICE: 入札結果から購入金額を見積もりたいとき</li><li>TBILLEQ: 入札結果を利付債と並べて比較したいとき</li></ul>



<p class="wp-block-paragraph">両者は同じ割引率を入力にしますが、出力（価格 vs 利回り）が異なる関数ですね。</p>



<h3 class="wp-block-heading"><span id="toc16">TBILLYIELD との違い</span></h3>



<p class="wp-block-paragraph">TBILLYIELDは「価格」から利回りを計算します。一方TBILLEQは「割引率」から利回りを計算します。</p>



<ul class="wp-block-list"><li>TBILLYIELD: 流通市場で取引されているT-Billの価格から、現時点の利回りを逆算</li><li>TBILLEQ: 入札時の割引率から、債券換算利回り（BEY）を計算</li></ul>



<p class="wp-block-paragraph">入力データが「価格」か「割引率」かで使い分けてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc17">3関数を組み合わせた実務フロー</span></h3>



<p class="wp-block-paragraph">入札→価格算出→BEY換算という一連の流れは、3関数の組み合わせで完結します。</p>



<ol class="wp-block-list"><li>入札結果（割引率）から <strong><a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE</a></strong> で購入価格を計算</li><li>同じ割引率から <strong>TBILLEQ</strong> で債券換算利回り（BEY）を計算</li><li>後日、流通市場の価格から <strong><a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD</a></strong> で時価利回りを再計算</li></ol>



<p class="wp-block-paragraph">この3ステップで、発行から運用評価までの利回り計算がカバーできますよ。</p>



<h2 class="wp-block-heading"><span id="toc18">関連する短期国債・割引証券関数の全体像</span></h2>



<p class="wp-block-paragraph">T-Bill以外の割引証券にも対応する関数があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-disc/">DISC</a></td><td>割引証券の割引率を計算</td></tr><tr><td><a href="https://mashukabu.com/excel-pricedisc-function/">PRICEDISC</a></td><td>割引証券の価格を計算</td></tr><tr><td><a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC</a></td><td>割引証券の年利回りを計算</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-intrate/">INTRATE</a></td><td>投資全期間の金利を計算</td></tr><tr><td><strong>TBILLEQ</strong></td><td>T-Billの債券換算利回り</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE</a></td><td>T-Billの価格</td></tr><tr><td><a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD</a></td><td>T-Billの利回り</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">T-Bill系3関数は短期国債（1年以内）専用で、計算が簡略化されています。1年を超える割引証券にはYIELDDISC・PRICEDISC・DISCを使ってください。</p>



<p class="wp-block-paragraph">利付債との比較には<a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a>も参考になりますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc20">短期国債の入札結果評価</span></h3>



<p class="wp-block-paragraph">財務省の国庫短期証券入札結果から、落札利率（割引率）を取得してBEYに変換するケースです。報道では割引利率で発表されますが、ポートフォリオ管理ではBEYで揃える必要がありますね。</p>



<p class="wp-block-paragraph">入札のたびに割引率セルを更新すれば、TBILLEQが自動でBEYを算出してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc21">CPとT-Billの利回り比較</span></h3>



<p class="wp-block-paragraph">コマーシャルペーパー（CP）は通常、利付ベースの利回りで表示されます。T-Billは割引利回りで表示されるので、このまま並べると比較になりません。</p>



<p class="wp-block-paragraph">T-Bill側をTBILLEQでBEYに換算すれば、両者を同じ尺度で並べて評価できます。</p>



<h3 class="wp-block-heading"><span id="toc22">短期金融市場ファンドの利回り検証</span></h3>



<p class="wp-block-paragraph">MMF（マネーマーケットファンド）の組入銘柄に短期国債が含まれる場合があります。運用報告書では多くの場合BEYで利回りが示されますね。原資料の割引率からTBILLEQで再計算すれば、報告値の妥当性を確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc23">銘柄スクリーニング</span></h3>



<p class="wp-block-paragraph">複数のT-Billを並べて利回り比較したいケースで便利です。割引率を入力するだけで、各銘柄のBEYが横並びで確認できます。利付国債と組み合わせたスクリーニングシートも簡単に作れますね。</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>settlement を maturity より前の日付にする</td></tr><tr><td>満期日が受渡日から1年（365日）超</td><td>TBILLEQはT-Bill専用で1年超は対応外。<a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC</a>を使う</td></tr><tr><td>discount が0以下</td><td>割引率は正の数を指定</td></tr><tr><td>settlement や maturity が無効な日付</td><td>DATE関数で正しい日付を指定</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付引数が日付として認識されない</td><td>DATE関数で指定するか、日付形式のセルを参照する</td></tr><tr><td>discount に文字列が入っている</td><td>数値（小数）に変換して指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">結果が異常値（極端に大きい・小さい値）になる場合</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>discount をパーセント整数値で指定（例: 9.14）</td><td>必ず小数で指定（9.14%なら 0.0914）</td></tr><tr><td>settlement と maturity を逆に指定</td><td>受渡日が先・満期日が後の順で指定</td></tr><tr><td>残存日数が極端に短い・長い</td><td>T-Billの標準満期（4週〜52週）の範囲か確認</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に「1年超で <code>#NUM!</code>」は実務でつまずきやすいポイントです。1年超の割引証券を扱う場合は、<a href="https://mashukabu.com/excel-yielddisc-function/">YIELDDISC関数</a>に切り替えてくださいね。</p>



<p class="wp-block-paragraph">ExcelのTBILLEQ関数を使えば、T-Billの割引利回りを利付債と同じ尺度（BEY）に揃えられます。短期国債の入札結果評価や、CPとの利回り比較で強力な味方になりますよ。割引率と日付の3引数だけで使えるシンプルな関数なので、財務関数の中でも覚えやすい1本です。</p>



<p class="wp-block-paragraph">他のT-Bill系関数も合わせて確認するなら、<a href="https://mashukabu.com/excel-tbillprice-function/">TBILLPRICE関数</a>・<a href="https://mashukabu.com/excel-tbillyield-function/">TBILLYIELD関数</a>の記事もご覧ください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-tbilleq-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのODDLPRICE関数の使い方｜最後の利払期間が端数の証券の価格</title>
		<link>https://mashukabu.com/excel-oddlprice-function/</link>
					<comments>https://mashukabu.com/excel-oddlprice-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 14:28:52 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ODDLPRICE関数]]></category>
		<category><![CDATA[端数利払期間]]></category>
		<category><![CDATA[証券価格]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6613</guid>

					<description><![CDATA[ExcelのODDLPRICE関数は、最後の利払期間が端数（短期・長期）になっている証券の価格を計算する財務関数です。構文・引数・使用例をわかりやすく解説。ODDFPRICE・PRICE関数との使い分けや、最終期間端数が発生する実務ケース（早期償還・コール条項・債券交換）も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">債券の最後の利払期間が通常より短かったり長かったりする場合、標準の<a href="https://mashukabu.com/excel-price-function/">PRICE関数</a>では正確な価格が計算できません。このような端数最終期間（Odd Last Period）を持つ証券に対応した関数が ODDLPRICE です。</p>



<p class="wp-block-paragraph">ExcelのODDLPRICE関数を使えば、満期前最終期間が標準クーポン長と異なる証券の理論価格を計算できます。コール条項が発動した債券や、満期日を後ろ倒しした債券などで活躍しますよ。</p>



<p class="wp-block-paragraph">この記事では、ODDLPRICE関数の構文・引数・計算例と、PRICE・<a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>との使い分けを解説します。</p>




  <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">ExcelのODDLPRICE関数とは？</a><ol><li><a href="#toc2" tabindex="0">端数最終期間（Odd Last Period）とは</a></li><li><a href="#toc3" tabindex="0">ODDLPRICE が必要な場面</a></li></ol></li><li><a href="#toc4" tabindex="0">ODDLPRICE関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">各引数の日付関係</a></li><li><a href="#toc6" tabindex="0">last_interest（直前利払日）とは</a></li><li><a href="#toc7" tabindex="0">rate と yld の違い</a></li><li><a href="#toc8" tabindex="0">basis 引数の選び方</a></li><li><a href="#toc9" tabindex="0">frequency 引数の選び方</a></li></ol></li><li><a href="#toc10" tabindex="0">ODDLPRICE関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">例1: 短端数（短い最終クーポン期間）</a></li><li><a href="#toc12" tabindex="0">例2: 長端数（長い最終クーポン期間）</a></li><li><a href="#toc13" tabindex="0">例3: セル参照を使った書き方</a></li></ol></li><li><a href="#toc14" tabindex="0">ODDLPRICE・PRICE・ODDFPRICE の使い分け</a><ol><li><a href="#toc15" tabindex="0">ODDFPRICE との引数の違い</a></li><li><a href="#toc16" tabindex="0">PRICE 関数との引数の違い</a></li></ol></li><li><a href="#toc17" tabindex="0">計算の仕組み（概要）</a><ol><li><a href="#toc18" tabindex="0">短端数の計算ロジック</a></li><li><a href="#toc19" tabindex="0">長端数の計算ロジック</a></li></ol></li><li><a href="#toc20" tabindex="0">実務での活用例</a><ol><li><a href="#toc21" tabindex="0">コール条項発動債の価格確認</a></li><li><a href="#toc22" tabindex="0">満期日を後ろ倒しした既発債の評価</a></li><li><a href="#toc23" tabindex="0">シンキングファンド方式の債券</a></li><li><a href="#toc24" tabindex="0">ODDLYIELD との組み合わせ</a></li></ol></li><li><a href="#toc25" tabindex="0">関連する財務関数の全体像</a></li><li><a href="#toc26" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc27" tabindex="0">#NUM! エラー</a></li><li><a href="#toc28" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc29" tabindex="0">結果が異常値（負の価格・極端に大きい値）になる場合</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのODDLPRICE関数（読み方：オッド・エル・プライス）は財務関数の一つです。<strong>最後の利払期間が端数（短端数または長端数）になっている証券の価格を、額面100円あたりで返します</strong>。</p>



<p class="wp-block-paragraph">関数名の「ODD」は「端数・変則」を意味し、「L」は「Last（最後）」、「PRICE」は「価格」を表します。つまり「最後の利払期間が端数の場合の価格計算」ですね。</p>



<h3 class="wp-block-heading"><span id="toc2">端数最終期間（Odd Last Period）とは</span></h3>



<p class="wp-block-paragraph">通常の債券は、各利払期間の長さがほぼ均一です。たとえば半年払い債券なら、各クーポン期間は約6か月になります。</p>



<p class="wp-block-paragraph">しかし実務では、次のようなケースで最終期間だけ標準長と異なる債券が登場します。</p>



<ul class="wp-block-list"><li><strong>短端数（Short Last Period）</strong>: 最終クーポン期間が標準期間より短い<ul><li>例: 半年払い債で最終クーポン日が9月15日、満期日が翌1月10日（約4か月）</li></ul></li><li><strong>長端数（Long Last Period）</strong>: 最終クーポン期間が標準期間より長い<ul><li>例: 半年払い債で最終クーポン日が9月15日、満期日が翌年8月10日（約11か月）</li></ul></li></ul>



<p class="wp-block-paragraph">ODDLPRICE はどちらの端数にも対応しています。</p>



<h3 class="wp-block-heading"><span id="toc3">ODDLPRICE が必要な場面</span></h3>



<ul class="wp-block-list"><li>コール条項が発動して満期日が前倒しになった債券の価格確認</li><li>満期日を後ろ倒しに変更した既発債の評価</li><li>シンキングファンド方式で最終償還日が個別調整される債券</li><li>私募債や新興市場債券で満期日が標準サイクルと合わないケース</li></ul>



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



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



<pre class="wp-block-code"><code>=ODDLPRICE(settlement, maturity, last_interest, rate, yld, redemption, frequency, [basis])</code></pre>



<p class="wp-block-paragraph">引数は8つで、basis のみ省略可能です。<a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>（9引数）と比べて、<code>issue</code> と <code>first_coupon</code> の代わりに <code>last_interest</code>（直前利払日）が1つだけ指定されます。</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>last_interest</td><td>必須</td><td>直前利払日（最終利払期間の開始日）。settlement より前の日付</td></tr><tr><td>rate</td><td>必須</td><td>証券の年間クーポン利率（小数で指定。5%なら 0.05）</td></tr><tr><td>yld</td><td>必須</td><td>証券の年間利回り（小数で指定。4%なら 0.04）</td></tr><tr><td>redemption</td><td>必須</td><td>額面100円あたりの償還価格（通常は 100）</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払回数（1=年1回・2=半年払い・4=四半期払い）</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">各引数の日付関係</span></h3>



<p class="wp-block-paragraph">引数の日付間には次の制約があります。</p>



<pre class="wp-block-code"><code>last_interest &lt; settlement &lt; maturity</code></pre>



<p class="wp-block-paragraph">時系列で並べるとこうなります。</p>



<pre class="wp-block-code"><code>[直前利払日] ―→ [受渡日] ―→ [満期日]
last_interest   settlement   maturity</code></pre>



<p class="wp-block-paragraph">つまり「直前利払日と満期日の間に受渡日がある」状態です。この順序を守らないと <code>#NUM!</code> エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc6">last_interest（直前利払日）とは</span></h3>



<p class="wp-block-paragraph"><code>last_interest</code> は「最後から2番目の利払日」、つまり<strong>最終クーポン期間の開始日</strong>を指します。</p>



<p class="wp-block-paragraph">たとえば半年払いで満期が2027年1月10日、最後から2番目の利払日が2026年7月10日なら、<code>last_interest</code> は 2026/7/10 を指定します。最終クーポン期間（2026/7/10〜2027/1/10）の長さがちょうど6か月ではない場合に、ODDLPRICE が使えるわけですね。</p>



<h3 class="wp-block-heading"><span id="toc7">rate と yld の違い</span></h3>



<ul class="wp-block-list"><li><strong>rate（クーポン利率）</strong>: 証券に定められた年間の利率。満期まで変わらない</li><li><strong>yld（利回り）</strong>: 市場での要求利回り。価格を変動させる要因</li></ul>



<p class="wp-block-paragraph">rate > yld なら価格はパー（100）より高く、rate < yld なら低くなります。</p>



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



<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>



<h3 class="wp-block-heading"><span id="toc9">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>



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



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



<h3 class="wp-block-heading"><span id="toc11">例1: 短端数（短い最終クーポン期間）</span></h3>



<p class="wp-block-paragraph">Microsoft公式リファレンスのサンプル値です。</p>



<ul class="wp-block-list"><li>受渡日: 2008/2/7</li><li>満期日: 2008/6/15</li><li>直前利払日: 2007/10/15</li><li>クーポン利率: 3.75%</li><li>利回り: 4.05%</li><li>償還価格: 100</li><li>frequency: 2（半年払い）</li><li>basis: 0（US 30/360）</li></ul>



<pre class="wp-block-code"><code>=ODDLPRICE(DATE(2008,2,7), DATE(2008,6,15), DATE(2007,10,15), 0.0375, 0.0405, 100, 2, 0)</code></pre>



<p class="wp-block-paragraph">クーポン利率（3.75%）が利回り（4.05%）を下回るため、価格はパー（100）よりわずかに低い値（約99.88）になります。</p>



<h3 class="wp-block-heading"><span id="toc12">例2: 長端数（長い最終クーポン期間）</span></h3>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2027/3/15</li><li>直前利払日: 2025/9/15（次回の予定利払日2026/3/15を超えて満期まで継続）</li><li>クーポン利率: 3%</li><li>利回り: 2.5%</li><li>償還価格: 100</li><li>frequency: 2（半年払い）</li><li>basis: 1（Actual/Actual）</li></ul>



<pre class="wp-block-code"><code>=ODDLPRICE(DATE(2026,5,7), DATE(2027,3,15), DATE(2025,9,15), 0.03, 0.025, 100, 2, 1)</code></pre>



<p class="wp-block-paragraph">クーポン利率（3%）が利回り（2.5%）を上回るため、価格はパー（100）より高くなります。</p>



<h3 class="wp-block-heading"><span id="toc13">例3: セル参照を使った書き方</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>2027/1/10</td></tr><tr><td>B4</td><td>直前利払日</td><td>2026/7/10</td></tr><tr><td>B5</td><td>クーポン利率</td><td>0.025</td></tr><tr><td>B6</td><td>利回り</td><td>0.022</td></tr><tr><td>B7</td><td>償還価格</td><td>100</td></tr><tr><td>B8</td><td>frequency</td><td>2</td></tr><tr><td>B9</td><td>basis</td><td>3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は <code>=ODDLPRICE(B2,B3,B4,B5,B6,B7,B8,B9)</code> です。利回り（B6）を変更すれば価格が連動して再計算されます。日本国内債券を扱うときは basis を 3（Actual/365）にする慣行があるので覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc14">ODDLPRICE・PRICE・ODDFPRICE の使い分け</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><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td>なし（標準）</td><td>全クーポン期間が均等な債券</td></tr><tr><td><a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE</a></td><td>最初の利払期間のみ端数</td><td>発行日〜第1クーポン日が不規則</td></tr><tr><td><strong>ODDLPRICE</strong></td><td>最後の利払期間のみ端数</td><td>最終クーポン日〜満期が不規則</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務でODDLPRICEが必要になる場面は限定的ですが、コール条項の発動や満期日変更がある債券では必須の関数です。両端が端数の場合は、まれですがアナリティカルな計算が必要になります。</p>



<h3 class="wp-block-heading"><span id="toc15">ODDFPRICE との引数の違い</span></h3>



<p class="wp-block-paragraph">ODDFPRICE は引数が9つです。</p>



<pre class="wp-block-code"><code>=ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yld, redemption, frequency, [basis])</code></pre>



<p class="wp-block-paragraph">ODDLPRICE は <code>issue</code>（発行日）と <code>first_coupon</code>（最初の利払日）が不要で、代わりに <code>last_interest</code>（直前利払日）を1つ指定します。最終期間の起点は last_interest、終点は maturity なので、引数が1つ少なく済みます。</p>



<h3 class="wp-block-heading"><span id="toc16">PRICE 関数との引数の違い</span></h3>



<p class="wp-block-paragraph">PRICE 関数は引数が7つです。</p>



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



<p class="wp-block-paragraph">ODDLPRICE は <code>last_interest</code> が追加された8引数です。この引数があることで、最終期間の長さを正確に計算できます。</p>



<h2 class="wp-block-heading"><span id="toc17">計算の仕組み（概要）</span></h2>



<p class="wp-block-paragraph">ODDLPRICE の計算は PRICE と基本的な考え方は同じで、将来のキャッシュフローを利回りで割り引いて合計します。違いは最終期間の扱いです。</p>



<h3 class="wp-block-heading"><span id="toc18">短端数の計算ロジック</span></h3>



<p class="wp-block-paragraph">短端数（最終クーポン期間が1標準期間より短い）の場合、最終クーポンは期間に比例した金額になります。</p>



<pre class="wp-block-code"><code>最終クーポン額 ≒ 標準クーポン額 × (実際の日数 / 標準クーポン期間の日数)</code></pre>



<p class="wp-block-paragraph">満期日に支払われるのは「最終クーポン額 + 償還額」で、この合計を受渡日まで割り引いた現在価値が価格に反映されます。</p>



<h3 class="wp-block-heading"><span id="toc19">長端数の計算ロジック</span></h3>



<p class="wp-block-paragraph">長端数（最終クーポン期間が1標準期間より長い）の場合、最終クーポンは複数のサブ期間に分割して計算されます。たとえば1.5期間分の長さなら、1標準期間分のクーポンに加えて、半端な部分のクーポンが上乗せされます。この処理は PRICE 関数では対応できません。</p>



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



<h3 class="wp-block-heading"><span id="toc21">コール条項発動債の価格確認</span></h3>



<p class="wp-block-paragraph">コーラブル債（発行体が満期前に償還できる債券）でコール条項が発動されると、当初予定より早い日が満期日になります。最終クーポン期間が標準より短くなるため、ODDLPRICE で価格を計算します。</p>



<h3 class="wp-block-heading"><span id="toc22">満期日を後ろ倒しした既発債の評価</span></h3>



<p class="wp-block-paragraph">既存債券の満期日を交渉で延長した場合、最終クーポン期間が長端数になります。延長後の理論価格を ODDLPRICE で算出することで、保有債券の評価額を更新できますよ。</p>



<h3 class="wp-block-heading"><span id="toc23">シンキングファンド方式の債券</span></h3>



<p class="wp-block-paragraph">減債基金方式の債券で最終償還日が個別調整される場合、ODDLPRICE が役立ちます。償還スケジュールごとに価格を再計算したいときに使ってください。</p>



<h3 class="wp-block-heading"><span id="toc24">ODDLYIELD との組み合わせ</span></h3>



<p class="wp-block-paragraph">価格がわかっていて利回りを求めたい場合は ODDLYIELD 関数（ODDLPRICE の逆関数）を使います。</p>



<pre class="wp-block-code"><code>ODDLPRICE → 利回りを入力して価格を算出
ODDLYIELD → 価格を入力して利回りを算出</code></pre>



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



<p class="wp-block-paragraph">端数利払期間を扱う関数は ODDLPRICE 以外にもあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE</a></td><td>第1期間端数の証券の価格</td></tr><tr><td><a href="https://mashukabu.com/excel-oddfyield-function/">ODDFYIELD</a></td><td>第1期間端数の証券の利回り</td></tr><tr><td><strong>ODDLPRICE</strong></td><td>最終期間端数の証券の価格</td></tr><tr><td>ODDLYIELD</td><td>最終期間端数の証券の利回り</td></tr><tr><td><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td>標準（端数なし）の証券の価格</td></tr><tr><td><a href="https://mashukabu.com/excel-yield-function/">YIELD</a></td><td>標準（端数なし）の証券の利回り</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">クーポン日のスケジュール管理には COUP 系関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td>COUPPCD</td><td>直前の利払日</td></tr><tr><td><a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a></td><td>次回の利払日</td></tr><tr><td><a href="https://mashukabu.com/excel-coupnum-function/">COUPNUM</a></td><td>残りのクーポン回数</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS</a></td><td>直前利払日から受渡日までの日数</td></tr></tbody></table></figure>



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



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付順制約違反（<code>last_interest < settlement < maturity</code> を満たさない）</td><td>各引数の日付を見直す。特に last_interest が settlement より前か確認</td></tr><tr><td>frequency が 1, 2, 4 以外</td><td>1（年1回）・2（半年）・4（四半期）のいずれかを指定</td></tr><tr><td>basis が 0〜4 以外</td><td>0〜4の整数を指定</td></tr><tr><td>rate が負の値</td><td>利率は0以上にする</td></tr><tr><td>yld が負の値</td><td>利回りは0以上にする</td></tr><tr><td>redemption が0以下</td><td>通常は100を指定</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付引数が日付として認識されない</td><td>DATE関数で指定するか、日付形式のセルを参照する</td></tr><tr><td>数値引数に文字列が入っている</td><td>rate・yld・redemption などを数値に変換</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc29">結果が異常値（負の価格・極端に大きい値）になる場合</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>frequency と市場慣行が合わない</td><td>半年払い債なら 2、四半期払い債なら 4 を指定</td></tr><tr><td>basis と市場慣行が合わない</td><td>日本国内債券なら 3、米国国債なら 1 が一般的</td></tr><tr><td>rate / yld の単位ミス（%表記と小数表記の混同）</td><td>5%なら 0.05、4.05%なら 0.0405 のように小数で指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に日付順制約の <code>#NUM!</code> は実務でつまずきやすいポイントです。エラーが出たら最初にこの順序を疑ってみてくださいね。</p>



<p class="wp-block-paragraph">ODDLPRICE関数を使えば、最終期間が不定期な債券の価格計算も正確に行えます。コール条項発動債や満期日変更債に出会ったら、PRICE関数ではなく ODDLPRICE で対応してください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-oddlprice-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのODDLYIELD関数の使い方｜最後の利払期間が端数の証券の利回り</title>
		<link>https://mashukabu.com/excel-oddlyield-function/</link>
					<comments>https://mashukabu.com/excel-oddlyield-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 14:28:50 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ODDLYIELD関数]]></category>
		<category><![CDATA[債券利回り]]></category>
		<category><![CDATA[端数利払期間]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6611</guid>

					<description><![CDATA[ExcelのODDLYIELD関数は、最後の利払期間が端数（短期・長期）になっている証券の利回りを計算する財務関数です。構文・引数・使用例をわかりやすく解説。ODDLPRICE・YIELD関数との使い分けや、最終期間端数が発生する実務ケース（コール条項発動・満期延長・シンキングファンド）も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">債券の最後の利払期間が通常より短かったり長かったりする場合、標準の<a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a>では正確な利回りが計算できません。このような端数最終期間（Odd Last Period）を持つ証券の利回りに対応した関数が ODDLYIELD です。</p>



<p class="wp-block-paragraph">ExcelのODDLYIELD関数を使えば、満期前最終期間が標準クーポン長と異なる証券の理論利回りを計算できます。コール条項が発動した債券や、満期日を後ろ倒しした既発債などで活躍しますよ。</p>



<p class="wp-block-paragraph">この記事では、ODDLYIELD関数の構文・引数・計算例と、YIELD・<a href="https://mashukabu.com/excel-oddfyield-function/">ODDFYIELD関数</a>との使い分けを解説します。<a href="https://mashukabu.com/excel-oddlprice-function/">ODDLPRICE関数</a>との往復チェックも紹介しますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのODDLYIELD関数とは？</a><ol><li><a href="#toc2" tabindex="0">端数最終期間（Odd Last Period）とは</a></li><li><a href="#toc3" tabindex="0">ODDLYIELD が必要な場面</a></li></ol></li><li><a href="#toc4" tabindex="0">ODDLYIELD関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">各引数の日付関係</a></li><li><a href="#toc6" tabindex="0">last_interest（直前利払日）とは</a></li><li><a href="#toc7" tabindex="0">pr と redemption の違い</a></li><li><a href="#toc8" tabindex="0">basis 引数の選び方</a></li><li><a href="#toc9" tabindex="0">frequency 引数の選び方</a></li></ol></li><li><a href="#toc10" tabindex="0">ODDLYIELD関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">例1: 短端数（短い最終クーポン期間）</a></li><li><a href="#toc12" tabindex="0">例2: 長端数（長い最終クーポン期間）</a></li><li><a href="#toc13" tabindex="0">例3: セル参照を使った書き方</a></li></ol></li><li><a href="#toc14" tabindex="0">ODDLYIELD・YIELD・ODDFYIELD の使い分け</a><ol><li><a href="#toc15" tabindex="0">ODDFYIELD との引数の違い</a></li><li><a href="#toc16" tabindex="0">YIELD 関数との引数の違い</a></li></ol></li><li><a href="#toc17" tabindex="0">ODDLPRICE との往復チェック</a><ol><li><a href="#toc18" tabindex="0">逆算検証の手順</a></li><li><a href="#toc19" tabindex="0">誤差の許容範囲</a></li></ol></li><li><a href="#toc20" tabindex="0">実務での活用例</a><ol><li><a href="#toc21" tabindex="0">コール条項発動債の利回り再計算</a></li><li><a href="#toc22" tabindex="0">満期延長後の既発債の評価</a></li><li><a href="#toc23" tabindex="0">シンキングファンド方式の債券</a></li><li><a href="#toc24" tabindex="0">銘柄スクリーニング</a></li></ol></li><li><a href="#toc25" tabindex="0">関連する財務関数の全体像</a></li><li><a href="#toc26" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc27" tabindex="0">#NUM! エラー</a></li><li><a href="#toc28" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc29" tabindex="0">結果が異常値（マイナス利回り・極端に大きい値）になる場合</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのODDLYIELD関数（読み方：オッド・エル・イールド）は財務関数の一つです。<strong>最後の利払期間が端数（短端数または長端数）になっている証券の利回りを、額面100あたりで返します</strong>。</p>



<p class="wp-block-paragraph">関数名の「ODD」は「端数・変則」を意味し、「L」は「Last（最後）」、「YIELD」は「利回り」を表します。つまり「最後の利払期間が端数の場合の利回り計算」ですね。</p>



<h3 class="wp-block-heading"><span id="toc2">端数最終期間（Odd Last Period）とは</span></h3>



<p class="wp-block-paragraph">通常の債券は、各利払期間の長さがほぼ均一です。たとえば半年払い債券なら、各クーポン期間は約6か月になります。</p>



<p class="wp-block-paragraph">しかし実務では、次のようなケースで最終期間だけ標準長と異なる債券が登場します。</p>



<ul class="wp-block-list"><li><strong>短端数（Short Last Period）</strong>: 最終クーポン期間が標準期間より短い<ul><li>例: 半年払い債で最終クーポン日が9月15日、満期日が翌1月10日（約4か月）</li></ul></li><li><strong>長端数（Long Last Period）</strong>: 最終クーポン期間が標準期間より長い<ul><li>例: 半年払い債で最終クーポン日が9月15日、満期日が翌年8月10日（約11か月）</li></ul></li></ul>



<p class="wp-block-paragraph">ODDLYIELD はどちらの端数にも対応しています。</p>



<h3 class="wp-block-heading"><span id="toc3">ODDLYIELD が必要な場面</span></h3>



<ul class="wp-block-list"><li>コール条項が発動して満期日が前倒しになった債券の利回り再計算</li><li>満期日を後ろ倒しに変更した既発債の利回り評価</li><li>シンキングファンド方式で最終償還日が個別調整される債券</li><li>私募債や新興市場債券で満期日が標準サイクルと合わないケース</li></ul>



<p class="wp-block-paragraph">価格はすでにマーケットでわかっていて、そこから現在の利回りを逆算したい場面で使う関数です。</p>



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



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



<pre class="wp-block-code"><code>=ODDLYIELD(settlement, maturity, last_interest, rate, pr, redemption, frequency, [basis])</code></pre>



<p class="wp-block-paragraph">引数は8つで、basis のみ省略可能です。<a href="https://mashukabu.com/excel-oddlprice-function/">ODDLPRICE関数</a>と引数の数も並びもほぼ同じで、第5引数が <code>yld</code>（利回り）から <code>pr</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>受渡日（証券の購入が完了する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還日）。settlement より後の日付</td></tr><tr><td>last_interest</td><td>必須</td><td>直前利払日（最終利払期間の開始日）。settlement より前の日付</td></tr><tr><td>rate</td><td>必須</td><td>証券の年間クーポン利率（小数で指定。5%なら 0.05）</td></tr><tr><td>pr</td><td>必須</td><td>額面100あたりの証券価格（市場価格）</td></tr><tr><td>redemption</td><td>必須</td><td>額面100あたりの償還価格（通常は 100）</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払回数（1=年1回・2=半年払い・4=四半期払い）</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">各引数の日付関係</span></h3>



<p class="wp-block-paragraph">引数の日付間には次の制約があります。</p>



<pre class="wp-block-code"><code>last_interest &lt; settlement &lt; maturity</code></pre>



<p class="wp-block-paragraph">時系列で並べるとこうなります。</p>



<pre class="wp-block-code"><code>[直前利払日] ―→ [受渡日] ―→ [満期日]
last_interest   settlement   maturity</code></pre>



<p class="wp-block-paragraph">つまり「直前利払日と満期日の間に受渡日がある」状態です。この順序を守らないと <code>#NUM!</code> エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc6">last_interest（直前利払日）とは</span></h3>



<p class="wp-block-paragraph"><code>last_interest</code> は「最後から2番目の利払日」、つまり<strong>最終クーポン期間の開始日</strong>を指します。</p>



<p class="wp-block-paragraph">たとえば半年払いで満期が2027年1月10日、最後から2番目の利払日が2026年7月10日のとき。<code>last_interest</code> は 2026/7/10 を指定します。最終クーポン期間（2026/7/10〜2027/1/10）の長さがちょうど6か月ではない場合に、ODDLYIELD が活躍するわけですね。</p>



<h3 class="wp-block-heading"><span id="toc7">pr と redemption の違い</span></h3>



<ul class="wp-block-list"><li><strong>pr（価格）</strong>: 市場で取引されている現時点の価格。額面100あたりの値で指定</li><li><strong>redemption（償還価格）</strong>: 満期日に支払われる元本。通常は 100</li></ul>



<p class="wp-block-paragraph">例えば pr が 99.5 の債券は、額面100の証券を市場で 99.5 で買えるという意味です。pr が redemption（100）を下回ると利回りはクーポン利率より高くなります。逆に pr が 100 を上回ると利回りはクーポン利率より低くなります。</p>



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



<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>



<h3 class="wp-block-heading"><span id="toc9">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>



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



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



<h3 class="wp-block-heading"><span id="toc11">例1: 短端数（短い最終クーポン期間）</span></h3>



<p class="wp-block-paragraph">Microsoft公式リファレンスのサンプル値です。</p>



<ul class="wp-block-list"><li>受渡日: 2008/4/20</li><li>満期日: 2008/6/15</li><li>直前利払日: 2007/12/24</li><li>クーポン利率: 3.75%</li><li>価格: 99.875</li><li>償還価格: 100</li><li>frequency: 2（半年払い）</li><li>basis: 0（US 30/360）</li></ul>



<pre class="wp-block-code"><code>=ODDLYIELD(DATE(2008,4,20), DATE(2008,6,15), DATE(2007,12,24), 0.0375, 99.875, 100, 2, 0)</code></pre>



<p class="wp-block-paragraph">価格（99.875）がパー（100）よりわずかに低いため、利回りはクーポン利率（3.75%）よりやや高い値（約4.51%）になります。</p>



<h3 class="wp-block-heading"><span id="toc12">例2: 長端数（長い最終クーポン期間）</span></h3>



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2027/3/15</li><li>直前利払日: 2025/9/15（次回の予定利払日2026/3/15を超えて満期まで継続）</li><li>クーポン利率: 3%</li><li>価格: 100.5</li><li>償還価格: 100</li><li>frequency: 2（半年払い）</li><li>basis: 1（Actual/Actual）</li></ul>



<pre class="wp-block-code"><code>=ODDLYIELD(DATE(2026,5,7), DATE(2027,3,15), DATE(2025,9,15), 0.03, 100.5, 100, 2, 1)</code></pre>



<p class="wp-block-paragraph">価格がパーをわずかに上回っているため、利回りはクーポン利率（3%）より少し低い値になります。</p>



<h3 class="wp-block-heading"><span id="toc13">例3: セル参照を使った書き方</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>2027/1/10</td></tr><tr><td>B4</td><td>直前利払日</td><td>2026/7/10</td></tr><tr><td>B5</td><td>クーポン利率</td><td>0.025</td></tr><tr><td>B6</td><td>価格</td><td>99.8</td></tr><tr><td>B7</td><td>償還価格</td><td>100</td></tr><tr><td>B8</td><td>frequency</td><td>2</td></tr><tr><td>B9</td><td>basis</td><td>3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は <code>=ODDLYIELD(B2,B3,B4,B5,B6,B7,B8,B9)</code> です。価格（B6）を変更すれば利回りが連動して再計算されます。日本国内債券を扱うときは basis を 3（Actual/365）にする慣行があるので覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc14">ODDLYIELD・YIELD・ODDFYIELD の使い分け</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><a href="https://mashukabu.com/excel-yield-function/">YIELD</a></td><td>なし（標準）</td><td>全クーポン期間が均等な債券</td></tr><tr><td><a href="https://mashukabu.com/excel-oddfyield-function/">ODDFYIELD</a></td><td>最初の利払期間のみ端数</td><td>発行日〜第1クーポン日が不規則</td></tr><tr><td><strong>ODDLYIELD</strong></td><td>最後の利払期間のみ端数</td><td>最終クーポン日〜満期が不規則</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">実務でODDLYIELDが必要になる場面は限定的ですが、コール条項の発動や満期日変更がある債券では必須の関数です。</p>



<h3 class="wp-block-heading"><span id="toc15">ODDFYIELD との引数の違い</span></h3>



<p class="wp-block-paragraph">ODDFYIELD は引数が9つです。</p>



<pre class="wp-block-code"><code>=ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])</code></pre>



<p class="wp-block-paragraph">ODDLYIELD は <code>issue</code>（発行日）と <code>first_coupon</code>（最初の利払日）が不要で、代わりに <code>last_interest</code>（直前利払日）を1つ指定します。最終期間の起点は last_interest、終点は maturity なので、引数が1つ少なく済みます。</p>



<h3 class="wp-block-heading"><span id="toc16">YIELD 関数との引数の違い</span></h3>



<p class="wp-block-paragraph">YIELD 関数は引数が7つです。</p>



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



<p class="wp-block-paragraph">ODDLYIELD は <code>last_interest</code> が追加された8引数です。この引数があることで、最終期間の長さを正確に計算できます。</p>



<h2 class="wp-block-heading"><span id="toc17">ODDLPRICE との往復チェック</span></h2>



<p class="wp-block-paragraph">ODDLYIELD は <a href="https://mashukabu.com/excel-oddlprice-function/">ODDLPRICE関数</a> の逆関数です。利回りと価格を双方向で計算できるため、計算結果の妥当性検証に便利ですよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td>ODDLPRICE</td><td>利回り yld</td><td>価格 pr</td></tr><tr><td><strong>ODDLYIELD</strong></td><td>価格 pr</td><td>利回り yld</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">逆算検証の手順</span></h3>



<p class="wp-block-paragraph">価格→利回り、利回り→価格の往復で計算精度を確認できます。</p>



<ol class="wp-block-list"><li>ODDLYIELD で価格 pr から利回り yld を求める</li><li>その yld を ODDLPRICE に渡して価格 pr&#8217; を逆算する</li><li>pr と pr&#8217; がほぼ一致すれば計算は妥当</li></ol>



<p class="wp-block-paragraph">数式で書くとこうなります。</p>



<pre class="wp-block-code"><code>ODDLYIELD(..., pr, ..., basis) → yld
ODDLPRICE(..., yld, ..., basis) → pr'</code></pre>



<p class="wp-block-paragraph">両者の引数（settlement / maturity / last_interest / rate / redemption / frequency / basis）は同じ値を渡してください。</p>



<h3 class="wp-block-heading"><span id="toc19">誤差の許容範囲</span></h3>



<p class="wp-block-paragraph">Excel の財務関数は内部で反復計算を行っているため、わずかな丸め誤差が出ることがあります。実務では <code>|pr - pr'| < 0.001</code>（1bps程度）以内に収まれば一致と見なしてOKです。誤差がそれを超える場合は、引数のどれかが食い違っている可能性が高いので入力値を見直しましょう。</p>



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



<h3 class="wp-block-heading"><span id="toc21">コール条項発動債の利回り再計算</span></h3>



<p class="wp-block-paragraph">コーラブル債（発行体が満期前に償還できる債券）でコール条項が発動されると、当初予定より早い日が満期日になります。最終クーポン期間が標準より短くなるため、ODDLYIELD で利回りを計算します。</p>



<p class="wp-block-paragraph">市場で取引されている価格から「この銘柄を今買うとどれだけの利回りが得られるか」を即座に判定したいときに役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc22">満期延長後の既発債の評価</span></h3>



<p class="wp-block-paragraph">既存債券の満期日を交渉で延長した場合、最終クーポン期間が長端数になります。延長後の理論利回りを ODDLYIELD で算出することで、保有債券の評価を更新できますよ。</p>



<h3 class="wp-block-heading"><span id="toc23">シンキングファンド方式の債券</span></h3>



<p class="wp-block-paragraph">減債基金方式の債券で最終償還日が個別調整される場合、ODDLYIELD が役立ちます。償還スケジュールごとに利回りを再計算したいときに使ってください。</p>



<h3 class="wp-block-heading"><span id="toc24">銘柄スクリーニング</span></h3>



<p class="wp-block-paragraph">複数の端数最終期間債券を並べて利回り比較したいケースでも便利です。市場価格を入力するだけで、各銘柄の利回りが横並びで確認できますよ。</p>



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



<p class="wp-block-paragraph">端数利払期間を扱う関数は ODDLYIELD 以外にもあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE</a></td><td>第1期間端数の証券の価格</td></tr><tr><td><a href="https://mashukabu.com/excel-oddfyield-function/">ODDFYIELD</a></td><td>第1期間端数の証券の利回り</td></tr><tr><td><a href="https://mashukabu.com/excel-oddlprice-function/">ODDLPRICE</a></td><td>最終期間端数の証券の価格</td></tr><tr><td><strong>ODDLYIELD</strong></td><td>最終期間端数の証券の利回り</td></tr><tr><td><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td>標準（端数なし）の証券の価格</td></tr><tr><td><a href="https://mashukabu.com/excel-yield-function/">YIELD</a></td><td>標準（端数なし）の証券の利回り</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">クーポン日のスケジュール管理には COUP 系関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>用途</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-couppcd-function/">COUPPCD</a></td><td>直前の利払日</td></tr><tr><td><a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a></td><td>次回の利払日</td></tr><tr><td><a href="https://mashukabu.com/excel-coupnum-function/">COUPNUM</a></td><td>残りのクーポン回数</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS</a></td><td>直前利払日から受渡日までの日数</td></tr></tbody></table></figure>



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



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付順制約違反（<code>last_interest < settlement < maturity</code> を満たさない）</td><td>各引数の日付を見直す。特に last_interest が settlement より前か確認</td></tr><tr><td>frequency が 1, 2, 4 以外</td><td>1（年1回）・2（半年）・4（四半期）のいずれかを指定</td></tr><tr><td>basis が 0〜4 以外</td><td>0〜4の整数を指定</td></tr><tr><td>rate が負の値</td><td>利率は0以上にする</td></tr><tr><td>pr が0以下</td><td>価格は正の値にする</td></tr><tr><td>redemption が0以下</td><td>通常は100を指定</td></tr><tr><td>反復計算が収束しない</td><td>入力値が現実離れしていないか確認</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>日付引数が日付として認識されない</td><td>DATE関数で指定するか、日付形式のセルを参照する</td></tr><tr><td>数値引数に文字列が入っている</td><td>rate・pr・redemption などを数値に変換</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc29">結果が異常値（マイナス利回り・極端に大きい値）になる場合</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>frequency と市場慣行が合わない</td><td>半年払い債なら 2、四半期払い債なら 4 を指定</td></tr><tr><td>basis と市場慣行が合わない</td><td>日本国内債券なら 3、米国国債なら 1 が一般的</td></tr><tr><td>rate / pr の単位ミス（%表記と小数表記の混同）</td><td>5%なら 0.05、4.51%なら 0.0451 のように小数で指定</td></tr><tr><td>価格が現実離れしている</td><td>額面100あたりの値か確認（10000 などは誤入力）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に日付順制約の <code>#NUM!</code> は実務でつまずきやすいポイントです。エラーが出たら最初にこの順序を疑ってみてくださいね。</p>



<p class="wp-block-paragraph">ODDLYIELD関数を使えば、最終期間が不定期な債券の利回り計算も正確に行えます。コール条項発動債や満期日変更債に出会ったら、YIELD関数ではなく ODDLYIELD で対応してください。市場価格から利回りを逆算する場面で、強力な味方になりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-oddlyield-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのCOUPNUM関数の使い方｜受渡日と満期日の間の利払回数</title>
		<link>https://mashukabu.com/excel-coupnum-function/</link>
					<comments>https://mashukabu.com/excel-coupnum-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 14:15:17 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[COUPNUM関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[クーポン回数]]></category>
		<category><![CDATA[利払回数]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6609</guid>

					<description><![CDATA[ExcelのCOUPNUM関数は、受渡日と満期日の間に発生する利払い回数を返す財務関数です。構文・引数・使用例をわかりやすく解説。COUPNCD・COUPDAYSNC・COUPDAYSとの関係や、利払いスケジュール表での実務活用方法も紹介します。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">ExcelのCOUPNUM関数の使い方｜受渡日と満期日の間の利払回数</h1>



<p class="wp-block-paragraph">債券を購入したとき、「満期までに利息を何回受け取れるのか」を確認したい場面がありますよね。利払い回数がわかれば、総受取額のシミュレーションや資金計画の精度が上がります。</p>



<p class="wp-block-paragraph">ExcelのCOUPNUM関数を使えば、受渡日と満期日の間に発生する利払い回数を引数4つで一発で計算できます。<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD関数</a>が「次の利払日はいつか（日付）」を返すのに対し、COUPNUM は「残り何回受け取れるか（整数）」を返す関数です。</p>



<p class="wp-block-paragraph">この記事では、COUPNUM関数の構文・実例・他のCOUP系関数との関係を整理します。実務での活用方法やエラー対処までまとめて解説しますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-9" checked><label class="toc-title" for="toc-checkbox-9">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"></li><li><a href="#toc1" tabindex="0">ExcelのCOUPNUM関数とは？</a><ol><li><a href="#toc2" tabindex="0">COUPNUM関数が必要な場面</a></li><li><a href="#toc3" tabindex="0">COUPNUM関数で扱える債券</a></li></ol></li><li><a href="#toc4" tabindex="0">COUPNUM関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">COUPNUM関数の戻り値について</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">COUPNUM関数の基本的な使い方</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">例4: 受渡日が利払日と一致するケース</a></li><li><a href="#toc13" tabindex="0">引数をセル参照にする書き方</a></li></ol></li><li><a href="#toc14" tabindex="0">COUPNUM の戻り値の意味（次回利払日から起算する点）</a><ol><li><a href="#toc15" tabindex="0">起点は「次回利払日」</a></li><li><a href="#toc16" tabindex="0">戻り値が必ず整数になる理由</a></li><li><a href="#toc17" tabindex="0">COUPNUM ＝ 0 にはならない</a></li></ol></li><li><a href="#toc18" tabindex="0">COUPNUM・COUPNCD・COUPDAYSNC の関係</a><ol><li><a href="#toc19" tabindex="0">戻り値の対比表</a></li><li><a href="#toc20" tabindex="0">COUPNUM × 他関数の組み合わせ</a></li><li><a href="#toc21" tabindex="0">具体例で確認する</a></li></ol></li><li><a href="#toc22" tabindex="0">実務での活用例</a><ol><li><a href="#toc23" tabindex="0">利払いスケジュール一覧の作成</a></li><li><a href="#toc24" tabindex="0">残りクーポン総受取額のシミュレーション</a></li><li><a href="#toc25" tabindex="0">法人の余資運用シート</a></li></ol></li><li><a href="#toc26" tabindex="0">関連する財務関数の全体像</a></li><li><a href="#toc27" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc28" tabindex="0">#NUM! エラー</a></li><li><a href="#toc29" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc30" tabindex="0">#NAME? エラー</a></li><li><a href="#toc31" tabindex="0">戻り値が想定と違うとき</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのCOUPNUM関数（読み方：クーポン・ナンバー）は財務関数の一つです。<strong>受渡日（settlement）から満期日（maturity）までに支払われる利払いの回数を整数で返します</strong>。</p>



<p class="wp-block-paragraph">関数名は「COUPon NUMber」の略です。「クーポンの回数」をそのまま意味する関数名です。債券を満期前に購入するとき、保有期間中に何回利息を受け取れるかを把握できます。</p>



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



<ul class="wp-block-list"><li>債券の残り利払い回数を一発で算出したいとき</li><li>「クーポン額 × 残り回数」で総受取額をシミュレーションしたいとき</li><li>利払いスケジュール表（<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a>と組み合わせ）を自動生成したいとき</li><li>複数銘柄の債券ポートフォリオを管理したいとき</li></ul>



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



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



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



<p class="wp-block-paragraph">割引証券（TB・CP）はクーポンが存在しないため対象外です。満期一括利払い債は<a href="https://mashukabu.com/excel-yieldmat-function/">YIELDMAT関数</a>や<a href="https://mashukabu.com/excel-pricemat-function/">PRICEMAT関数</a>を使ってください。</p>



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



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



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



<p class="wp-block-paragraph">引数は4つで、basisのみ省略可能です。COUP系関数（<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a>・<a href="https://mashukabu.com/excel-coupdaysnc-function/">COUPDAYSNC</a>・<a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS</a>・<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">COUPNUM関数の戻り値について</span></h3>



<p class="wp-block-paragraph">COUPNUM関数は<strong>必ず正の整数</strong>を返します。COUPNCDのように「日付のシリアル値」になることはなく、セルの書式変更も不要です。「6」と表示されたら、保有期間中に6回クーポンを受け取れるという意味になります。</p>



<p class="wp-block-paragraph">戻り値の起点は「受渡日」ではなく<strong>「次回利払日（COUPNCDの戻り値）」</strong>である点に注意してください。受渡日当日は利息を受け取らず、次の利払日から数え始める仕様です。</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>



<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 が市場慣行です。COUPNUM の場合は basis の違いで戻り値が大きく変わることはほぼありません。それでもシリーズ全体の整合性のため、指定はそろえておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc8">COUPNUM関数の基本的な使い方</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>=COUPNUM(DATE(2026,5,7), DATE(2030,11,7), 2, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>9</strong> が返ります。利払日は2026/11/7・2027/5/7・2027/11/7・2028/5/7・2028/11/7・2029/5/7・2029/11/7・2030/5/7・2030/11/7の9回で、手動で数えても一致します。</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>=COUPNUM(DATE(2026,5,7), DATE(2029,9,15), 1, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>4</strong> です。利払日は2026/9/15・2027/9/15・2028/9/15・2029/9/15の4回になります。満期日の月日（9月15日）が毎年の利払日です。</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>=COUPNUM(DATE(2026,5,7), DATE(2028,3,15), 4, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>8</strong> です。四半期払いの場合、満期日の月（3月）から3か月ごとの周期（3月・6月・9月・12月）になります。利払日は2026/6/15・2026/9/15・2026/12/15・2027/3/15・2027/6/15・2027/9/15・2027/12/15・2028/3/15の8回です。</p>



<h3 class="wp-block-heading"><span id="toc12">例4: 受渡日が利払日と一致するケース</span></h3>



<p class="wp-block-paragraph">受渡日と満期日の月日が同じ場合の挙動を確認しておきましょう。</p>



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



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



<p class="wp-block-paragraph">結果は <strong>8</strong> です。受渡日（5/7）にも利払日が立ちますが、その日は数えません。受渡日の「次」から起算するルールに従っているわけです。利払日は2026/11/7・2027/5/7・2027/11/7・2028/5/7・2028/11/7・2029/5/7・2029/11/7・2030/5/7の8回になります。</p>



<h3 class="wp-block-heading"><span id="toc13">引数をセル参照にする書き方</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>=COUPNUM(B2, B3, B4, B5)</code> です。受渡日や満期日を変更すれば、残りの利払い回数も自動で再計算されます。</p>



<h2 class="wp-block-heading"><span id="toc14">COUPNUM の戻り値の意味（次回利払日から起算する点）</span></h2>



<p class="wp-block-paragraph">COUPNUM の戻り値で読者がつまずきやすいのが<strong>「いつから数えているか」</strong>です。ここを押さえておくと、他のCOUP系関数との合わせ技がスムーズになります。</p>



<h3 class="wp-block-heading"><span id="toc15">起点は「次回利払日」</span></h3>



<p class="wp-block-paragraph">COUPNUM は、<strong>受渡日（settlement）以降に発生する利払いの回数</strong>を返します。受渡日当日に利払日があっても、その日付は受け取り対象に含まれません。</p>



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



<pre class="wp-block-code"><code>=COUPNCD(DATE(2026,5,7), DATE(2030,11,7), 2, 1) → 2026/11/7（次回利払日）
=COUPNUM(DATE(2026,5,7), DATE(2030,11,7), 2, 1) → 9</code></pre>



<p class="wp-block-paragraph">最初に受け取る利払日が2026/11/7（COUPNCD の戻り値）で、そこから満期日2030/11/7までに9回受け取れる、という関係になります。</p>



<h3 class="wp-block-heading"><span id="toc16">戻り値が必ず整数になる理由</span></h3>



<p class="wp-block-paragraph">COUPNUM は「回数」を扱う関数なので、結果は必ず正の整数になります。1.5回や0.5回の利払いは存在しないからです。途中の端数は出ず、最後のクーポンは満期日に支払われる前提で計算されます。</p>



<h3 class="wp-block-heading"><span id="toc17">COUPNUM ＝ 0 にはならない</span></h3>



<p class="wp-block-paragraph">settlement < maturity が成立している限り、COUPNUM の戻り値は1以上の正の整数になります。0 が返ったように見える場合は、引数のミス（settlement ≧ maturity など）を疑ってください。</p>



<h2 class="wp-block-heading"><span id="toc18">COUPNUM・COUPNCD・COUPDAYSNC の関係</span></h2>



<p class="wp-block-paragraph">COUP系関数は「日付」「日数」「回数」のどれを返すかで使い分けます。</p>



<h3 class="wp-block-heading"><span id="toc19">戻り値の対比表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値の種類</th><th>単位</th><th>起点</th></tr></thead><tbody><tr><td>COUPPCD</td><td>直前の利払日</td><td>日付</td><td>settlement より前</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS</a></td><td>直前利払日〜settlement</td><td>日数</td><td>過去側</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS</a></td><td>クーポン期間全体</td><td>日数</td><td>期間</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdaysnc-function/">COUPDAYSNC</a></td><td>settlement〜次の利払日</td><td>日数</td><td>未来側</td></tr><tr><td><a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a></td><td>次の利払日</td><td>日付</td><td>settlement より後</td></tr><tr><td><strong>COUPNUM</strong></td><td>残りクーポン回数</td><td>整数</td><td>次のクーポン以降</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">COUPNUM × 他関数の組み合わせ</span></h3>



<p class="wp-block-paragraph">COUPNUM は単体でも便利ですが、他のCOUP系関数と組み合わせるとさらに実用的になります。</p>



<ul class="wp-block-list"><li><strong>COUPNUM × クーポン額/回 = 残り総受取額</strong>：満期までに受け取る利息の合計を一発で算出</li><li><strong>COUPNCD ＋ frequency 月数 ×（COUPNUM − 1）= 利払日リスト</strong>：すべての利払日を機械的に列挙</li><li><strong>COUPDAYSNC ＋ COUPDAYS ×（COUPNUM − 1）≒ 受渡日〜満期日の概算日数</strong>：保有期間の目安に</li></ul>



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



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



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



<p class="wp-block-paragraph">「次の利払日は2026/11/7（184日後）で、そこから満期までに合計9回受け取れる」と読み取れます。</p>



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



<h3 class="wp-block-heading"><span id="toc23">利払いスケジュール一覧の作成</span></h3>



<p class="wp-block-paragraph">複数銘柄の債券を保有しているなら、COUPNUM と COUPNCD を組み合わせると一覧表を自動生成できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>銘柄</th><th>受渡日</th><th>満期日</th><th>freq</th><th>残り回数</th><th>次回利払日</th></tr></thead><tbody><tr><td>国債A</td><td>2026/5/7</td><td>2030/11/7</td><td>2</td><td><code>=COUPNUM(B2,C2,D2,1)</code> → 9</td><td><code>=COUPNCD(B2,C2,D2,1)</code> → 2026/11/7</td></tr><tr><td>社債B</td><td>2026/3/15</td><td>2029/9/15</td><td>1</td><td><code>=COUPNUM(B3,C3,D3,3)</code> → 4</td><td><code>=COUPNCD(B3,C3,D3,3)</code> → 2026/9/15</td></tr><tr><td>地方債C</td><td>2026/4/1</td><td>2028/3/15</td><td>4</td><td><code>=COUPNUM(B4,C4,D4,3)</code> → 8</td><td><code>=COUPNCD(B4,C4,D4,3)</code> → 2026/6/15</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このシートに「クーポン利率」と「額面」の列を加えれば、銘柄ごとの利息収入予測まで一気に作れますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">残りクーポン総受取額のシミュレーション</span></h3>



<p class="wp-block-paragraph">額面1,000万円・年率1.5%・半年払い・残り回数9回の国債を保有しているケースです。</p>



<pre class="wp-block-code"><code>1回あたりクーポン額  = 10,000,000 × 1.5% ÷ 2 = 75,000円
=COUPNUM(B2, C2, D2, 1)                   → 9
残り総受取額         = 75,000 × 9         = 675,000円</code></pre>



<p class="wp-block-paragraph">数式を1か所まとめると次のようになります。</p>



<pre class="wp-block-code"><code>=10000000 * 0.015 / 2 * COUPNUM(DATE(2026,5,7), DATE(2030,11,7), 2, 1)
→ 675,000</code></pre>



<p class="wp-block-paragraph">複数銘柄を保有しているなら、銘柄ごとに同じ式を組み立てて合計することで、ポートフォリオ全体の利息収入予測ができます。</p>



<h3 class="wp-block-heading"><span id="toc25">法人の余資運用シート</span></h3>



<p class="wp-block-paragraph">経理・財務部で社債を運用している場合、受渡日・満期日・額面・クーポン利率の4列だけ入力すれば、残り受取総額が自動表示される管理シートが作れます。COUPNUM を使うと「あと何回利息が入るか」が機械的にわかるので、決算月や資金繰り計画とも連動させやすくなります。</p>



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



<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>定期利払い債（クーポン付）</td><td><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td><a href="https://mashukabu.com/excel-yield-function/">YIELD</a></td><td>COUPPCD / <a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a> / <strong>COUPNUM</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">クーポン付債のスケジュール管理は COUPNCD で日付、COUPNUM で回数、<a href="https://mashukabu.com/excel-coupdaysnc-function/">COUPDAYSNC</a>で日数を取り出せます。3つを使い分ければ、ほぼあらゆる利払い計算がカバーできますよ。</p>



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



<h3 class="wp-block-heading"><span id="toc28">#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 のいずれかを指定（3 や 12 は不可）</td></tr><tr><td>basis が 0〜4 以外</td><td>0〜4の整数を指定</td></tr><tr><td>引数に負の値</td><td>日付・整数の正の値で指定</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">settlement や maturity が日付として認識されていないことが原因です。文字列の日付（&#8221;2026-05-07&#8243; など）はそのまま渡せません。</p>



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



<p class="wp-block-paragraph">DATE関数（年・月・日を整数で指定して日付値を返す関数）で渡すか、日付として整形済みのセル参照を渡してください。</p>



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



<p class="wp-block-paragraph">「COUPNUM」のスペルミスが原因です。「COUPONNUM」「COUP_NUM」のような表記は存在しません。Excel の入力候補（IntelliSense）から選ぶと安全です。</p>



<h3 class="wp-block-heading"><span id="toc31">戻り値が想定と違うとき</span></h3>



<ul class="wp-block-list"><li>frequency の指定ミス（半年払いなのに 1 を入れている等）→ 利払頻度を再確認</li><li>basis の指定が市場慣行と違う → 国債は basis=1、国内社債は basis=3 が標準</li><li>受渡日の月日と満期日の月日が一致するケースで「1回少ない」と感じる → 受渡日の利払いはカウントしない仕様（例4で解説）</li></ul>



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



<p class="wp-block-paragraph">ExcelのCOUPNUM関数は、受渡日と満期日の間に発生するクーポンの回数を返す財務関数です。本記事のポイントを振り返ります。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=COUPNUM(settlement, maturity, frequency, [basis])</code></li><li><strong>戻り値</strong>: 残りクーポン回数（必ず正の整数）→ 書式変更不要でそのまま使える</li><li><strong>起点</strong>: 受渡日ではなく「次回利払日（COUPNCDの戻り値）」から数える</li><li><strong>対象</strong>: 利付国債・利付社債・地方債など定期的にクーポンを支払う債券</li><li><strong>frequency</strong>: 1（年1回）・2（半年）・4（四半期）のみ有効</li><li><strong>basis</strong>: basis=1（国債/Actual/Actual）、basis=3（国内社債/Actual/365）が市場慣行</li><li><strong>実務活用</strong>: 「クーポン額 × COUPNUM」で残り受取総額を一発算出</li></ul>



<p class="wp-block-paragraph">同シリーズの<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD関数</a>・<a href="https://mashukabu.com/excel-coupdaysnc-function/">COUPDAYSNC関数</a>・<a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS関数</a>・<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-yieldmat-function/">YIELDMAT関数</a>もあわせて確認してみてください。COUP系関数を体系的に身につければ、債券管理シートの自動化がぐっと楽になりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-coupnum-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのCOUPPCD関数の使い方｜受渡日前の最後の利払日</title>
		<link>https://mashukabu.com/excel-couppcd-function/</link>
					<comments>https://mashukabu.com/excel-couppcd-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 14:15:15 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[COUPPCD関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[利払日]]></category>
		<category><![CDATA[直前クーポン日]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6607</guid>

					<description><![CDATA[ExcelのCOUPPCD関数は、受渡日前の最後の利払日（直前クーポン日）の日付を返す財務関数です。構文・引数・使用例をわかりやすく解説。COUPNCD・COUPDAYBS・COUPDAYSとの関係や、経過利息（アキュード・インタレスト）計算への応用も紹介します。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">ExcelのCOUPPCD関数の使い方｜受渡日前の最後の利払日</h1>



<p class="wp-block-paragraph">債券を売買するとき、「直前の利払日はいつだったのか」を把握しておく場面がありますよね。経過利息（アキュード・インタレスト）の計算や、クーポン期間の把握に欠かせない情報です。</p>



<p class="wp-block-paragraph">ExcelのCOUPPCD関数を使えば、受渡日前の最後の利払日の日付を引数4つで一発で取り出せます。<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD関数</a>が「次の利払日はいつか」を返すのに対し、COUPPCD は「直前の利払日はいつか」を返す関数です。</p>



<p class="wp-block-paragraph">この記事では、COUPPCD関数の構文・実例・COUPNCD や COUPDAYBS との関係・エラー対処まで解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"></li><li><a href="#toc1" tabindex="0">ExcelのCOUPPCD関数とは？</a><ol><li><a href="#toc2" tabindex="0">COUPPCD関数が必要な場面</a></li><li><a href="#toc3" tabindex="0">COUPPCD関数で扱える債券</a></li></ol></li><li><a href="#toc4" tabindex="0">COUPPCD関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">COUPPCD関数の戻り値について</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">COUPPCD関数の基本的な使い方</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">例4: 受渡日が利払日と一致するケース</a></li><li><a href="#toc13" tabindex="0">引数をセル参照にする書き方</a></li></ol></li><li><a href="#toc14" tabindex="0">COUPPCD の戻り値の意味（受渡日当日は含まない）</a><ol><li><a href="#toc15" tabindex="0">COUPPCD と COUPNCD の対称性</a></li><li><a href="#toc16" tabindex="0">経過利息計算での活用</a></li></ol></li><li><a href="#toc17" tabindex="0">COUPPCD・COUPNCD・COUPDAYBS の関係</a><ol><li><a href="#toc18" tabindex="0">戻り値の対比表</a></li><li><a href="#toc19" tabindex="0">COUPPCD と COUPDAYBS の組み合わせ</a></li><li><a href="#toc20" tabindex="0">具体例で確認する</a></li></ol></li><li><a href="#toc21" tabindex="0">実務での活用例</a><ol><li><a href="#toc22" tabindex="0">経過利息の確認</a></li><li><a href="#toc23" tabindex="0">過去の利払いスケジュールの遡り</a></li><li><a href="#toc24" tabindex="0">利払いスケジュール一覧との組み合わせ</a></li></ol></li><li><a href="#toc25" tabindex="0">関連する財務関数の全体像</a></li><li><a href="#toc26" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc27" tabindex="0">#NUM! エラー</a></li><li><a href="#toc28" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc29" tabindex="0">#NAME? エラー</a></li><li><a href="#toc30" tabindex="0">戻り値が大きな数字のように見える</a></li><li><a href="#toc31" tabindex="0">戻り値が想定と違うとき</a></li></ol></li><li><a href="#toc32" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのCOUPPCD関数（読み方：クーポン・ピーシーディー）は財務関数の一つです。<strong>受渡日（settlement）の直前に発生した利払日の日付を返します</strong>。</p>



<p class="wp-block-paragraph">関数名は「COUPon Previous Coupon Date」の略です。「直前のクーポン日」をそのまま意味する関数名です。債券を満期前に売買するとき、「前回はいつ利息が出たか」を日付で確認できます。</p>



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



<ul class="wp-block-list"><li>受渡日前の最後の利払日を売買記録に残したいとき</li><li>経過利息（COUPDAYBS / COUPDAYS で算出した比率 × クーポン額）を確認したいとき</li><li><a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a>（次の利払日）と組み合わせてクーポン期間全体を把握したいとき</li><li>利払いスケジュール表を過去方向に遡りたいとき</li></ul>



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



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



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



<p class="wp-block-paragraph">割引証券（TB・CP）はクーポンが存在しないため対象外です。満期一括利払い債は<a href="https://mashukabu.com/excel-yieldmat-function/">YIELDMAT関数</a>や<a href="https://mashukabu.com/excel-pricemat-function/">PRICEMAT関数</a>を使ってください。</p>



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



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



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



<p class="wp-block-paragraph">引数は4つで、basisのみ省略可能です。COUP系関数（<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a>・<a href="https://mashukabu.com/excel-coupdaysnc-function/">COUPDAYSNC</a>・<a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS</a>・<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">COUPPCD関数の戻り値について</span></h3>



<p class="wp-block-paragraph">COUPPCD関数は<strong>日付のシリアル値</strong>を返します。COUPNCDと同じく、そのままでは大きな整数（例: 46348）のように見えることがあります。セルの書式を「日付」に変更することで、日付表示に切り替えられます。</p>



<p class="wp-block-paragraph">戻り値は常に settlement より前の日付です。受渡日当日が利払日と一致していても、その日付ではなく「さらに前の利払日」が返ってきます。受渡日当日の利払いは COUPPCD の対象外です。</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>



<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 が市場慣行です。COUPPCD と COUPNCD は対称的な関数なので、同じ引数を使えば一貫した結果が得られます。</p>



<h2 class="wp-block-heading"><span id="toc8">COUPPCD関数の基本的な使い方</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>=COUPPCD(DATE(2026,5,7), DATE(2030,11,7), 2, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>2026/5/7</strong> ではなく <strong>2026/5/7</strong> の直前の利払日、つまり <strong>2025/11/7</strong> が返ります。満期日が11月7日なので、半年ごとに5月7日・11月7日が利払日になります。受渡日（2026/5/7）の前の利払日は2025/11/7です。</p>



<p class="wp-block-paragraph">セルの書式を日付に変えると「2025/11/7」として表示されます。</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>=COUPPCD(DATE(2026,5,7), DATE(2029,9,15), 1, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>2025/9/15</strong> が返ります。年1回払いで毎年9月15日が利払日なので、2026/5/7 の直前の利払日は2025/9/15です。</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>=COUPPCD(DATE(2026,5,7), DATE(2028,3,15), 4, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>2026/3/15</strong> が返ります。四半期払いで満期日3月15日から3か月ごと（3月・6月・9月・12月）が利払日になります。2026/5/7 の直前の利払日は2026/3/15です。</p>



<h3 class="wp-block-heading"><span id="toc12">例4: 受渡日が利払日と一致するケース</span></h3>



<p class="wp-block-paragraph">受渡日と満期日の月日が同じ（受渡日が利払日に当たる）場合の挙動を確認しましょう。</p>



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



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



<p class="wp-block-paragraph">結果は <strong>2025/11/7</strong> が返ります。受渡日（2026/5/7）が利払日と一致しても、その日付は COUPPCD の戻り値になりません。COUPNCD と同様に「受渡日当日は含まない」ルールが適用されます。</p>



<h3 class="wp-block-heading"><span id="toc13">引数をセル参照にする書き方</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>=COUPPCD(B2, B3, B4, B5)</code> です。受渡日や満期日を変更すれば、直前の利払日も自動で再計算されます。</p>



<h2 class="wp-block-heading"><span id="toc14">COUPPCD の戻り値の意味（受渡日当日は含まない）</span></h2>



<p class="wp-block-paragraph">COUPPCD の戻り値は「受渡日（settlement）の<strong>直前</strong>の利払日」です。受渡日当日が利払日に一致していても、その日は含まれません。この仕様は COUPNCD（次回利払日）と対称的な設計になっています。</p>



<h3 class="wp-block-heading"><span id="toc15">COUPPCD と COUPNCD の対称性</span></h3>



<p class="wp-block-paragraph">半年払い国債（受渡日2026/5/7・満期日2030/11/7・frequency=2・basis=1）で比較してみましょう。</p>



<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">直前利払日（2025/11/7）と次回利払日（2026/11/7）の差が1クーポン期間（ここでは約184日）になります。この期間が<a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS関数</a>の返す「クーポン期間全体の日数」です。</p>



<h3 class="wp-block-heading"><span id="toc16">経過利息計算での活用</span></h3>



<p class="wp-block-paragraph">COUPPCD は経過利息（アキュード・インタレスト）の計算で重要な役割を果たします。</p>



<ul class="wp-block-list"><li><strong><a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS</a></strong>: 直前利払日から受渡日までの日数（= 経過日数）</li><li><strong><a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS</a></strong>: クーポン期間全体の日数</li><li><strong>経過利息比率</strong>: COUPDAYBS / COUPDAYS</li></ul>



<p class="wp-block-paragraph">COUPPCD 自体は日付を返すだけですが、「直前の利払日がいつか」という情報は利払いスケジュール表の出発点になります。</p>



<h2 class="wp-block-heading"><span id="toc17">COUPPCD・COUPNCD・COUPDAYBS の関係</span></h2>



<p class="wp-block-paragraph">COUP系関数は「日付」「日数」「回数」のどれを返すかで使い分けます。</p>



<h3 class="wp-block-heading"><span id="toc18">戻り値の対比表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>戻り値の種類</th><th>単位</th><th>起点</th></tr></thead><tbody><tr><td><strong>COUPPCD</strong></td><td>直前の利払日</td><td>日付</td><td>settlement より前</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS</a></td><td>直前利払日〜settlement</td><td>日数</td><td>過去側</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS</a></td><td>クーポン期間全体</td><td>日数</td><td>期間</td></tr><tr><td><a href="https://mashukabu.com/excel-coupdaysnc-function/">COUPDAYSNC</a></td><td>settlement〜次の利払日</td><td>日数</td><td>未来側</td></tr><tr><td><a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a></td><td>次の利払日</td><td>日付</td><td>settlement より後</td></tr><tr><td><a href="https://mashukabu.com/excel-coupnum-function/">COUPNUM</a></td><td>残りクーポン回数</td><td>整数</td><td>次のクーポン以降</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc19">COUPPCD と COUPDAYBS の組み合わせ</span></h3>



<p class="wp-block-paragraph">COUPPCD の日付から COUPDAYBS の日数は自分でも計算できます。</p>



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



<p class="wp-block-paragraph">両者は一致します。COUPDAYBS を直接使う方が手軽ですが、「直前利払日の日付そのもの」が必要なときは COUPPCD を使ってください。</p>



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



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



<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（次回利払日）
=COUPDAYBS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)  → 181（直前利払日から受渡日まで）
=COUPDAYS(DATE(2026,5,7), DATE(2030,11,7), 2, 1)   → 365（クーポン期間全体）</code></pre>



<p class="wp-block-paragraph">「直前の利払日は2025/11/7で、そこから受渡日2026/5/7まで181日経過。クーポン期間全体は365日」と整理できます。</p>



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



<h3 class="wp-block-heading"><span id="toc22">経過利息の確認</span></h3>



<p class="wp-block-paragraph">債券の売買では、直前利払日から受渡日までの経過日数に応じた経過利息を計算します。</p>



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



<p class="wp-block-paragraph">COUPPCD 自体は日付を返すだけですが、COUPDAYBS の計算根拠として「直前利払日がいつか」を確認するときに役立ちます。</p>



<h3 class="wp-block-heading"><span id="toc23">過去の利払いスケジュールの遡り</span></h3>



<p class="wp-block-paragraph">COUPNCD が未来の利払日を順方向に並べるのに対し、COUPPCD を起点に frequency 月数を引き算すれば、過去の利払日リストを逆算できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>回</th><th>利払日</th><th>数式</th></tr></thead><tbody><tr><td>直前</td><td>2025/11/7</td><td><code>=COUPPCD(B2,B3,B4,B5)</code></td></tr><tr><td>2回前</td><td>2025/5/7</td><td><code>=COUPPCD(B2,B3,B4,B5) - 184</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">半年払いなら約6か月（実際の日数は basis に依存）ずつ引きます。正確に月単位で遡るには EDATE 関数で 6か月ずつ戻す方法もあります。</p>



<h3 class="wp-block-heading"><span id="toc24">利払いスケジュール一覧との組み合わせ</span></h3>



<p class="wp-block-paragraph">保有中の複数銘柄に対して COUPPCD と COUPNCD を両方出力すると、「直前〜次回の利払い区間」が一目でわかる一覧が作れます。</p>



<figure class="wp-block-table"><table><thead><tr><th>銘柄</th><th>受渡日</th><th>満期日</th><th>freq</th><th>直前利払日</th><th>次回利払日</th></tr></thead><tbody><tr><td>国債A</td><td>2026/5/7</td><td>2030/11/7</td><td>2</td><td><code>=COUPPCD(B2,C2,D2,1)</code></td><td><code>=COUPNCD(B2,C2,D2,1)</code></td></tr><tr><td>社債B</td><td>2026/3/15</td><td>2029/9/15</td><td>1</td><td><code>=COUPPCD(B3,C3,D3,3)</code></td><td><code>=COUPNCD(B3,C3,D3,3)</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この表に「クーポン利率」「額面」を加えれば、経過利息の試算シートに発展できます。</p>



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



<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>定期利払い債（クーポン付）</td><td><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td><a href="https://mashukabu.com/excel-yield-function/">YIELD</a></td><td><strong>COUPPCD</strong> / <a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD</a> / <a href="https://mashukabu.com/excel-coupnum-function/">COUPNUM</a></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">COUPPCD（直前利払日）と COUPNCD（次回利払日）はペアで使うと、クーポン期間の「前後」が一度に把握できます。</p>



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



<h3 class="wp-block-heading"><span id="toc27">#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 のいずれかを指定（3 や 12 は不可）</td></tr><tr><td>basis が 0〜4 以外</td><td>0〜4の整数を指定</td></tr><tr><td>引数に負の値</td><td>日付・整数の正の値で指定</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">settlement や maturity が日付として認識されていないことが原因です。文字列の日付（&#8221;2026-05-07&#8243; など）はそのまま渡せません。</p>



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



<p class="wp-block-paragraph">DATE関数（年・月・日を整数で指定して日付値を返す関数）で渡すか、日付として整形済みのセル参照を渡してください。</p>



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



<p class="wp-block-paragraph">「COUPPCD」のスペルミスが原因です。「COUP_PCD」「COUPREVCD」のような表記は存在しません。Excel の入力候補（IntelliSense）から選ぶと安全です。</p>



<h3 class="wp-block-heading"><span id="toc30">戻り値が大きな数字のように見える</span></h3>



<p class="wp-block-paragraph">COUPPCD は日付のシリアル値を返すため、セルの書式が「標準」になっていると大きな整数（例: 46501）として表示されます。セルを選択して「書式設定 → 日付」に変更してください。</p>



<h3 class="wp-block-heading"><span id="toc31">戻り値が想定と違うとき</span></h3>



<ul class="wp-block-list"><li>frequency の指定ミス（半年払いなのに 1 を入れている等）→ 利払頻度を再確認</li><li>basis の指定が市場慣行と違う → 国債は basis=1、国内社債は basis=3 が標準</li><li>受渡日の月日と満期日の月日が一致するケースで「1回ずれている」と感じる → 受渡日の利払いは COUPPCD の対象外（例4で解説）</li></ul>



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



<p class="wp-block-paragraph">ExcelのCOUPPCD関数は、受渡日の直前に発生した利払日の日付を返す財務関数です。本記事のポイントを振り返ります。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=COUPPCD(settlement, maturity, frequency, [basis])</code></li><li><strong>戻り値</strong>: 直前の利払日（日付のシリアル値）→ セルの書式を「日付」に変更する</li><li><strong>起点</strong>: 受渡日の「前」の直前利払日。受渡日当日は含まない</li><li><strong>対象</strong>: 利付国債・利付社債・地方債など定期的にクーポンを支払う債券</li><li><strong>frequency</strong>: 1（年1回）・2（半年）・4（四半期）のみ有効</li><li><strong>basis</strong>: basis=1（国債/Actual/Actual）、basis=3（国内社債/Actual/365）が市場慣行</li><li><strong>対称関数</strong>: COUPNCD（次回利払日）とペアで使うとクーポン期間の前後が把握しやすい</li></ul>



<p class="wp-block-paragraph">同シリーズの<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD関数</a>・<a href="https://mashukabu.com/excel-coupnum-function/">COUPNUM関数</a>・<a href="https://mashukabu.com/excel-coupdaysnc-function/">COUPDAYSNC関数</a>・<a href="https://mashukabu.com/excel-coupdays-function/">COUPDAYS関数</a>・<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>もあわせて確認してみてください。COUP系関数を体系的に身につければ、債券管理シートの自動化がぐっと楽になりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-couppcd-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
