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

<channel>
	<title>債券利回り &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e5%82%b5%e5%88%b8%e5%88%a9%e5%9b%9e%e3%82%8a/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 07:34:42 +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の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-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">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のODDFYIELD関数の使い方｜最初の利払期間が端数の証券の利回り</title>
		<link>https://mashukabu.com/excel-oddfyield-function/</link>
					<comments>https://mashukabu.com/excel-oddfyield-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 14:15:10 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel財務関数]]></category>
		<category><![CDATA[ODDFPRICE]]></category>
		<category><![CDATA[ODDFYIELD関数]]></category>
		<category><![CDATA[債券利回り]]></category>
		<category><![CDATA[固定利付債]]></category>
		<category><![CDATA[端数利払期間]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6603</guid>

					<description><![CDATA[ExcelのODDFYIELD関数は、最初の利払期間が端数の債券や証券の額面100あたりの利回りを求める財務関数です。構文・全引数の詳細・日付順制約の図解・具体的な計算例に加えて、ODDFPRICE関数との逆算チェックやエラー（#NUM!/#VALUE!）の原因と対処法まで徹底解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a>で債券の利回り計算をしていると、こんな場面に出くわしませんか？</p>



<p class="wp-block-paragraph">「最初の利払日までの期間が端数になっている社債がある。でも通常の関数では正確に出せない……」</p>



<p class="wp-block-paragraph">そんなときに使うのが、<strong>ExcelのODDFYIELD関数</strong>です。最初の利払期間が端数の証券の利回りを求める財務関数です。<a href="https://mashukabu.com/excel-price-function/">PRICE関数</a>や<a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a>といった通常の財務関数では対応できないケースをカバーしますよ。</p>



<p class="wp-block-paragraph">ペア関数の<a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>（価格を求める関数）と組み合わせると、価格と利回りの双方向チェックもできますよ。</p>



<p class="wp-block-paragraph">この記事では、ODDFYIELD関数の構文・引数・日付順制約・計算例・エラー対処まで、実務で使える知識をまとめて解説します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <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><ol><li><a href="#toc2" tabindex="0">ODDFYIELD関数の基本概念と関数名の意味</a></li><li><a href="#toc3" tabindex="0">端数第1期間（Odd First Period）の概念</a></li><li><a href="#toc4" tabindex="0">ODDFPRICE関数との関係</a></li></ol></li><li><a href="#toc5" tabindex="0">端数第1期間が発生するケース</a><ol><li><a href="#toc6" tabindex="0">短端数（Short First Period）とは</a></li><li><a href="#toc7" tabindex="0">長端数（Long First Period）とは</a></li><li><a href="#toc8" tabindex="0">実務での発生場面（新発債・中途購入債）</a></li></ol></li><li><a href="#toc9" tabindex="0">ODDFYIELD関数の構文と引数</a><ol><li><a href="#toc10" tabindex="0">構文の確認</a></li><li><a href="#toc11" tabindex="0">引数の詳細一覧（全9引数）</a></li><li><a href="#toc12" tabindex="0">日付順制約の時系列図（issue→settlement→first_coupon→maturity）</a></li><li><a href="#toc13" tabindex="0">basis（基準）の設定値一覧</a></li></ol></li><li><a href="#toc14" tabindex="0">ODDFYIELD関数の使用例</a><ol><li><a href="#toc15" tabindex="0">計算例：短端数の社債利回りを求める</a></li><li><a href="#toc16" tabindex="0">ステップごとの入力解説</a></li><li><a href="#toc17" tabindex="0">Excelシートでの設定確認</a></li></ol></li><li><a href="#toc18" tabindex="0">ODDFPRICE関数との双方向チェック</a><ol><li><a href="#toc19" tabindex="0">ODDFPRICE→ODDFYIELD逆算で検証する手順</a></li><li><a href="#toc20" tabindex="0">誤差の許容範囲と注意点</a></li></ol></li><li><a href="#toc21" tabindex="0">YIELD関数との使い分け</a><ol><li><a href="#toc22" tabindex="0">通常債券 vs 端数期間債券の比較表</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><li><a href="#toc28" tabindex="0">まとめ</a><ol><li><a href="#toc29" tabindex="0">関連関数リンク集</a></li></ol></li></ol>
    </div>
  </div>

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



<h3 class="wp-block-heading"><span id="toc2">ODDFYIELD関数の基本概念と関数名の意味</span></h3>



<p class="wp-block-paragraph">ExcelのODDFYIELD関数は、最初の利払期間が端数の証券の利回りを求める財務関数です。</p>



<p class="wp-block-paragraph">関数名は <strong>ODD + F + YIELD</strong> の組み合わせです。</p>



<ul class="wp-block-list"><li><strong>ODD</strong>: 不規則（通常と異なる）</li><li><strong>F</strong>: 最初（First）</li><li><strong>YIELD</strong>: 利回り</li></ul>



<p class="wp-block-paragraph">「最初のクーポン期間が不規則な証券の利回り」という意味になります。</p>



<p class="wp-block-paragraph">通常の債券では、発行から最初の利払日まで1クーポン期間ちょうどです。でも実際の新発債は月中発行が多く、最初の利払期間が端数になりがちですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">端数第1期間（Odd First Period）の概念</span></h3>



<p class="wp-block-paragraph">端数第1期間（Odd First Period）とは、発行日から最初の利払日までの期間が通常と異なる状態のことです。</p>



<p class="wp-block-paragraph">半年払いの債券なら、通常1クーポン期間は約6ヶ月です。でも発行日から最初の利払日まで約2ヶ月しかない場合——その短い期間が「端数第1期間」になります。</p>



<p class="wp-block-paragraph">このような端数期間を正確に計算するために、ODDFYIELD関数が必要です。</p>



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



<p class="wp-block-paragraph">ODDFYIELD関数と<a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>（価格を求める関数）はペアの関係です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td>ODDFPRICE</td><td>利回り</td><td>価格</td></tr><tr><td>ODDFYIELD</td><td>価格</td><td>利回り</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ODDFYIELD は ODDFPRICE の逆関数です。双方向で計算して整合性を確認する「往復チェック」が実務で役立ちますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">端数第1期間が発生するケース</span></h2>



<h3 class="wp-block-heading"><span id="toc6">短端数（Short First Period）とは</span></h3>



<p class="wp-block-paragraph">短端数は、端数第1期間が通常の1クーポン期間より<strong>短い</strong>ケースです。</p>



<ul class="wp-block-list"><li>半年払いの通常期間: 約180日</li><li>月中発行での第1期間: 約45日</li></ul>



<p class="wp-block-paragraph">この差が「短端数」（Short First Period）です。実務では<strong>新発社債の月中発行</strong>で頻繁に起きます。</p>



<h3 class="wp-block-heading"><span id="toc7">長端数（Long First Period）とは</span></h3>



<p class="wp-block-paragraph">長端数は、端数第1期間が通常の1クーポン期間より<strong>長い</strong>ケースです。</p>



<p class="wp-block-paragraph">1クーポン期間を超える第1期間が生じるため、初回クーポンが通常より多くなります。短端数より発生頻度は少ないですが、計算式はより複雑になります。</p>



<h3 class="wp-block-heading"><span id="toc8">実務での発生場面（新発債・中途購入債）</span></h3>



<p class="wp-block-paragraph">端数第1期間が発生する代表的なケースは2つです。</p>



<p class="wp-block-paragraph"><strong>① 新発社債（最も多い）</strong>: 企業が月中に発行条件を決めることが多いです。クーポン支払日が特定日（例: 毎年3月20日・9月20日）に固定されていると、最初の利払期間が端数になります。</p>



<p class="wp-block-paragraph"><strong>② 外国債券</strong>: 米国・欧州の債券は end-of-month convention（月末日を基準とする利払日慣行）が適用されます。basis（日数計算基準）パラメータで切り替えれば計算できますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<h3 class="wp-block-heading"><span id="toc10">構文の確認</span></h3>



<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つです（<code>basis</code> のみ省略可能）。</p>



<h3 class="wp-block-heading"><span id="toc11">引数の詳細一覧（全9引数）</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>説明</th><th>制約</th></tr></thead><tbody><tr><td>settlement</td><td>○</td><td>受渡日（決済日。証券購入が完了する日）</td><td>issue の後</td></tr><tr><td>maturity</td><td>○</td><td>満期日（償還日）</td><td>first_coupon の後</td></tr><tr><td>issue</td><td>○</td><td>発行日（最も早い日付）</td><td>最も早い日付</td></tr><tr><td>first_coupon</td><td>○</td><td>最初の利払日（初回クーポン支払日）</td><td>settlement の後</td></tr><tr><td>rate</td><td>○</td><td>年間クーポン利率（小数。例: 5%→0.05）</td><td>0以上</td></tr><tr><td>pr</td><td>○</td><td>証券の価格（額面100あたりのクリーン価格）</td><td>0より大</td></tr><tr><td>redemption</td><td>○</td><td>額面100あたりの償還価格（通常100）</td><td>0より大</td></tr><tr><td>frequency</td><td>○</td><td>年間利払回数（1=年1回/2=半年払い/4=四半期払い）</td><td>1/2/4のみ</td></tr><tr><td>basis</td><td>省略可</td><td>日数計算基準（0〜4、省略時は0）</td><td>0〜4</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>pr</code> は額面100あたりのクリーン価格（経過利子を含まない価格）です。市場価格が101円なら <code>101</code>、95円なら <code>95</code> を入力します。</p>



<p class="wp-block-paragraph"><code>first_coupon</code>（初回利払日）の特定には<a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD関数</a>が役立ちます。発行日周辺の利払日を調べるなら<a href="https://mashukabu.com/excel-couppcd-function/">COUPPCD関数</a>も参考にしてください。</p>



<h3 class="wp-block-heading"><span id="toc12">日付順制約の時系列図（issue→settlement→first_coupon→maturity）</span></h3>



<p class="wp-block-paragraph">ODDFYIELD関数で<strong>最も重要なのが日付の順序制約</strong>です。この順序を守らないと <code>#NUM!</code> エラーになります。</p>



<pre class="wp-block-code"><code>issue &lt; settlement &lt; first_coupon &lt; maturity
（発行日）  （受渡日）   （初回利払日）   （満期日）</code></pre>



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



<pre class="wp-block-code"><code>発行日      受渡日       初回利払日               満期日
│           │             │                       │
▼           ▼             ▼                       ▼
──────────────────────────────────────────────────→ 時間
issue    settlement    first_coupon           maturity
 │←  A  →│
 │←── 端数第1期間（DFC）──→│
           │←── DSC ──→│</code></pre>



<p class="wp-block-paragraph">各変数の意味は以下の通りです。</p>



<ul class="wp-block-list"><li><strong>A</strong>: 発行日から受渡日までの日数（経過利子の計算に使用）</li><li><strong>DFC</strong>: 発行日から初回利払日までの日数（端数第1期間の長さ）</li><li><strong>DSC</strong>: 受渡日から初回利払日までの日数</li></ul>



<p class="wp-block-paragraph">なお、ODDFPRICE関数では <code>issue ≦ settlement</code>（等号を許可）です。でも ODDFYIELD では全て<strong>厳密な不等号</strong>（等号は不可）なので、この微妙な違いには注意してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc13">basis（基準）の設定値一覧</span></h3>



<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日（NASD方式）</td><td>米国社債</td></tr><tr><td>1</td><td>実際の日数/実際の日数</td><td>米国財務省証券等</td></tr><tr><td>2</td><td>実際の日数/360日</td><td>欧州系債券</td></tr><tr><td>3</td><td>実際の日数/365日</td><td>英国・日本の公社債</td></tr><tr><td>4</td><td>30日/360日（欧州方式）</td><td>欧州社債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日本の公社債では ACT/365（basis=3）または 30/360（basis=0）が多く使われます。この記事では Excel のデフォルト（basis=0）を基本として解説します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc14">ODDFYIELD関数の使用例</span></h2>



<h3 class="wp-block-heading"><span id="toc15">計算例：短端数の社債利回りを求める</span></h3>



<p class="wp-block-paragraph">Microsoft公式のサンプルデータで計算してみます。</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（市場価格、額面100あたり）</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（30/360）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">発行日（2008-10-15）から初回利払日（2009-03-01）まで約4.5ヶ月です。半年払いの通常期間（約6ヶ月）より短いので、これは<strong>短端数</strong>のケースです。</p>



<h3 class="wp-block-heading"><span id="toc16">ステップごとの入力解説</span></h3>



<p class="wp-block-paragraph">数式はこうなります：</p>



<pre class="wp-block-code"><code>=ODDFYIELD(DATE(2008,11,11), DATE(2021,3,1), DATE(2008,10,15), DATE(2009,3,1), 0.0575, 84.50, 100, 2, 0)</code></pre>



<p class="wp-block-paragraph"><strong>結果: 7.72%（正確には 7.7246%）</strong></p>



<p class="wp-block-paragraph">日付は必ず <code>DATE(年,月,日)</code> 形式で入力してください。テキスト文字列で直接入力するとエラーの原因になります。</p>



<h3 class="wp-block-heading"><span id="toc17">Excelシートでの設定確認</span></h3>



<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>B2</td><td>settlement</td><td>=DATE(2008,11,11)</td><td>2008/11/11</td></tr><tr><td>B3</td><td>maturity</td><td>=DATE(2021,3,1)</td><td>2021/3/1</td></tr><tr><td>B4</td><td>issue</td><td>=DATE(2008,10,15)</td><td>2008/10/15</td></tr><tr><td>B5</td><td>first_coupon</td><td>=DATE(2009,3,1)</td><td>2009/3/1</td></tr><tr><td>B6</td><td>rate</td><td>0.0575</td><td>5.75%</td></tr><tr><td>B7</td><td>pr</td><td>84.50</td><td>84.50</td></tr><tr><td>B8</td><td>redemption</td><td>100</td><td>100</td></tr><tr><td>B9</td><td>frequency</td><td>2</td><td>2</td></tr><tr><td>B10</td><td>basis</td><td>0</td><td>0</td></tr><tr><td><strong>B12</strong></td><td>—</td><td><strong>=ODDFYIELD(B2,B3,B4,B5,B6,B7,B8,B9,B10)</strong></td><td><strong>7.72%</strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>日本企業社債の実務例（新発社債・短端数）：</strong></p>



<p class="wp-block-paragraph">月中発行の新発5年社債で、端数第1期間が約4ヶ月生じるケースです。</p>



<pre class="wp-block-code"><code>=ODDFYIELD(DATE(2024,2,20), DATE(2029,6,20), DATE(2024,2,15), DATE(2024,6,20), 0.025, 99.00, 100, 2, 0)
→ 結果: 2.70%（正確には 2.7029%）</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>日付</th><th>値</th></tr></thead><tbody><tr><td>発行日</td><td>2024年2月15日（月中発行）</td></tr><tr><td>受渡日</td><td>2024年2月20日（T+3決済）</td></tr><tr><td>初回利払日</td><td>2024年6月20日</td></tr><tr><td>満期日</td><td>2029年6月20日（5年債）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">市場価格99円・クーポン2.5%なので、利回りは2.7029%になります。価格が額面（100）を下回っているため、クーポン率より高い利回りになりますよね。</p>



<p class="wp-block-paragraph">また、市場価格が100円（額面通り）のときの利回りは2.5003%で、ほぼ額面利率（2.5%）と一致します。新発債の特性がよく表れていますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc18">ODDFPRICE関数との双方向チェック</span></h2>



<h3 class="wp-block-heading"><span id="toc19">ODDFPRICE→ODDFYIELD逆算で検証する手順</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>（価格を求める関数）で価格を求め、その価格を ODDFYIELD に入力します。元の利回りに戻れば計算が正確と確認できますよ。</p>



<p class="wp-block-paragraph"><strong>Step 1: 利回りから価格を求める（ODDFPRICE）</strong></p>



<pre class="wp-block-code"><code>=ODDFPRICE(DATE(2008,11,11), DATE(2021,3,1), DATE(2008,10,15), DATE(2009,3,1), 0.0575, 0.0772, 100, 2, 0)
→ 価格: 84.53</code></pre>



<p class="wp-block-paragraph"><strong>Step 2: 価格から利回りに逆算する（ODDFYIELD）</strong></p>



<pre class="wp-block-code"><code>=ODDFYIELD(DATE(2008,11,11), DATE(2021,3,1), DATE(2008,10,15), DATE(2009,3,1), 0.0575, 84.53, 100, 2, 0)
→ 利回り: 7.72%（往復一致）</code></pre>



<p class="wp-block-paragraph">往復誤差は <strong>0.0000bp（完全一致）</strong> です。このように往復で数値が一致することを確認すると、計算の信頼性が高まります。</p>



<h3 class="wp-block-heading"><span id="toc20">誤差の許容範囲と注意点</span></h3>



<p class="wp-block-paragraph">ODDFYIELD は<strong>反復計算（ニュートン法）</strong>で利回りを収束させます。ODDFPRICE で得た価格をそのまま入力すれば、ほぼ誤差ゼロで元の利回りに戻ります。</p>



<p class="wp-block-paragraph">ただし、表示桁数で四捨五入した価格を入力すると、わずかにずれる場合があります。検証時は価格をできるだけ多くの桁数で保持してください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<h3 class="wp-block-heading"><span id="toc22">通常債券 vs 端数期間債券の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th><a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a></th><th>ODDFYIELD関数</th></tr></thead><tbody><tr><td>対象</td><td>通常の利付債（定期的な利払い）</td><td>最初の利払期間が端数の証券</td></tr><tr><td>必要な引数</td><td>7つ</td><td>9つ（発行日・初回利払日が追加）</td></tr><tr><td>端数第1期間への対応</td><td>対応不可（不正確な結果になる）</td><td>短端数・長端数ともに対応</td></tr><tr><td>使える場面</td><td>既発債の通常取引</td><td>新発債・不規則スケジュール債</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">どちらを使うか判断するフローチャート</span></h3>



<p class="wp-block-paragraph">判断のポイントは<strong>発行日から最初の利払日までの期間</strong>です。</p>



<pre class="wp-block-code"><code>発行日から最初の利払日まで、1クーポン期間ちょうどか？
  ├─ YES → YIELD関数（通常の固定利付債）
  └─ NO  → ODDFYIELD関数（端数第1期間あり）</code></pre>



<p class="wp-block-paragraph">半年払いの債券なら、発行日から初回利払日まで約6ヶ月ちょうどでなければ ODDFYIELD を使います。新発債は多くの場合 ODDFYIELD が必要になりますよ。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<h3 class="wp-block-heading"><span id="toc25">#NUM!エラーの原因と解決手順</span></h3>



<p class="wp-block-paragraph"><code>#NUM!</code> エラーは、引数の値が計算できない状態のときに発生します。発生条件は6つあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>#</th><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>1</td><td><code>issue ≥ settlement</code>（発行日が受渡日と同日または後）</td><td>発行日 < 受渡日 になるよう修正</td></tr><tr><td>2</td><td><code>settlement ≥ first_coupon</code>（受渡日が初回利払日と同日または後）</td><td>受渡日 < 初回利払日 になるよう修正</td></tr><tr><td>3</td><td><code>first_coupon ≥ maturity</code>（初回利払日が満期日と同日または後）</td><td>初回利払日 < 満期日 になるよう修正</td></tr><tr><td>4</td><td><code>rate < 0</code>（クーポン利率がマイナス）</td><td>0以上の値に変更（0は可）</td></tr><tr><td>5</td><td><code>pr ≤ 0</code>（価格が0以下）</td><td>正の価格を入力</td></tr><tr><td>6</td><td><code>basis</code> が 0〜4 以外、または <code>frequency</code> が 1/2/4 以外</td><td>有効な値に修正</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>実務でよく起きるミス3パターン：</strong></p>



<pre class="wp-block-code"><code>❌ パターン1: issue と settlement の順序ミス
  発行日が受渡日の後になっている → #NUM!

❌ パターン2: first_coupon が settlement 以前
  受渡日: 2024-06-01, 初回利払日: 2024-03-15（過去） → #NUM!

❌ パターン3: 第3引数（issue）と第4引数（first_coupon）の入れ替え
  引数の順序を誤って入力 → 日付順序が崩れ #NUM!</code></pre>



<p class="wp-block-paragraph">最も多い原因は「4つの日付の順序ミス」です。必ず <code>issue < settlement < first_coupon < maturity</code> を確認してください。</p>



<h3 class="wp-block-heading"><span id="toc26">#VALUE!エラーの原因と解決手順</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーは、引数のデータ型が不正なときに発生します。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>具体例</th><th>対処法</th></tr></thead><tbody><tr><td>日付引数が文字列</td><td><code>"2024/3/1"</code> をテキストで入力</td><td><code>DATE(2024,3,1)</code> に変更</td></tr><tr><td>利率が文字列</td><td><code>"5%"</code> をテキストで入力</td><td><code>0.05</code> に変更</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc27">日付入力ミスによるエラーの防止策</span></h3>



<p class="wp-block-paragraph">日付はすべて <code>DATE(年,月,日)</code> 関数で入力するのが最も安全です。セル参照でも問題ありません。ただし、セルの書式が「文字列」になっていると日付として認識されないので注意してください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<p class="wp-block-paragraph">ExcelのODDFYIELD関数は、最初の利払期間が端数の証券の利回りを求める財務関数です。</p>



<p class="wp-block-paragraph">新発社債や外国債券など、端数利払期間が生じる場面で活用できます。ペア関数の<a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>（価格を求める関数）と組み合わせると、価格と利回りの往復チェックで数値の整合性を確認できますよ。</p>



<p class="wp-block-paragraph"><strong>この記事のまとめ：</strong></p>



<ul class="wp-block-list"><li>引数は9つ（<code>basis</code> のみ省略可能）</li><li>日付の順序制約 <code>issue < settlement < first_coupon < maturity</code> が最重要</li><li><code>#NUM!</code> の原因は日付順序ミスが最も多い</li><li><a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>→ODDFYIELD の往復チェックで整合性を確認できる</li></ul>



<h3 class="wp-block-heading"><span id="toc29">関連関数リンク集</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>リンク</th><th>用途</th></tr></thead><tbody><tr><td>ODDFPRICE（ペア関数）</td><td><a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数の使い方</a></td><td>端数第1期間の証券の価格を求める</td></tr><tr><td>YIELD</td><td><a href="https://mashukabu.com/excel-yield-function/">YIELD関数の使い方</a></td><td>通常の固定利付債の利回りを求める</td></tr><tr><td>PRICE</td><td><a href="https://mashukabu.com/excel-price-function/">PRICE関数の使い方</a></td><td>通常の固定利付債の価格を求める</td></tr><tr><td>COUPNCD</td><td><a href="https://mashukabu.com/excel-coupncd-function/">COUPNCD関数の使い方</a></td><td>受渡日後の最初の利払日を求める</td></tr><tr><td>COUPPCD</td><td><a href="https://mashukabu.com/excel-couppcd-function/">COUPPCD関数の使い方</a></td><td>受渡日前の最後の利払日を求める</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Googleスプレッドシートで使う場合：</strong> Google スプレッドシートには ODDFYIELD 関数が存在しません（2026年5月時点）。<a href="https://mashukabu.com/spreadsheet-oddfyield-function/">スプレッドシートのODDFYIELD関数の使い方</a>で代替方法を確認してください。</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-oddfyield-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのYIELD関数の使い方｜定期利付債の利回り</title>
		<link>https://mashukabu.com/spreadsheet-yield-function/</link>
					<comments>https://mashukabu.com/spreadsheet-yield-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 14:38:18 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[YIELD関数]]></category>
		<category><![CDATA[債券利回り]]></category>
		<category><![CDATA[利付債]]></category>
		<category><![CDATA[経理・財務]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6171</guid>

					<description><![CDATA[GoogleスプレッドシートのYIELD関数を使えば、定期的に利息を支払う利付債について、現在の購入価格に対応する満期利回り（YTM）を計算できます。PRICE関数との逆算関係・YIELDDISC/YIELDMATとの使い分け・引数の意味・よくあるエラーまで、経理・財務担当者向けにわかりやすく解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この社債、額面100のところ98.5で買えるらしいけど、実際の利回りは何%になるの？」と聞かれてサッと答えられると、経理・財務や資産運用の現場でかなり頼りにされますよね。半年ごと・年1回など定期的に利息を受け取る利付債では、現在の購入価格から満期利回り（YTM）をスプレッドシートのYIELD関数で計算できますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのYIELD関数の使い方を、構文から実務の活用例・PRICE関数との逆算関係・よくあるエラーの対処まで同僚に教える感覚で解説します。YIELDDISC・YIELDMAT関数との使い分けもあわせて整理しているので、社債・国債の利回りチェックに活用してくださいね。</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">スプレッドシートのYIELD関数とは？</a></li><li><a href="#toc2" tabindex="0">YIELD関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">日数計算基準（basis）の設定値</a></li></ol></li><li><a href="#toc4" tabindex="0">YIELD関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">半年払い社債の利回りを求める</a></li><li><a href="#toc6" tabindex="0">年1回払い利付国債の利回りを求める</a></li><li><a href="#toc7" tabindex="0">価格と利回りの大小関係を確認する</a></li></ol></li><li><a href="#toc8" tabindex="0">PRICE関数との逆算関係</a></li><li><a href="#toc9" tabindex="0">YIELDDISC・YIELDMATとの使い分け</a><ol><li><a href="#toc10" tabindex="0">同じ条件での違いを確認する</a></li></ol></li><li><a href="#toc11" tabindex="0">満期利回り（YTM）と現行利回りの違い</a><ol><li><a href="#toc12" tabindex="0">具体例で違いを確認する</a></li></ol></li><li><a href="#toc13" tabindex="0">頻度・基準引数の選び方</a><ol><li><a href="#toc14" tabindex="0">頻度（frequency）の選び方</a></li><li><a href="#toc15" tabindex="0">日数計算基準（basis）の選び方</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#NUM!エラー</a></li><li><a href="#toc18" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc19" tabindex="0">#NAME?エラー</a></li></ol></li><li><a href="#toc20" tabindex="0">Excelとの互換性</a></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートのYIELD関数は、<strong>定期的に利息を支払う利付債について、現在の購入価格に対応する満期利回り（年率）を計算する財務関数</strong>です。</p>



<p class="wp-block-paragraph">「満期利回り」とは、債券を購入してから満期まで持ち続けたときに、受け取るクーポンと満期償還を含めて得られる実質的な年利回りのことです。英語ではYield to Maturity（YTM）と呼ばれ、債券投資で最も重要な指標のひとつですよ。</p>



<p class="wp-block-paragraph">YIELD関数は、<a href="https://mashukabu.com/spreadsheet-price-function/">PRICE関数</a>とちょうど逆の計算をします。PRICE関数が「希望利回り→理論価格」を求めるのに対し、YIELD関数は「現在価格→満期利回り」を求めます。同じ債券条件で2つの関数を組み合わせると、価格と利回りの双方向チェックができるようになりますよ。</p>



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



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



<pre class="wp-block-code"><code>=YIELD(受渡日, 満期日, 利率, 現在価格, 満期受取額, 頻度, [日数計算基準])</code></pre>



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>省略</th><th>説明</th></tr></thead><tbody><tr><td>受渡日（settlement）</td><td>必須</td><td>債券の購入日（支払い完了日）。DATE関数での指定を推奨</td></tr><tr><td>満期日（maturity）</td><td>必須</td><td>債券の満期日。受渡日より後の日付を指定する</td></tr><tr><td>利率（rate）</td><td>必須</td><td>債券の年利クーポン率（例: 0.03 = 年3%）</td></tr><tr><td>現在価格（price）</td><td>必須</td><td>額面100に対する現在の購入価格（例: 95.51）</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>1年の日数計算方式（下表参照、省略時は0）</td></tr></tbody></table></figure>



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



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



<p class="wp-block-paragraph">現在価格（price）と満期受取額（redemption）は、どちらも<strong>額面100を基準にした数値</strong>を入れる点に注意してください。実際の購入金額（985,100円など）ではなく、100分率に換算した値（98.51）を使うのが基本ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc5">半年払い社債の利回りを求める</span></h3>



<p class="wp-block-paragraph">額面100・年利3%・半年ごと利払い・期間5年の社債を、現在価格95.51で購入する場合の満期利回りを求めてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>項目</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>受渡日</td><td>2026/4/21</td></tr><tr><td>B3</td><td>満期日</td><td>2031/4/21</td></tr><tr><td>B4</td><td>利率（クーポン）</td><td>0.03</td></tr><tr><td>B5</td><td>現在価格</td><td>95.51</td></tr><tr><td>B6</td><td>満期受取額</td><td>100</td></tr><tr><td>B7</td><td>頻度（半年）</td><td>2</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">結果は <strong>約0.04（約4.0%）</strong> です。額面100の社債を95.51で買えば、満期まで持てば年利4%相当のリターンが得られるということですよ。割引分とクーポン受け取りの両方を含めた実質利回りが一発で出せます。</p>



<p class="wp-block-paragraph">直接日付を入れる場合はDATE関数を使います。</p>



<pre class="wp-block-code"><code>=YIELD(DATE(2026,4,21), DATE(2031,4,21), 0.03, 95.51, 100, 2, 1)</code></pre>



<h3 class="wp-block-heading"><span id="toc6">年1回払い利付国債の利回りを求める</span></h3>



<p class="wp-block-paragraph">額面100・年利1.2%・年1回利払い・期間10年の利付国債を、現在価格97.23で購入するケースを計算します。</p>



<pre class="wp-block-code"><code>=YIELD(DATE(2026,4,21), DATE(2036,4,21), 0.012, 97.23, 100, 1, 1)</code></pre>



<p class="wp-block-paragraph">結果は <strong>約0.015（約1.5%）</strong> です。低クーポン債でも、額面より安く買えればその分だけ利回りが上乗せされることが確認できますよ。利付国債の既発債を二次市場で買うときの実質利回りチェックに便利です。</p>



<h3 class="wp-block-heading"><span id="toc7">価格と利回りの大小関係を確認する</span></h3>



<p class="wp-block-paragraph">YIELD関数の結果は、現在価格と額面（100）の関係で次のように変わります。</p>



<figure class="wp-block-table"><table><thead><tr><th>価格の関係</th><th>利回りの傾向</th><th>例（利率3%・5年・半年払い・basis=1）</th></tr></thead><tbody><tr><td>現在価格 < 100（ディスカウント）</td><td>クーポン率より高い利回り</td><td>価格95.51 → 約4.00%</td></tr><tr><td>現在価格 = 100（額面取引）</td><td>クーポン率と同じ利回り</td><td>価格100.00 → 約3.00%</td></tr><tr><td>現在価格 > 100（プレミアム）</td><td>クーポン率より低い利回り</td><td>価格104.49 → 約2.00%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「額面より安く買えれば、クーポン利回り以上のリターンになる」という直感どおりの動きですよ。市場金利の変動で債券価格が動いたとき、自分が買う価格での実質利回りがいくつになるかをサクッと確認できます。</p>



<h2 class="wp-block-heading"><span id="toc8">PRICE関数との逆算関係</span></h2>



<p class="wp-block-paragraph">YIELD関数は<a href="https://mashukabu.com/spreadsheet-price-function/">PRICE関数</a>と対になる関数で、同じ債券の価格と利回りを双方向から計算できます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td>PRICE関数</td><td>希望利回り</td><td>理論価格</td></tr><tr><td>YIELD関数</td><td>現在価格</td><td>満期利回り</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">同じサンプル（5年・利率3%・半年払い・basis=1）で双方向から計算してみると、きれいに対応していることが確認できますよ。</p>



<pre class="wp-block-code"><code>=PRICE(DATE(2026,4,21), DATE(2031,4,21), 0.03, 0.04, 100, 2, 1)
→ 約95.51（利回り4%での理論価格）

=YIELD(DATE(2026,4,21), DATE(2031,4,21), 0.03, 95.51, 100, 2, 1)
→ 約0.04（価格95.51での満期利回り）</code></pre>



<p class="wp-block-paragraph">PRICE関数で計算した理論価格をYIELD関数に入れ直すと、元の希望利回りに戻ります。この性質を使えば、<strong>「市場価格から逆算した実質利回り」と「希望利回りから計算した理論価格」を比較して、買いか待ちかを判断する</strong>使い方もできますよ。</p>



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



<p class="wp-block-paragraph">債券の利回り計算系関数には、YIELDのほかに<strong>YIELDDISC関数</strong>と<strong>YIELDMAT関数</strong>があります。3つの違いは「対象とする債券のタイプ」で、PRICE系の3関数と完全に対応していますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>対象債券</th><th>利息の扱い</th><th>対応するPRICE系関数</th></tr></thead><tbody><tr><td>YIELD関数</td><td>定期利付債</td><td>期中にクーポン受取あり</td><td>PRICE関数</td></tr><tr><td>YIELDDISC関数</td><td>割引債（ゼロクーポン債）</td><td>期中の利息なし、満期に額面受取</td><td>PRICEDISC関数</td></tr><tr><td>YIELDMAT関数</td><td>満期利付債</td><td>利息は満期にまとめて受取</td><td>PRICEMAT関数</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>判断ポイントは「いつ・どのように利息を受け取る債券か」</strong>です。半年や年1回など定期的にクーポンを受け取る一般的な社債・利付国債ならYIELD関数、利息ゼロで割引発行された短期国債（TB）ならYIELDDISC関数、満期一括で利息を受け取るタイプならYIELDMAT関数を使いますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">同じ条件での違いを確認する</span></h3>



<p class="wp-block-paragraph">額面100・受渡日2026/4/21・満期日2027/4/21・価格97.00・basis=1の場合の比較です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>数式</th><th>結果の意味</th></tr></thead><tbody><tr><td>YIELD関数（年1回払い・利率2%）</td><td><code>=YIELD(DATE(2026,4,21),DATE(2027,4,21),0.02,97.00,100,1,1)</code></td><td>約5.15%（クーポン+差益）</td></tr><tr><td>YIELDDISC関数</td><td><code>=YIELDDISC(DATE(2026,4,21),DATE(2027,4,21),97.00,100,1)</code></td><td>約3.09%（差益のみ）</td></tr><tr><td>YIELDMAT関数（発行日同日・利率2%）</td><td><code>=YIELDMAT(DATE(2026,4,21),DATE(2027,4,21),DATE(2026,4,21),0.02,97.00,1)</code></td><td>約5.10%（満期一括利息+差益）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">期中でクーポンを受け取れるYIELD関数のほうが、同じ価格・利率条件でも利回りが高めになる傾向がありますよ。クーポンを再投資できる分だけ複利効果が乗るためです。</p>



<h2 class="wp-block-heading"><span id="toc11">満期利回り（YTM）と現行利回りの違い</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>クーポン利回り（表面利率）</td><td>額面 × 利率</td><td>クーポン支払いのみ（固定）</td></tr><tr><td>現行利回り</td><td>年間クーポン ÷ 現在価格</td><td>クーポン支払い ÷ 現在価格</td></tr><tr><td>満期利回り（YTM）</td><td>YIELD関数で計算</td><td>クーポン + 償還差益 + 再投資効果</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">YIELD関数が返すのは<strong>満期利回り（YTM）</strong>で、債券を満期まで持ち切ったときの実質的な年利回りです。クーポン収入だけでなく、購入価格と満期受取額の差（償還差益または差損）も含めた総合的な利回りが計算されますよ。</p>



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



<p class="wp-block-paragraph">額面100・利率3%・現在価格95.51・残存5年の社債で比較してみます。</p>



<figure class="wp-block-table"><table><thead><tr><th>指標</th><th>計算</th><th>結果</th></tr></thead><tbody><tr><td>クーポン利回り</td><td>3% ÷ 100</td><td>3.00%</td></tr><tr><td>現行利回り</td><td>3 ÷ 95.51</td><td>約3.14%</td></tr><tr><td>満期利回り（YIELD）</td><td><code>=YIELD(...)</code></td><td>約4.00%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">同じ債券でも指標によって利回りが1%近く違いますよね。<strong>投資判断で他の債券と比較するときは、償還差益まで含めた満期利回り（YTM）を使う</strong>のが基本ですよ。現行利回りだけで判断すると、償還差益・差損を見落として誤った比較をしてしまうことがあります。</p>



<h2 class="wp-block-heading"><span id="toc13">頻度・基準引数の選び方</span></h2>



<p class="wp-block-paragraph">YIELD関数の頻度（frequency）と日数計算基準（basis）は、対象債券の商品性に合わせて指定する必要があります。</p>



<h3 class="wp-block-heading"><span id="toc14">頻度（frequency）の選び方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>頻度</th><th>対応商品</th></tr></thead><tbody><tr><td>1（年1回）</td><td>日本の利付国債（多くの銘柄）、一部の社債</td></tr><tr><td>2（半年ごと）</td><td>米国債、多くの社債、新発10年国債（旧ルール銘柄）</td></tr><tr><td>4（四半期ごと）</td><td>一部の変動利付債、仕組み債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日本の個人向け国債や多くの円建て社債は年1回払いが多いですが、米国債や外債は半年払いが基本ですよ。目論見書や商品概要書で利払い頻度を必ず確認してから入力してください。</p>



<h3 class="wp-block-heading"><span id="toc15">日数計算基準（basis）の選び方</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>basis</th><th>推奨される用途</th></tr></thead><tbody><tr><td>0（30/360 NASD）</td><td>米国社債の標準。省略時のデフォルト</td></tr><tr><td>1（実際/実際）</td><td>国債など「経過日数を正確に数えたい」ケース。日本の国債で一般的</td></tr><tr><td>2（実際/360）</td><td>短期金融商品（CP、TBなど）</td></tr><tr><td>3（実際/365）</td><td>英国系の債券、日本の一部社債</td></tr><tr><td>4（30/360 欧州）</td><td>欧州債の標準</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日本国内の債券では<strong>basis=1（実際日数）を使うケースが多い</strong>です。発行条件書に日数計算方式の記載があるので、迷ったら公式資料で確認しましょう。basisが違うと利回りが0.01〜0.1%程度変わることがありますよ。</p>



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>受渡日 ≥ 満期日</td><td>受渡日が満期日より前になるよう修正する</td></tr><tr><td>利率が負の数</td><td>0以上の数値を指定する</td></tr><tr><td>現在価格が0以下</td><td>正の数値を指定する</td></tr><tr><td>満期受取額が0以下</td><td>正の数値を指定する（通常は100）</td></tr><tr><td>頻度が 1, 2, 4 以外</td><td>1（年1回）, 2（半年）, 4（四半期）のいずれかを指定する</td></tr><tr><td>basis が 0〜4 以外</td><td>0, 1, 2, 3, 4 のいずれかを指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">頻度（frequency）は <strong>1・2・4 の3択</strong> という制約があります。月1回（12）や年6回（6）といった指定はできませんよ。また、現在価格（price）は必ず正の数で指定してください。</p>



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



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



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



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



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



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



<p class="wp-block-paragraph">スプレッドシートでは引数名が日本語（「受渡日」「満期日」「利率」「現在価格」「満期受取額」「頻度」「日数計算基準」）で表示されます。Excelの英語表記（<code>settlement</code>、<code>maturity</code>、<code>rate</code>、<code>pr</code>、<code>redemption</code>、<code>frequency</code>、<code>basis</code>）と見た目は異なりますが、動作に影響はありません。</p>



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



<p class="wp-block-paragraph">スプレッドシートのYIELD関数は、定期的に利息を支払う利付債について、現在の購入価格に対応する満期利回り（YTM）を計算する財務関数です。ポイントをまとめておきます。</p>



<ul class="wp-block-list"><li>引数は<strong>受渡日・満期日・利率・現在価格・満期受取額・頻度</strong>の6つが必須。日数計算基準（basis）は省略可</li><li><strong>現在価格と満期受取額は額面100を基準</strong>にした数値を入れる。返ってくる利回りは小数（0.04 = 4%）</li><li><strong>頻度は 1, 2, 4 の3択</strong>。それ以外を指定すると #NUM! エラーになる</li><li>現在価格が額面より安ければ、満期利回りはクーポン率より高くなる</li><li><a href="https://mashukabu.com/spreadsheet-price-function/">PRICE関数</a>と逆算の関係。価格↔利回りの双方向チェックに使える</li><li>割引債なら <strong>YIELDDISC関数</strong>、満期利付債なら <strong>YIELDMAT関数</strong> を使い分ける</li><li>クーポン利回り・現行利回りではなく、<strong>満期利回り（YTM）で他の債券と比較する</strong>のが基本</li><li>日付には <strong>DATE関数を使う</strong>と文字列とのトラブルを防げる</li></ul>



<p class="wp-block-paragraph">社債や利付国債の実質利回りチェック、既発債の価格から利回りを逆算するシミュレーションにぜひ活用してみてください。財務関数の使い分けには、<a href="https://mashukabu.com/spreadsheet-price-function/">PRICE関数</a>・<a href="https://mashukabu.com/spreadsheet-pricedisc-function/">PRICEDISC関数</a>・<a href="https://mashukabu.com/spreadsheet-pricemat-function/">PRICEMAT関数</a>の記事もあわせて参考にしてみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-yield-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
