<?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/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】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-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の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-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の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のDURATION関数の使い方｜マコーレー・デュレーション</title>
		<link>https://mashukabu.com/excel-duration-function/</link>
					<comments>https://mashukabu.com/excel-duration-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:43:15 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[DURATION]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[リスク管理]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6582</guid>

					<description><![CDATA[ExcelのDURATION関数でマコーレー・デュレーションを計算する方法を、基本構文から実務での金利感応度予測まで詳しく解説。MDURATION関数との違い、よくあるエラー対処法、債券ポートフォリオ管理での活用例も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ExcelのDURATION関数は、債券のマコーレー・デュレーションを計算する財務関数です。マコーレー・デュレーションは、債券のキャッシュフロー（利息と元本）を現在価値で加重平均した期間を指します。簡単に言えば「投資資金の平均回収期間」を表すリスク指標です。</p>



<p class="wp-block-paragraph">単なる残存年数ではなく、金利が変動したときの価格変動を予測する指標として、運用や財務の現場で日常的に使われていますよ。</p>



<p class="wp-block-paragraph">ただ、業務で初めて触れる方からは「年単位で出るのに年数ではないってどういうこと？」という疑問をよく聞きます。MDURATION（修正デュレーション）との違いも分かりにくいですよね。この記事では構文と使い方の基本から、修正デュレーションとの違い、金利感応度の予測まで、実務で活用できる形で詳しく解説していきます。</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のDURATION関数とは？マコーレー・デュレーションの考え方</a></li><li><a href="#toc2" tabindex="0">DURATION関数の構文と引数</a></li><li><a href="#toc3" tabindex="0">DURATION関数の基本的な使い方</a><ol><li><a href="#toc4" tabindex="0">例: 5年・半年クーポン・利率5%・利回り4%</a></li><li><a href="#toc5" tabindex="0">日付はDATE関数で渡すのが安全</a></li><li><a href="#toc6" tabindex="0">ゼロクーポン債で残存年数と一致するか確認</a></li></ol></li><li><a href="#toc7" tabindex="0">マコーレー・デュレーションが「加重平均期間」である理由</a></li><li><a href="#toc8" tabindex="0">DURATIONとMDURATION（修正デュレーション）の違い</a><ol><li><a href="#toc9" tabindex="0">数式上の関係</a></li><li><a href="#toc10" tabindex="0">関数比較表</a></li><li><a href="#toc11" tabindex="0">使い分けの判断基準</a></li></ol></li><li><a href="#toc12" tabindex="0">金利感応度の予測（実務での主用途）</a><ol><li><a href="#toc13" tabindex="0">一次近似式</a></li><li><a href="#toc14" tabindex="0">実例: 0.5%の金利上昇で価格はいくら下がる？</a></li><li><a href="#toc15" tabindex="0">Excelで実装してみる</a></li><li><a href="#toc16" tabindex="0">凸性（コンベキシティ）の補足</a></li></ol></li><li><a href="#toc17" tabindex="0">DURATION関数のよくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">特に注意したいfrequencyの仕様</a></li><li><a href="#toc19" tabindex="0">日付フォーマットの罠</a></li></ol></li><li><a href="#toc20" tabindex="0">DURATION関数とあわせて使う関連関数</a><ol><li><a href="#toc21" tabindex="0">MDURATION関数(修正デュレーション)</a></li><li><a href="#toc22" tabindex="0">PRICE関数(債券価格の計算)</a></li><li><a href="#toc23" tabindex="0">YIELD関数(最終利回りの計算)</a></li><li><a href="#toc24" tabindex="0">XIRR関数(不規則キャッシュフローの内部収益率)</a></li><li><a href="#toc25" tabindex="0">PV関数(現在価値の計算)</a></li></ol></li><li><a href="#toc26" tabindex="0">イミュナイゼーション戦略でのデュレーション活用</a><ol><li><a href="#toc27" tabindex="0">仕組み</a></li><li><a href="#toc28" tabindex="0">簡単なシミュレーション例</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのDURATION関数とは？マコーレー・デュレーションの考え方</span></h2>



<p class="wp-block-paragraph">ExcelのDURATION関数は、<strong>マコーレー・デュレーション</strong>を計算する関数です。</p>



<p class="wp-block-paragraph">マコーレー・デュレーション（Macaulay Duration）は、1938年にアメリカの経済学者フレデリック・マコーレーが提唱した概念です。債券の各キャッシュフローを現在価値で重みづけして加重平均した期間を指します。単位は「年」ですが、これは単純な残存年数とは異なる意味を持ちますよ。</p>



<p class="wp-block-paragraph">たとえば残存5年のクーポン債の場合、満期前にも利息（クーポン）を受け取れますよね。途中で資金が戻ってくる分、実質的な回収期間は5年より短くなります。この「現金の重みで均した平均的な回収期間」がマコーレー・デュレーションです。</p>



<figure class="wp-block-table"><table><thead><tr><th>債券タイプ</th><th>マコーレー・デュレーション</th></tr></thead><tbody><tr><td>ゼロクーポン債（残存5年）</td><td>5.0年（残存年数と完全一致）</td></tr><tr><td>クーポン付き債券（残存5年）</td><td>5年より短い</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ゼロクーポン債は途中の利息支払いがなく、満期時に元本がまとめて戻るだけです。そのためデュレーション=残存年数と一致します。一方、クーポン債は途中で利息が入る分、加重平均期間は短くなりますよ。</p>



<p class="wp-block-paragraph">この値が大きいほど、金利変動による価格変動が大きくなります。つまりデュレーションは「<strong>金利リスクの大きさ</strong>」を測る指標としても機能するわけです。</p>



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



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



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



<p class="wp-block-paragraph">各引数の意味を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>settlement</td><td>必須</td><td>受渡日（債券を購入する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還される日）</td></tr><tr><td>coupon</td><td>必須</td><td>年利クーポンレート（5%なら0.05）</td></tr><tr><td>yld</td><td>必須</td><td>年間最終利回り（4%なら0.04）</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>



<p class="wp-block-paragraph">frequency引数は <strong>1、2、4 のいずれかのみ有効</strong>です。3や12を指定すると <code>#NUM!</code> エラーになるので注意してください。</p>



<p class="wp-block-paragraph">basis引数（日数計算基準）は次の5種類から選びます。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>日数計算基準</th><th>主な用途</th></tr></thead><tbody><tr><td>0（既定）</td><td>NASD 30/360</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>European 30/360</td><td>欧州社債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">日本国債のデュレーションを計算する場合は、basis=1（実日数/実日数）に近い計算を選ぶのが一般的ですよ。</p>



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



<p class="wp-block-paragraph">実際に5年債のデュレーションを計算してみましょう。</p>



<h3 class="wp-block-heading"><span id="toc4">例: 5年・半年クーポン・利率5%・利回り4%</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>2026/1/1</td></tr><tr><td>満期日</td><td>2031/1/1</td></tr><tr><td>クーポンレート</td><td>5%（年率）</td></tr><tr><td>最終利回り</td><td>4%（年率）</td></tr><tr><td>利払回数</td><td>半年に1回（frequency=2）</td></tr><tr><td>日数基準</td><td>NASD 30/360（basis=0）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は次のように書きます。</p>



<pre class="wp-block-code"><code>=DURATION(&quot;2026/1/1&quot;, &quot;2031/1/1&quot;, 0.05, 0.04, 2, 0)</code></pre>



<p class="wp-block-paragraph">結果は <strong>約 4.499 年</strong> になります。残存期間は5年ですが、半年ごとにクーポンを受け取る分だけ平均回収期間が短くなりました。</p>



<p class="wp-block-paragraph">クーポンレート（5%）が利回り（4%）より高いので、この債券は若干プレミアム（額面より高い価格）で取引される状態ですね。</p>



<h3 class="wp-block-heading"><span id="toc5">日付はDATE関数で渡すのが安全</span></h3>



<p class="wp-block-paragraph">文字列で日付を直接書いても動きますが、地域設定によって解釈が変わる場合があります。実務ではDATE関数（年月日から日付値を作る関数）を使うのが安全ですよ。</p>



<pre class="wp-block-code"><code>=DURATION(DATE(2026,1,1), DATE(2031,1,1), 0.05, 0.04, 2, 0)</code></pre>



<p class="wp-block-paragraph">セル参照で渡す場合も、対象セルが日付型として認識されているかを確認してください。</p>



<h3 class="wp-block-heading"><span id="toc6">ゼロクーポン債で残存年数と一致するか確認</span></h3>



<p class="wp-block-paragraph">ゼロクーポン債（クーポンレート=0%）でデュレーションを計算すると、残存年数と完全一致するはずです。実際に試してみましょう。</p>



<pre class="wp-block-code"><code>=DURATION(DATE(2026,1,1), DATE(2031,1,1), 0, 0.03, 1, 0)</code></pre>



<p class="wp-block-paragraph">結果は <strong>5.0 年</strong>。残存5年のゼロクーポン債のデュレーションは、定義通り残存年数と一致します。これは概念の確認に有用な計算ですので、覚えておいてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc7">マコーレー・デュレーションが「加重平均期間」である理由</span></h2>



<p class="wp-block-paragraph">ここで一度、マコーレー・デュレーションの計算式を見ておきましょう。</p>



<pre class="wp-block-code"><code>マコーレー・デュレーション = Σ(t × PVCF_t) / Σ(PVCF_t)</code></pre>



<ul class="wp-block-list"><li>t: 各キャッシュフローまでの期間（年）</li><li>PVCF_t: 期間tのキャッシュフローの現在価値</li><li>分母 Σ(PVCF_t) = 債券の理論価格</li></ul>



<p class="wp-block-paragraph">つまり各時点 t を、その時点のキャッシュフロー現在価値で重みづけして加重平均しているわけです。</p>



<p class="wp-block-paragraph">たとえば残存5年・クーポン4%・年1回・利回り4%の債券（額面100）で考えてみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>経過年t</th><th>キャッシュフロー</th><th>現在価値PVCF_t</th><th>t × PVCF_t</th></tr></thead><tbody><tr><td>1</td><td>4</td><td>3.85</td><td>3.85</td></tr><tr><td>2</td><td>4</td><td>3.70</td><td>7.40</td></tr><tr><td>3</td><td>4</td><td>3.56</td><td>10.67</td></tr><tr><td>4</td><td>4</td><td>3.42</td><td>13.68</td></tr><tr><td>5</td><td>104</td><td>85.48</td><td>427.40</td></tr><tr><td>合計</td><td>—</td><td>100.00</td><td>463.00</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">マコーレー・デュレーション = 463.00 / 100.00 = <strong>4.63 年</strong></p>



<p class="wp-block-paragraph">5年目のキャッシュフロー（元本+利息=104）が現在価値ベースで圧倒的に大きいため、加重平均がほぼ5年寄りに引っ張られます。途中のクーポン4ずつの貢献で4.63年に少しだけ短縮された、というイメージですね。</p>



<p class="wp-block-paragraph">この「キャッシュフローを現在価値で重みづけして時間を加重平均する」発想こそが、マコーレー・デュレーションの本質です。年単位で出るのは t（期間）の単位が年だからで、決して「年数」を意味しているわけではないんですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">DURATIONとMDURATION（修正デュレーション）の違い</span></h2>



<p class="wp-block-paragraph">DURATIONを業務で扱う方が必ずぶつかる疑問が、「MDURATION（修正デュレーション）と何が違うのか？」です。</p>



<h3 class="wp-block-heading"><span id="toc9">数式上の関係</span></h3>



<p class="wp-block-paragraph">両者の関係はとてもシンプルです。</p>



<pre class="wp-block-code"><code>MDuration = Macaulay Duration / (1 + y/n)</code></pre>



<ul class="wp-block-list"><li>y: 年間最終利回り</li><li>n: 年間利払回数（frequency）</li></ul>



<p class="wp-block-paragraph">つまり修正デュレーションは、マコーレー・デュレーションを「(1 + y/n)」で割った値です。マコーレー・デュレーションより必ず小さくなりますよ。</p>



<p class="wp-block-paragraph">先ほどの5年債の例で確認しましょう。</p>



<pre class="wp-block-code"><code>=MDURATION(DATE(2026,1,1), DATE(2031,1,1), 0.05, 0.04, 2, 0)</code></pre>



<p class="wp-block-paragraph">結果は <strong>約 4.411 年</strong>。マコーレー（4.499）÷(1 + 0.04/2) = 4.499 / 1.02 ≈ 4.411 となり、関係式通りの結果が得られています。</p>



<h3 class="wp-block-heading"><span id="toc10">関数比較表</span></h3>



<p class="wp-block-paragraph">両関数の使い分けを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DURATION（マコーレー）</th><th>MDURATION（修正）</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>MDurationより必ず大きい</td><td>Macaulayより必ず小さい</td></tr><tr><td>実務での使用頻度</td><td>教科書・概念理解で頻用</td><td>日常の業務で頻用</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc11">使い分けの判断基準</span></h3>



<ul class="wp-block-list"><li><strong>概念や教科書的な議論</strong>ではマコーレー・デュレーションを使う</li><li><strong>価格変動を予測する実務計算</strong>ではMDURATION（修正デュレーション）を使う</li></ul>



<p class="wp-block-paragraph">詳しい使い方は<a href="https://mashukabu.com/excel-mduration-function/">ExcelのMDURATION関数の使い方</a>も参考にしてみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc12">金利感応度の予測（実務での主用途）</span></h2>



<p class="wp-block-paragraph">DURATION関数の最も実務的な使い道は、<strong>金利が動いたときの債券価格の変動を予測すること</strong>です。</p>



<h3 class="wp-block-heading"><span id="toc13">一次近似式</span></h3>



<p class="wp-block-paragraph">修正デュレーションを使った価格変動の近似式は次の通りです。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −MDuration × Δy</code></pre>



<ul class="wp-block-list"><li>ΔP/P: 価格の変動率</li><li>Δy: 利回りの変化（小数表記。1%なら0.01）</li></ul>



<p class="wp-block-paragraph">利回りが上がると価格は下がるので、マイナス符号が付いていますね。</p>



<h3 class="wp-block-heading"><span id="toc14">実例: 0.5%の金利上昇で価格はいくら下がる？</span></h3>



<p class="wp-block-paragraph">先ほどの5年債（MDuration=4.411）で、利回りが 4% から 4.5% に上昇した場合を考えましょう。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −4.411 × 0.005 = −0.02206 = −2.21%</code></pre>



<p class="wp-block-paragraph">つまり価格は <strong>約 2.21% 下落</strong>する見込みになります。100万円分保有していれば約2.2万円の評価損ですね。</p>



<h3 class="wp-block-heading"><span id="toc15">Excelで実装してみる</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>A1</td><td>受渡日</td><td>2026/1/1</td></tr><tr><td>A2</td><td>満期日</td><td>2031/1/1</td></tr><tr><td>A3</td><td>クーポン</td><td>0.05</td></tr><tr><td>A4</td><td>利回り</td><td>0.04</td></tr><tr><td>A5</td><td>利払回数</td><td>2</td></tr><tr><td>A6</td><td>利回り変化Δy</td><td>0.005</td></tr><tr><td>A7</td><td>=MDURATION(A1,A2,A3,A4,A5,0)</td><td>4.411</td></tr><tr><td>A8</td><td>=-A7*A6</td><td>-0.0221（-2.21%）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">現実のポートフォリオでは数千銘柄を保有することもあります。各銘柄のMDURATIONを計算してエクスポージャー（保有額×MDuration）を集計すれば、ポートフォリオ全体の金利感応度を一目で把握できますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">凸性（コンベキシティ）の補足</span></h3>



<p class="wp-block-paragraph">このΔP/P ≈ −MDuration × Δy はあくまで<strong>一次近似</strong>です。利回りが大きく動く局面（1%以上の金利変動など）では、実際の価格曲線とのズレが目立ってきます。</p>



<p class="wp-block-paragraph">より正確に予測したい場合は、二次の項である<strong>凸性（Convexity）</strong>を加えます。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −MDuration × Δy + (1/2) × Convexity × (Δy)²</code></pre>



<p class="wp-block-paragraph">Excelには凸性専用の関数はありませんが、SUMPRODUCTで自前実装することは可能です。CFA試験などで頻出のテーマですね。</p>



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



<p class="wp-block-paragraph">DURATION関数でつまずきやすいエラーを表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>日付として認識されない文字列を渡した</td><td>DATE関数または日付型セル参照を使う</td></tr><tr><td>#NUM!</td><td>settlement >= maturity（受渡日が満期日以降）</td><td>日付の前後関係を確認</td></tr><tr><td>#NUM!</td><td>coupon < 0 または yld < 0</td><td>利率を 0% 以上に修正</td></tr><tr><td>#NUM!</td><td>frequency が 1, 2, 4 以外</td><td>年1回・半年・四半期のいずれかに修正</td></tr><tr><td>#NUM!</td><td>basis が 0〜4 の範囲外</td><td>日数基準を 0〜4 で指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">特に注意したいfrequencyの仕様</span></h3>



<p class="wp-block-paragraph">frequency引数は <strong>1（年1回）、2（半年）、4（四半期）のみ有効</strong>です。月次クーポン（12）や年3回（3）の債券は計算できません。</p>



<p class="wp-block-paragraph">たとえば次の数式は #NUM! エラーになります。</p>



<pre class="wp-block-code"><code>=DURATION(&quot;2026/1/1&quot;, &quot;2031/1/1&quot;, 0.05, 0.04, 12, 0)  ← 月次は不可</code></pre>



<p class="wp-block-paragraph">月次キャッシュフローを扱いたい場合の対処は2通りです。SUMPRODUCTで自前計算するか、不規則な現金流入を扱える<a href="https://mashukabu.com/excel-xirr-function/">XIRR関数</a>を組み合わせる流れになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">日付フォーマットの罠</span></h3>



<p class="wp-block-paragraph"><code>"2026/1/1"</code> のような文字列リテラルは、地域設定によっては解釈が変わる場合があります。実務では DATE関数 またはセル参照（日付型として認識されているセル）を使うのが鉄則です。</p>



<h2 class="wp-block-heading"><span id="toc20">DURATION関数とあわせて使う関連関数</span></h2>



<p class="wp-block-paragraph">DURATION関数は、債券分析の関数群と組み合わせて使うのが基本です。よく一緒に使う関数を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc21">MDURATION関数(修正デュレーション)</span></h3>



<p class="wp-block-paragraph">価格変動の一次近似に使う、実務で最も使用頻度の高い関数です。引数構造はDURATIONと完全に同じなので、両方を並べて使えます。詳細は<a href="https://mashukabu.com/excel-mduration-function/">MDURATION関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc22">PRICE関数(債券価格の計算)</span></h3>



<p class="wp-block-paragraph">利回りから債券価格（クリーンプライス）を計算する関数です。デュレーションで予測した価格変動の検証にも使えますよ。詳細は<a href="https://mashukabu.com/excel-price-function/">PRICE関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc23">YIELD関数(最終利回りの計算)</span></h3>



<p class="wp-block-paragraph">債券価格から最終利回りを逆算する関数です。市場価格を入力してYIELDで利回りを求め、それをDURATIONの yld引数に渡す流れがよくあります。詳細は<a href="https://mashukabu.com/excel-yield-function/">YIELD関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc24">XIRR関数(不規則キャッシュフローの内部収益率)</span></h3>



<p class="wp-block-paragraph">DURATION関数は定期キャッシュフロー（年1・半年・四半期）専用です。月次や不規則な支払いは扱えません。XIRR関数で内部収益率を計算してから、別途デュレーションをSUMPRODUCTで実装する流れになりますよ。詳細は<a href="https://mashukabu.com/excel-xirr-function/">XIRR関数の使い方</a>を参照してください。</p>



<h3 class="wp-block-heading"><span id="toc25">PV関数(現在価値の計算)</span></h3>



<p class="wp-block-paragraph">マコーレー・デュレーションの計算式の核は「キャッシュフローの現在価値」です。デュレーションを手計算で検証する際にPV関数が役立ちます。詳細は<a href="https://mashukabu.com/excel-function-howto-use-pv/">PV関数の使い方</a>を参照してください。</p>



<h2 class="wp-block-heading"><span id="toc26">イミュナイゼーション戦略でのデュレーション活用</span></h2>



<p class="wp-block-paragraph">最後に、デュレーションが実務で果たす最も重要な役割の一つ、<strong>イミュナイゼーション戦略</strong>を紹介します。</p>



<p class="wp-block-paragraph">イミュナイゼーション（immunization）とは、金利変動の影響を受けないように資産と負債を構築する戦略です。具体的には、保有資産と将来の支払い負債のデュレーションを一致させますよ。</p>



<h3 class="wp-block-heading"><span id="toc27">仕組み</span></h3>



<ul class="wp-block-list"><li>金利が上がる → 債券価格は下がる（含み損が発生）</li><li>金利が上がる → 再投資収益は上がる（クーポン再投資の利回り改善）</li></ul>



<p class="wp-block-paragraph">この2つの効果は逆方向に働きますよね。資産デュレーションを負債デュレーションと等しくしておくと、両者がぴったり打ち消しあって金利変動の損益がほぼゼロになります。</p>



<p class="wp-block-paragraph">生命保険会社や年金基金が「ALM（Asset-Liability Management、資産負債管理）」と呼ぶ手法の核心がこれです。Excelでは保有債券一覧のMDURATIONを計算し、保有金額をウェイトとした加重平均を取ります。それを目標負債のデュレーションと比較する作業が日常的に行われていますよ。</p>



<h3 class="wp-block-heading"><span id="toc28">簡単なシミュレーション例</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>資産</th><th>保有額</th><th>MDuration</th><th>エクスポージャー（額×MDur）</th></tr></thead><tbody><tr><td>5年国債</td><td>1,000万円</td><td>4.5</td><td>4,500万円・年</td></tr><tr><td>10年国債</td><td>500万円</td><td>8.5</td><td>4,250万円・年</td></tr><tr><td>30年国債</td><td>200万円</td><td>18.0</td><td>3,600万円・年</td></tr><tr><td>合計</td><td>1,700万円</td><td>平均 7.27年</td><td>12,350万円・年</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ポートフォリオ加重平均MDuration = 12,350 / 1,700 = <strong>7.27年</strong></p>



<p class="wp-block-paragraph">負債デュレーションが7.0年なら、もう少し短い債券を増やしてマッチングさせる、という判断ができます。</p>



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



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



<ul class="wp-block-list"><li>DURATION関数はマコーレー・デュレーション（債券キャッシュフローの加重平均期間）を計算する</li><li>単位は年だが、単純な残存年数ではなく「現在価値で重みづけされた平均回収期間」</li><li>ゼロクーポン債のデュレーション=残存年数（クーポンがあれば残存年数より短い）</li><li>構文は <code>=DURATION(settlement, maturity, coupon, yld, frequency, [basis])</code></li><li>frequency は 1、2、4 のいずれかのみ有効（月次は不可）</li><li>修正デュレーション（MDURATION）= マコーレー / (1 + y/n)</li><li>価格変動の予測は MDURATION を使い、<code>ΔP/P ≈ −MDuration × Δy</code> で近似</li><li>凸性（Convexity）まで含めると二次近似で精度が上がる</li><li>イミュナイゼーション戦略では資産と負債のデュレーションを一致させる</li></ul>



<p class="wp-block-paragraph">債券投資・ALM・金利リスク管理の現場で、DURATION関数とMDURATION関数はセットで使う基本ツールです。両者の関係と使い分けを押さえておけば、業務でも試験でも安心して取り組めますよ。</p>



<p class="wp-block-paragraph">関連する財務関数として、<a href="https://mashukabu.com/excel-mduration-function/">MDURATION関数</a>、<a href="https://mashukabu.com/excel-price-function/">PRICE関数</a>、<a href="https://mashukabu.com/excel-yield-function/">YIELD関数</a>、<a href="https://mashukabu.com/excel-xirr-function/">XIRR関数</a>、<a href="https://mashukabu.com/excel-function-howto-use-pv/">PV関数</a>もあわせて確認してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-duration-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのPRICE関数の使い方｜国債・社債の理論価格を1関数で算出</title>
		<link>https://mashukabu.com/excel-price-function/</link>
					<comments>https://mashukabu.com/excel-price-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:43:01 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[PRICE]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[国債]]></category>
		<category><![CDATA[社債]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6572</guid>

					<description><![CDATA[ExcelのPRICE関数で定期利払い債券の理論価格を計算する方法を解説。7つの引数の使い方、クリーン価格とダーティ価格の違い、半年利払いの実例、YIELD・DURATION関数との関係を実務目線で整理します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">債券投資や資産運用の現場で「この利回りなら今いくらで買うのが妥当か」を即座に出したい場面はよくありますよね。手計算で各キャッシュフローを現在価値に割り引いて足し合わせるのは時間がかかりますし、入力ミスのリスクもあります。</p>



<p class="wp-block-paragraph">ExcelのPRICE関数（プライス関数）を使えば、定期的に利息（クーポン）を支払う債券の理論価格を<strong>1つの数式で</strong>算出できます。引数は7つですが、設定を覚えてしまえば国債・社債の評価まで幅広く対応できますよ。</p>



<p class="wp-block-paragraph">この記事では、PRICE関数の構文と引数の意味、半年利払い社債の実例、クリーン価格とダーティ価格の違いを解説します。あわせてYIELD・DURATION・MDURATION関数との関係も実務目線で整理しますね。</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のPRICE関数とは？</a></li><li><a href="#toc2" tabindex="0">PRICE関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">各引数の詳細</a></li></ol></li><li><a href="#toc4" tabindex="0">基本的な使い方｜半年利払い社債の価格を計算する</a><ol><li><a href="#toc5" tabindex="0">額面換算の仕方</a></li><li><a href="#toc6" tabindex="0">パー価格の確認</a></li><li><a href="#toc7" tabindex="0">内部計算式（理解を深めたい人向け）</a></li></ol></li><li><a href="#toc8" tabindex="0">クリーン価格とダーティ価格の違い｜経過利子の扱い</a><ol><li><a href="#toc9" tabindex="0">クリーン価格 vs ダーティ価格</a></li><li><a href="#toc10" tabindex="0">経過利子の計算</a></li><li><a href="#toc11" tabindex="0">ACCRINT関数で自動計算する</a></li></ol></li><li><a href="#toc12" tabindex="0">実務での活用例3パターン｜国債・社債・既発債の中途売買</a><ol><li><a href="#toc13" tabindex="0">パターン1: 日本国債の落札利回りから参考価格を計算</a></li><li><a href="#toc14" tabindex="0">パターン2: 米国社債の購入判断</a></li><li><a href="#toc15" tabindex="0">パターン3: 利回り感応度シミュレーション（投資判断）</a></li></ol></li><li><a href="#toc16" tabindex="0">PRICE × YIELD × DURATION × MDURATIONの関係</a><ol><li><a href="#toc17" tabindex="0">4関数の役割マップ</a></li><li><a href="#toc18" tabindex="0">PRICE↔YIELDの双方向検算</a></li><li><a href="#toc19" tabindex="0">DURATION/MDURATIONによる価格感応度の確認</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">#NUM! エラー</a></li><li><a href="#toc23" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc24" tabindex="0">#NAME? エラー</a></li><li><a href="#toc25" tabindex="0">結果がおかしい（理論価格と乖離する）</a></li></ol></li><li><a href="#toc26" tabindex="0">まとめ｜PRICE関数で債券評価の入り口を押さえる</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのPRICE関数は、<strong>定期的に利息を支払う証券（債券）の額面100あたりの価格</strong>を計算する財務関数です。読み方は「プライス」で、日本語では「定期利付債券の現在価格」を返す関数と言えます。</p>



<p class="wp-block-paragraph">利回り（YTM、年利回り）を入力すると、その利回りに見合った理論価格が返ってきます。たとえば「残存5年・年クーポン4%・利回り3.5%・半年利払い」の社債なら、額面100あたり<strong>102.275</strong>が即座に得られますよ。</p>



<p class="wp-block-paragraph">PRICE関数の特徴は次の3つです。</p>



<ul class="wp-block-list"><li>利回り（yld）から価格を逆算するため、入札・売買の意思決定で使いやすい</li><li>戻り値は<strong>額面100あたりの価格（クリーン価格）</strong>で、経過利子は含まない</li><li>半年利払い・年1利払い・四半期利払いに対応（frequency引数で指定）</li></ul>



<p class="wp-block-paragraph">財務分野でPRICE関数を使えるようになると、DURATION関数（マコーレー・デュレーション）やMDURATION関数（修正デュレーション）と組み合わせて、価格と利回りの感応度分析も自然に進められるようになりますよ。</p>



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



<p class="wp-block-paragraph">PRICE関数の構文は次の通りです。引数は7つで、最後のbasisだけ省略可能です。</p>



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



<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>settlement</td><td>必須</td><td>受渡日（決済日）</td><td><code>DATE(2026,5,6)</code></td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還日）</td><td><code>DATE(2031,5,6)</code></td></tr><tr><td>rate</td><td>必須</td><td>年クーポン率</td><td><code>4%</code> または <code>0.04</code></td></tr><tr><td>yld</td><td>必須</td><td>年利回り（YTM）</td><td><code>3.5%</code> または <code>0.035</code></td></tr><tr><td>redemption</td><td>必須</td><td>額面100あたりの償還価額</td><td>通常は <code>100</code></td></tr><tr><td>frequency</td><td>必須</td><td>年間利払い回数</td><td><code>1</code>/<code>2</code>/<code>4</code> のみ</td></tr><tr><td>basis</td><td>任意</td><td>日数計算基準</td><td><code>0</code>〜<code>4</code>（既定は0）</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph"><strong>settlement（決済日）とmaturity（満期日）</strong></p>



<p class="wp-block-paragraph">settlementは「実際に代金を払って受渡しをする日」です。約定日と混同しがちですが、約定日ではなく決済日を入れます。maturityは「元本が償還される最終日」で、settlementより後ろの日付でなければエラーになります。</p>



<p class="wp-block-paragraph">日付は必ず<code>DATE</code>関数で生成するのが安全です。文字列で <code>"2031/5/6"</code> と直接渡してもふつうは動きます。ただしロケール（地域設定）依存で危険なので避けましょう。</p>



<p class="wp-block-paragraph"><strong>rate（クーポン率）とyld（利回り）</strong></p>



<p class="wp-block-paragraph">rateは年利クーポン率、yldは年利回り（YTM、最終利回り）です。どちらも年率で入力します。半年利払いだからといって半分にする必要はありませんよ。</p>



<p class="wp-block-paragraph">rateとyldは%表記でも小数表記でも構いません。マイナス値を入れると#NUM!エラーになります。</p>



<p class="wp-block-paragraph"><strong>redemption（償還価額）</strong></p>



<p class="wp-block-paragraph">額面100あたりの償還価額です。通常はパー償還で <code>100</code> を入れます。額面割れで償還されるケース（コーラブル債等）は別の関数を使うことが多いので、PRICEでは100を基本にしてください。</p>



<p class="wp-block-paragraph"><strong>frequency（利払頻度）</strong></p>



<p class="wp-block-paragraph">年間の利払い回数で、<strong>1（年1回）／2（半年に1回）／4（四半期に1回）</strong>の3択のみです。月次(12)や日次を入れると#NUM!エラーになりますので注意してください。</p>



<p class="wp-block-paragraph"><strong>basis（日数計算基準）</strong></p>



<p class="wp-block-paragraph">クーポン期間の日数の数え方を指定します。省略すると0（30/360方式）が使われます。詳しくは次の表で整理します。</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（米国NASD方式）</td><td>米国社債、簡易計算</td></tr><tr><td>1</td><td>実日数/実日数（Actual/Actual）</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">実務では「米国債=1、米国社債=0、ユーロ債=4」を覚えておくと迷いません。日本国債は実日数ベースの慣行ですが、Excel上の簡易計算では<code>0</code>や<code>3</code>を使うケースが多いですよ。</p>



<h2 class="wp-block-heading"><span id="toc4">基本的な使い方｜半年利払い社債の価格を計算する</span></h2>



<p class="wp-block-paragraph">実際にPRICE関数を使ってみましょう。次のような米国社債タイプの債券を想定します。</p>



<ul class="wp-block-list"><li>決済日: 2026年5月6日</li><li>満期日: 2031年5月6日（残存5年）</li><li>クーポン率: 4%（年率）</li><li>利回り（YTM）: 3.5%（年率）</li><li>償還価額: 100（パー償還）</li><li>利払頻度: 半年に1回（frequency=2）</li><li>日数計算基準: 30/360（basis=0）</li></ul>



<p class="wp-block-paragraph">セルへの入力例は次のようになります。</p>



<pre class="wp-block-code"><code>=PRICE(DATE(2026,5,6), DATE(2031,5,6), 4%, 3.5%, 100, 2, 0)</code></pre>



<p class="wp-block-paragraph">結果は <strong>102.275</strong>（額面100あたり）が返ります。クーポン4%が利回り3.5%を上回っているため、額面より高いプレミアム価格になっていますね。</p>



<h3 class="wp-block-heading"><span id="toc5">額面換算の仕方</span></h3>



<p class="wp-block-paragraph">PRICEの戻り値は「100あたり」の数値です。実際の取引額面が違う場合は、額面金額を100で割って掛け算します。</p>



<p class="wp-block-paragraph">たとえば額面1,000,000円の社債であれば、クリーン価格は次のように計算します。</p>



<pre class="wp-block-code"><code>取引価格 = PRICE結果 × 額面 / 100
        = 102.275 × 1,000,000 / 100
        = 1,022,750円</code></pre>



<h3 class="wp-block-heading"><span id="toc6">パー価格の確認</span></h3>



<p class="wp-block-paragraph">「クーポン率＝利回り」のときはパー価格（100ぴったり）になります。同じ5年社債で利回りも4%にして検算してみましょう。</p>



<pre class="wp-block-code"><code>=PRICE(DATE(2026,5,6), DATE(2031,5,6), 4%, 4%, 100, 2, 0)
→ 100.000</code></pre>



<p class="wp-block-paragraph">きれいに100が返ってきますね。これは「投資家が要求する利回り＝発行体が支払うクーポン率」のときに価格は額面と一致するという債券の基本原則を表しています。PRICE関数がこの原則を忠実に再現していることが確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">内部計算式（理解を深めたい人向け）</span></h3>



<p class="wp-block-paragraph">クーポン期日に一致する受渡日（端数日数なし）の場合、PRICEの計算は次の式と一致します。</p>



<pre class="wp-block-code"><code>PRICE = Σ(k=1→n) [(rate × 100 / freq) / (1 + yld/freq)^k]
      + redemption / (1 + yld/freq)^n</code></pre>



<p class="wp-block-paragraph">ケース1の数値で確認すると、半年クーポン2.0が10回（5年×2）と償還100の現在価値合計が102.275となり、PRICE関数の戻り値と一致します。手計算と関数の整合が取れていれば、安心して実務で使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc8">クリーン価格とダーティ価格の違い｜経過利子の扱い</span></h2>



<p class="wp-block-paragraph">PRICE関数を使う上で必ず押さえたいのが「クリーン価格」と「ダーティ価格」の違いです。</p>



<h3 class="wp-block-heading"><span id="toc9">クリーン価格 vs ダーティ価格</span></h3>



<ul class="wp-block-list"><li><strong>クリーン価格</strong>: 経過利子（Accrued Interest、前回利払日から受渡日までに発生した利息）を<strong>含まない</strong>価格</li><li><strong>ダーティ価格</strong>: クリーン価格 + 経過利子（実際の取引で支払う総額）</li></ul>



<p class="wp-block-paragraph">PRICE関数が返すのはクリーン価格です。市場での実際の取引代金は「ダーティ価格」になるため、両者の違いを理解していないと実務で必ず混乱します。</p>



<h3 class="wp-block-heading"><span id="toc10">経過利子の計算</span></h3>



<p class="wp-block-paragraph">経過利子は次の式で計算できます。</p>



<pre class="wp-block-code"><code>経過利子（額面100ベース） = 100 × rate × (経過日数 / 年日数)</code></pre>



<p class="wp-block-paragraph">たとえば、額面100・クーポン4%・前回利払日から3ヶ月経過したケースでは次のとおりです。</p>



<pre class="wp-block-code"><code>経過利子 = 100 × 4% × (3 / 12) = 1.0</code></pre>



<h3 class="wp-block-heading"><span id="toc11">ACCRINT関数で自動計算する</span></h3>



<p class="wp-block-paragraph">経過利子は手計算でも出せますが、ExcelのACCRINT関数を使えば自動で算出できます。構文は次の通りです。</p>



<pre class="wp-block-code"><code>=ACCRINT(発行日, 直前利払日, 受渡日, rate, par, frequency, [basis])</code></pre>



<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>クリーン価格（100あたり）</td><td>C2</td><td><code>=PRICE(...)</code></td><td>102.275</td></tr><tr><td>経過利子（100あたり）</td><td>C3</td><td><code>=ACCRINT(...)</code></td><td>1.000</td></tr><tr><td>ダーティ価格（100あたり）</td><td>C4</td><td><code>=C2+C3</code></td><td>103.275</td></tr><tr><td>取引価格（額面1,000,000）</td><td>C5</td><td><code>=C4*1000000/100</code></td><td>1,032,750</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">PRICE単体では実取引価格になりません。ここを誤解すると、社内説明や決済額の計算でズレが出るので注意しましょう。</p>



<h2 class="wp-block-heading"><span id="toc12">実務での活用例3パターン｜国債・社債・既発債の中途売買</span></h2>



<p class="wp-block-paragraph">PRICE関数の活用シーンを3つ紹介します。どれも筆者が実務で見かける典型例です。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン1: 日本国債の落札利回りから参考価格を計算</span></h3>



<p class="wp-block-paragraph">入札で5年国債（クーポン1.5%）を落札利回り1.0%で取得した場合、参考価格をPRICEで試算します。</p>



<pre class="wp-block-code"><code>=PRICE(DATE(2026,5,6), DATE(2031,5,6), 1.5%, 1.0%, 100, 2, 0)
→ 102.433</code></pre>



<p class="wp-block-paragraph">クーポン1.5%が利回り1.0%を上回っているため、額面100あたり102.43のプレミアム価格になります。額面1億円なら取得参考価格は約1億243万円です。</p>



<h3 class="wp-block-heading"><span id="toc14">パターン2: 米国社債の購入判断</span></h3>



<p class="wp-block-paragraph">10年米国社債（クーポン5%）を市場利回り6%で買付するケースです。</p>



<pre class="wp-block-code"><code>=PRICE(DATE(2026,5,6), DATE(2036,5,6), 5%, 6%, 100, 2, 0)
→ 92.561</code></pre>



<p class="wp-block-paragraph">利回りがクーポンを上回っているため、価格は92.56のディスカウント水準になります。「金利が上がると価格が下がる」という債券の基本原則がPRICEの数値で確認できますね。</p>



<h3 class="wp-block-heading"><span id="toc15">パターン3: 利回り感応度シミュレーション（投資判断）</span></h3>



<p class="wp-block-paragraph">同じ債券でYTMを変化させ、価格がどう動くかを表化すると投資判断に役立ちます。5年・4%クーポン・半年利払いのケースで作成すると次のようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>利回り(YTM)</th><th>PRICE関数結果</th><th>パー(100)からの乖離</th></tr></thead><tbody><tr><td>3.0%</td><td>104.611</td><td>+4.61%</td></tr><tr><td>3.5%</td><td>102.275</td><td>+2.28%</td></tr><tr><td>4.0%</td><td>100.000</td><td>0.00%</td></tr><tr><td>4.5%</td><td>97.783</td><td>-2.22%</td></tr><tr><td>5.0%</td><td>95.624</td><td>-4.38%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">利回り0.5%の上昇で価格は約-2.22%動きます。この「利回り変化に対する価格変化」がまさに修正デュレーション（MDuration）が示す感応度です。詳しい解説はシリーズ記事の<a href="https://mashukabu.com/excel-mduration-function/">ExcelのMDURATION関数の使い方</a>を参照してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc16">PRICE × YIELD × DURATION × MDURATIONの関係</span></h2>



<p class="wp-block-paragraph">債券評価の財務関数は単独で使うより、組み合わせると威力を発揮します。4つの関数の関係を整理しましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">4関数の役割マップ</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th><th>使う場面</th></tr></thead><tbody><tr><td><strong>PRICE</strong></td><td>利回り</td><td>価格</td><td>利回りから理論価格を出す</td></tr><tr><td><strong>YIELD</strong></td><td>価格</td><td>利回り</td><td>取引価格から利回りを逆算</td></tr><tr><td><strong>DURATION</strong></td><td>利回り</td><td>マコーレー年限</td><td>キャッシュフローの加重平均年限</td></tr><tr><td><strong>MDURATION</strong></td><td>利回り</td><td>修正デュレーション</td><td>利回り変化に対する価格感応度</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">PRICE↔YIELDの双方向検算</span></h3>



<p class="wp-block-paragraph">PRICE と YIELD は互いに逆関数の関係にあります。検算してみましょう。</p>



<p class="wp-block-paragraph">ケース1の債券（5年・4%・半年・パー償還）で利回り3.5%を入れたPRICE結果は102.275でした。今度は逆に、価格102.275から利回りを逆算します。</p>



<pre class="wp-block-code"><code>=YIELD(DATE(2026,5,6), DATE(2031,5,6), 4%, 102.275, 100, 2, 0)
→ 0.035（=3.5%）</code></pre>



<p class="wp-block-paragraph">入力した利回りと一致しますね。これでPRICEとYIELDの計算ロジックが整合していることを自分の手で確認できます。</p>



<h3 class="wp-block-heading"><span id="toc19">DURATION/MDURATIONによる価格感応度の確認</span></h3>



<p class="wp-block-paragraph">5年・4%・パー価格(YTM=4%)の債券で、利回りを0.5%上昇させたときの価格変化を見ます。</p>



<ul class="wp-block-list"><li>PRICE関数: 100.000 → 97.783（変化率 <strong>-2.22%</strong>）</li><li>MDURATIONによる一次近似: -MDuration × Δy = -4.411 × 0.5% = <strong>-2.21%</strong></li></ul>



<p class="wp-block-paragraph">ほぼ一致しますね。差の0.01%は二次以降の項（コンベクシティ）によるものです。詳しい話は<a href="https://mashukabu.com/excel-mduration-function/">ExcelのMDURATION関数の使い方</a>の記事を参照してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc20">シリーズで使う流れ</span></h3>



<ol class="wp-block-list"><li><strong>DURATION</strong>で加重平均年限を確認 → 投資の長さの感覚をつかむ</li><li><strong>MDURATION</strong>で価格感応度を確認 → リスク量を把握する</li><li><strong>PRICE</strong>で具体的な理論価格を算出 → 取引判断に使う</li><li><strong>YIELD</strong>で逆算検算 → 整合性チェック</li></ol>



<p class="wp-block-paragraph">このフローで4関数を組み合わせると、債券評価の自己整合性が確保されますよ。</p>



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



<p class="wp-block-paragraph">PRICE関数で発生しやすいエラーと対処法を整理します。</p>



<h3 class="wp-block-heading"><span id="toc22">#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>settlement ≧ maturity</td><td>maturityを後ろの日付に修正</td></tr><tr><td>rate < 0 または yld < 0</td><td>負の値は不可。クーポン・利回りを正の値に</td></tr><tr><td>redemption ≦ 0</td><td>通常は100を入れる</td></tr><tr><td>frequency が 1, 2, 4 以外</td><td>月次(12)等は不可。1/2/4のいずれかに</td></tr><tr><td>basis が 0〜4 以外</td><td>0〜4の整数を指定</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">settlementやmaturityが日付として認識されていないことが原因です。文字列ではなく<code>DATE</code>関数で生成しましょう。</p>



<pre class="wp-block-code"><code>誤: =PRICE(&quot;2026-05-06&quot;, &quot;2031-05-06&quot;, 4%, 3.5%, 100, 2, 0)
正: =PRICE(DATE(2026,5,6), DATE(2031,5,6), 4%, 3.5%, 100, 2, 0)</code></pre>



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



<p class="wp-block-paragraph">Excel 2003以前で「分析ツール」アドインが読み込まれていない場合に発生します。Excel 2007以降は標準搭載なので、ほぼ気にしなくて大丈夫ですよ。</p>



<h3 class="wp-block-heading"><span id="toc25">結果がおかしい（理論価格と乖離する）</span></h3>



<p class="wp-block-paragraph">エラーは出ないが値が想定と違う場合は、次を確認してください。</p>



<ul class="wp-block-list"><li>frequencyの取り違え（半年なのに1を入れている等）</li><li>basisの選択が用途と違う（米国債なのにbasis=0を使う等）</li><li>利回りのスケール（%入力か小数入力か）</li></ul>



<p class="wp-block-paragraph">特にbasisは結果を細かく動かすため、米国社債/米国債/ユーロ債の使い分けに注意しましょう。</p>



<h2 class="wp-block-heading"><span id="toc26">まとめ｜PRICE関数で債券評価の入り口を押さえる</span></h2>



<p class="wp-block-paragraph">ExcelのPRICE関数は、定期的に利息を支払う債券の理論価格を1関数で算出できる便利な財務関数です。本記事のポイントを整理します。</p>



<ul class="wp-block-list"><li>PRICE関数は<strong>利回りから価格を返す</strong>関数で、戻り値は額面100あたりのクリーン価格</li><li>7つの引数のうち重要なのは<strong>settlement / maturity / rate / yld / frequency</strong>の5つ</li><li>frequencyは<strong>1/2/4のみ</strong>、basisは0〜4で米国/欧州/日本債の慣行に合わせる</li><li>実取引では<strong>ダーティ価格＝クリーン価格＋経過利子</strong>になる点に注意</li><li>YIELD・DURATION・MDURATION と組み合わせて使うと、債券評価の自己整合性が確認できる</li></ul>



<p class="wp-block-paragraph">債券は「価格と利回りの逆方向の関係」を理解した上で、関数で素早く検算する習慣をつけると実務がぐっと楽になります。同シリーズの<a href="https://mashukabu.com/excel-duration-function/">ExcelのDURATION関数の使い方</a>・<a href="https://mashukabu.com/excel-mduration-function/">ExcelのMDURATION関数の使い方</a>・<a href="https://mashukabu.com/excel-fvschedule-function/">ExcelのFVSCHEDULE関数の使い方</a>もあわせて読んで、財務関数を体系的に身につけてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-price-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのMDURATION関数の使い方｜修正デュレーションで金利感応度を計算</title>
		<link>https://mashukabu.com/excel-mduration-function/</link>
					<comments>https://mashukabu.com/excel-mduration-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:42:55 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MDURATION]]></category>
		<category><![CDATA[リスク管理]]></category>
		<category><![CDATA[修正デュレーション]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6568</guid>

					<description><![CDATA[ExcelのMDURATION関数で修正デュレーション（金利感応度）を計算する方法を、構文・実例・DURATION関数との違いまで詳しく解説。価格変動の一次近似式 ΔP/P ≈ -MDuration×Δy の使い方、よくあるエラーの対処法、債券ポートフォリオ管理での活用例も紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ExcelのMDURATION関数は、債券の修正デュレーション（Modified Duration）を計算する財務関数です。修正デュレーションは「金利が1%変動したら債券価格が何%動くか」を表す金利感応度の指標。債券の価格変動を予測する実務計算で日常的に使われていますよ。</p>



<p class="wp-block-paragraph">DURATION関数（マコーレー・デュレーション）とよく混同されますが、両者の使い分けは明確です。学術的な期間構造の分析にはDURATION、価格変動の予測やリスク管理にはMDURATIONを使います。実務ではほぼMDURATIONの方が出番が多いですよ。</p>



<p class="wp-block-paragraph">ただ、業務で初めて触れる方からは「マコーレーと修正、結局どっちを使えばいいの？」「数式上は単純な変換なのに、なぜ別の関数があるの？」という疑問をよく聞きます。この記事ではMDURATION関数の構文と基本的な使い方を解説します。さらにDURATION関数との使い分けまで、Excelで実務に使える形で詳しく見ていきますよ。</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のMDURATION関数とは？修正デュレーションの考え方</a><ol><li><a href="#toc2" tabindex="0">マコーレーとの違いを表で先に押さえる</a></li></ol></li><li><a href="#toc3" tabindex="0">MDURATION関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">frequencyは 1, 2, 4 のみ有効</a></li><li><a href="#toc5" tabindex="0">basis引数（日数計算基準）の早見表</a></li></ol></li><li><a href="#toc6" tabindex="0">MDURATION関数の基本的な使い方</a><ol><li><a href="#toc7" tabindex="0">例: 5年・半年クーポン・利率5%・利回り4%</a></li><li><a href="#toc8" tabindex="0">計算過程を確認する</a></li></ol></li><li><a href="#toc9" tabindex="0">修正デュレーションで価格変動を予測する</a><ol><li><a href="#toc10" tabindex="0">一次近似の公式</a></li><li><a href="#toc11" tabindex="0">実例：利回り0.5%上昇シナリオ</a></li><li><a href="#toc12" tabindex="0">Excelで複数シナリオを一覧する</a></li><li><a href="#toc13" tabindex="0">DV01（金利1bp変動の影響額）</a></li></ol></li><li><a href="#toc14" tabindex="0">DURATION関数とMDURATION関数の使い分け</a><ol><li><a href="#toc15" tabindex="0">使い分けフローチャート</a></li><li><a href="#toc16" tabindex="0">比較表（再掲・拡張版）</a></li><li><a href="#toc17" tabindex="0">よくある誤解</a></li></ol></li><li><a href="#toc18" tabindex="0">一次近似の限界とコンベクシティ</a><ol><li><a href="#toc19" tabindex="0">誤差の実例</a></li><li><a href="#toc20" tabindex="0">コンベクシティによる補正</a></li></ol></li><li><a href="#toc21" tabindex="0">実務での活用シーン</a><ol><li><a href="#toc22" tabindex="0">シーン1: 金利リスクの定量化</a></li><li><a href="#toc23" tabindex="0">シーン2: ポートフォリオの平均MDURATION</a></li><li><a href="#toc24" tabindex="0">シーン3: ALM（資産負債管理）</a></li><li><a href="#toc25" tabindex="0">シーン4: ヘッジ比率の算出</a></li></ol></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><li><a href="#toc30" tabindex="0">まとめ</a><ol><li><a href="#toc31" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのMDURATION関数とは？修正デュレーションの考え方</span></h2>



<p class="wp-block-paragraph">ExcelのMDURATION関数は、<strong>修正デュレーション（Modified Duration）</strong> を計算する関数です。</p>



<p class="wp-block-paragraph">修正デュレーションは、債券のマコーレー・デュレーションを <code>(1 + 利回り/年複利回数)</code> で割ったもの。<strong>金利が1%変動したときに債券価格が何%動くかの感応度</strong>を表します。単位は「年」ですが、これは時間そのものではなく「価格弾力性の指標」と理解するのがおすすめですよ。</p>



<p class="wp-block-paragraph">たとえばMDurationが4.4年の債券は、利回りが1%上昇すれば価格が約4.4%下落します。逆に1%下落すれば約4.4%上昇する、という関係です。この一次近似（細かい曲線を直線で近似する数学手法）は債券リスク管理の基本ですよ。</p>



<h3 class="wp-block-heading"><span id="toc2">マコーレーとの違いを表で先に押さえる</span></h3>



<p class="wp-block-paragraph">ExcelにはDURATION関数（マコーレー・デュレーション）も用意されていて、両者は引数構造が完全に同じです。違いは戻り値の意味と用途だけ。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DURATION（マコーレー）</th><th>MDURATION（修正）</th></tr></thead><tbody><tr><td>戻り値</td><td>キャッシュフロー加重平均期間</td><td>金利1%変動時の価格変動率</td></tr><tr><td>主な用途</td><td>期間構造の分析・学術用途</td><td>価格変動の予測・リスク管理</td></tr><tr><td>大小関係</td><td>MDurationより必ず大きい</td><td>Macaulayより必ず小さい</td></tr><tr><td>実務での頻度</td><td>学術・解説で使う</td><td>業務ではこちらが主流</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">両者の数式関係はシンプルです。</p>



<pre class="wp-block-code"><code>Modified Duration = Macaulay Duration / (1 + y/n)</code></pre>



<ul class="wp-block-list"><li>y: 年率最終利回り（4%なら 0.04）</li><li>n: 年間利払回数（半年複利なら 2）</li></ul>



<p class="wp-block-paragraph">たとえば利回り4%・半年複利の場合を考えてみましょう。Macaulay Durationを <code>1 + 0.04/2 = 1.02</code> で割った値が修正デュレーションになります。差は約2%程度ですが、この変換が「期間の指標」から「価格感応度の指標」へと意味を変えるのです。</p>



<p class="wp-block-paragraph">詳しいマコーレー・デュレーションの考え方は<a href="https://mashukabu.com/excel-duration-function/">ExcelのDURATION関数の使い方</a>で解説しています。合わせて読んでみてください。</p>



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



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



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



<p class="wp-block-paragraph">各引数の意味を表にまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須</th><th>内容</th></tr></thead><tbody><tr><td>settlement</td><td>必須</td><td>受渡日（債券を購入する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還される日）</td></tr><tr><td>coupon</td><td>必須</td><td>年利クーポンレート（5%なら0.05）</td></tr><tr><td>yld</td><td>必須</td><td>年間最終利回り（4%なら0.04）</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>



<p class="wp-block-paragraph">引数構造はDURATION関数とまったく同じです。同じセルを参照して両関数を並べれば、マコーレーと修正の両方を一気に確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc4">frequencyは 1, 2, 4 のみ有効</span></h3>



<p class="wp-block-paragraph">frequency引数は <strong>1、2、4 のいずれかのみ有効</strong> です。</p>



<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>半年に1回</td><td>米国社債・国債の標準</td></tr><tr><td>4</td><td>四半期に1回</td><td>一部社債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3、6、12 のような他の数値を指定すると <code>#NUM!</code> エラーになります。日本国債の半年クーポンは 2、米国財務省証券（Tノート、Tボンド）も 2 を指定するのが標準的ですよ。</p>



<h3 class="wp-block-heading"><span id="toc5">basis引数（日数計算基準）の早見表</span></h3>



<p class="wp-block-paragraph">basis引数は債券の日数計算ルールを指定します。省略すると0（NASD 30/360）が使われます。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>日数計算基準</th><th>主な用途</th></tr></thead><tbody><tr><td>0（既定）</td><td>NASD 30/360</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>European 30/360</td><td>欧州社債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">業務でどのbasisを使うかは、対象債券の発行体規約で決まっています。日本国債なら1、米国社債なら0が一般的ですよ。</p>



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



<p class="wp-block-paragraph">実際にExcelでMDURATION関数を動かしてみましょう。DURATION記事と同じ条件の5年債を使うので、両者の関係も実感できますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">例: 5年・半年クーポン・利率5%・利回り4%</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>2026/1/1</td></tr><tr><td>満期日</td><td>2031/1/1</td></tr><tr><td>クーポンレート</td><td>5%（年率）</td></tr><tr><td>最終利回り</td><td>4%（年率）</td></tr><tr><td>利払回数</td><td>半年に1回（frequency=2）</td></tr><tr><td>日数基準</td><td>NASD 30/360（basis=0）</td></tr></tbody></table></figure>



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



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>入力値</th></tr></thead><tbody><tr><td>A1</td><td>2026/1/1</td></tr><tr><td>A2</td><td>2031/1/1</td></tr><tr><td>A3</td><td>0.05</td></tr><tr><td>A4</td><td>0.04</td></tr><tr><td>A5</td><td>2</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は次のように書きます。</p>



<pre class="wp-block-code"><code>=MDURATION(A1, A2, A3, A4, A5, 0)</code></pre>



<p class="wp-block-paragraph">DATE関数を使うとさらに分かりやすいです。</p>



<pre class="wp-block-code"><code>=MDURATION(DATE(2026,1,1), DATE(2031,1,1), 0.05, 0.04, 2, 0)</code></pre>



<p class="wp-block-paragraph">結果は <strong>約 4.411 年</strong> になります。</p>



<h3 class="wp-block-heading"><span id="toc8">計算過程を確認する</span></h3>



<p class="wp-block-paragraph">DURATION関数とMDURATION関数を並べて実行すると、関係性がはっきり見えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>A6</td><td><code>=DURATION(A1,A2,A3,A4,A5,0)</code></td><td>4.499</td></tr><tr><td>A7</td><td><code>=MDURATION(A1,A2,A3,A4,A5,0)</code></td><td>4.411</td></tr><tr><td>A8</td><td><code>=A6/(1+A4/A5)</code></td><td>4.411</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">A7とA8の結果は完全に一致します。マコーレー 4.499 を 1.02 で割った値が修正デュレーション 4.411 です。Excelの内部でも同じ計算をしているわけですね。</p>



<h2 class="wp-block-heading"><span id="toc9">修正デュレーションで価格変動を予測する</span></h2>



<p class="wp-block-paragraph">ここからがMDURATION関数の本領発揮です。修正デュレーションを使えば、利回り変化に対する価格変動を一次近似で予測できますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">一次近似の公式</span></h3>



<p class="wp-block-paragraph">修正デュレーションを使った価格変動予測の公式は次の通りです。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −Modified Duration × Δy</code></pre>



<ul class="wp-block-list"><li>ΔP/P: 価格変動率</li><li>Δy: 利回りの変化量（小数表記。0.5% なら 0.005）</li></ul>



<p class="wp-block-paragraph">マイナス符号は「金利と債券価格が逆方向に動く」ことを表します。利回りが上がれば価格は下がり、利回りが下がれば価格は上がる、というおなじみの関係ですね。</p>



<h3 class="wp-block-heading"><span id="toc11">実例：利回り0.5%上昇シナリオ</span></h3>



<p class="wp-block-paragraph">先ほどの5年債（MDuration=4.411）で、利回りが 4% から 4.5% に上昇した場合を計算してみましょう。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −4.411 × 0.005 = −0.02206 = −2.21%</code></pre>



<p class="wp-block-paragraph">つまり価格は <strong>約 2.21% 下落</strong>する見込みです。100万円分保有していれば約2.2万円の評価損になります。これがMDURATIONの直接的な使い方ですよ。</p>



<h3 class="wp-block-heading"><span id="toc12">Excelで複数シナリオを一覧する</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>A1</td><td>（MDURATIONの値）</td><td>4.411</td></tr><tr><td>B2</td><td><code>0.0025</code>（+25bp）</td><td>&nbsp;</td></tr><tr><td>B3</td><td><code>0.005</code>（+50bp）</td><td>&nbsp;</td></tr><tr><td>B4</td><td><code>0.01</code>（+100bp）</td><td>&nbsp;</td></tr><tr><td>B5</td><td><code>-0.005</code>（-50bp）</td><td>&nbsp;</td></tr><tr><td>C2</td><td><code>=-$A$1*B2</code></td><td>-1.10%</td></tr><tr><td>C3</td><td><code>=-$A$1*B3</code></td><td>-2.21%</td></tr><tr><td>C4</td><td><code>=-$A$1*B4</code></td><td>-4.41%</td></tr><tr><td>C5</td><td><code>=-$A$1*B5</code></td><td>+2.21%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">利回りの変化（B列）を入れるだけで価格変動率（C列）が瞬時に出ます。リスク管理レポートで頻出するパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">DV01（金利1bp変動の影響額）</span></h3>



<p class="wp-block-paragraph">実務では「金利が1bp（0.01%）動いたらポートフォリオの価値が何円動くか」を <strong>DV01（Dollar Value of 01）</strong> として日次管理します。1bpは0.01%、つまり金利0.0001の変動を指します。</p>



<pre class="wp-block-code"><code>DV01 ≈ 額面 × Modified Duration × 0.0001</code></pre>



<p class="wp-block-paragraph">額面1億円・MDuration 4.411 の場合は次のように計算できます。</p>



<pre class="wp-block-code"><code>=100000000 * 4.411 * 0.0001</code></pre>



<p class="wp-block-paragraph">結果は <strong>約 44,110 円/bp</strong>。1bpの金利変動で約4.4万円の価値変動が発生する計算ですね。</p>



<figure class="wp-block-table"><table><thead><tr><th>額面</th><th>MDuration</th><th>DV01</th></tr></thead><tbody><tr><td>1億円</td><td>4.411</td><td>約 44,110 円/bp</td></tr><tr><td>10億円</td><td>4.411</td><td>約 441,100 円/bp</td></tr><tr><td>100億円</td><td>4.411</td><td>約 4,411,000 円/bp</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">トレーダーやリスク管理担当者は、毎朝このDV01を確認して当日の許容変動額をチェックしています。</p>



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



<p class="wp-block-paragraph">ここまで見てきたように、DURATIONとMDURATIONは引数が同じで、戻り値の関係も明確です。実務での使い分けをフローチャートで整理しましょう。</p>



<h3 class="wp-block-heading"><span id="toc15">使い分けフローチャート</span></h3>



<pre class="wp-block-code"><code>Q: 何を知りたい？
├─ 「キャッシュフローの加重平均期間」→ DURATION（マコーレー）
├─ 「金利が1%動いたら価格は何%動く？」→ MDURATION
├─ 「2銘柄の金利感応度を比較したい」→ MDURATION
├─ 「ALMでデュレーション・マッチング」→ MDURATION
└─ 「学術論文・教科書の説明用」→ DURATION（マコーレー）</code></pre>



<p class="wp-block-paragraph">このフローチャートを見ると、<strong>実務ではほぼMDURATION</strong> を使うことが分かりますよね。マコーレー・デュレーションは「概念の説明や解説のため」に使うことが多く、実際の数値計算には修正デュレーションが選ばれます。</p>



<h3 class="wp-block-heading"><span id="toc16">比較表（再掲・拡張版）</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DURATION</th><th>MDURATION</th></tr></thead><tbody><tr><td>戻り値の意味</td><td>キャッシュフロー加重平均期間</td><td>金利1%変動時の価格変動率</td></tr><tr><td>計算式</td><td>Σ(t × PV) / Σ(PV)</td><td>Macaulay / (1 + y/n)</td></tr><tr><td>5年債(クーポン5%, 利回り4%)の値</td><td>4.499 年</td><td>4.411 年</td></tr><tr><td>価格変動の予測に使える</td><td>△（変換が必要）</td><td>○（そのまま使える）</td></tr><tr><td>引数構造</td><td>同じ</td><td>同じ</td></tr><tr><td>主な利用シーン</td><td>学術・解説</td><td>リスク管理・トレーディング</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">よくある誤解</span></h3>



<ul class="wp-block-list"><li>「DURATIONとMDURATIONは別物」→ <strong>数式関係で結ばれた変形版</strong>です</li><li>「マコーレーは古い、修正は新しい」→ どちらも歴史ある概念で <strong>役割が違う</strong>だけ</li><li>「両方計算する必要はない」→ 解説資料を作るなら両方並べる方が分かりやすい</li></ul>



<h2 class="wp-block-heading"><span id="toc18">一次近似の限界とコンベクシティ</span></h2>



<p class="wp-block-paragraph">ΔP/P ≈ -MDuration × Δy はあくまで<strong>一次近似</strong>です。利回りが大きく動く局面（1%以上の金利変動など）では、実際の価格曲線との乖離が出てきますよ。</p>



<h3 class="wp-block-heading"><span id="toc19">誤差の実例</span></h3>



<p class="wp-block-paragraph">5年債（MDuration=4.411）で利回り変化シナリオ別に予測誤差を見てみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>利回り変化</th><th>一次近似</th><th>実際の変動</th><th>誤差</th></tr></thead><tbody><tr><td>+0.25%</td><td>-1.10%</td><td>-1.10%</td><td>0.00%</td></tr><tr><td>+0.50%</td><td>-2.21%</td><td>-2.18%</td><td>0.03%</td></tr><tr><td>+1.00%</td><td>-4.41%</td><td>-4.30%</td><td>0.11%</td></tr><tr><td>+2.00%</td><td>-8.82%</td><td>-8.43%</td><td>0.39%</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">利回り変化が小さいほど誤差は小さく、大きく動くほど誤差が広がります。日常業務の <code>±0.5%</code> 程度なら一次近似で十分実用的ですよ。ただし政策金利の急変時には注意してください。</p>



<h3 class="wp-block-heading"><span id="toc20">コンベクシティによる補正</span></h3>



<p class="wp-block-paragraph">より精度の高い予測式は次のようになります。</p>



<pre class="wp-block-code"><code>ΔP/P ≈ −MDuration × Δy + (1/2) × Convexity × (Δy)²</code></pre>



<p class="wp-block-paragraph">コンベクシティ（Convexity、価格-利回り曲線の凸性を表す二次微分項）はExcelに標準関数がありません。そのため自作するかPRICE関数で実価格を再計算するアプローチを取りますよ。</p>



<p class="wp-block-paragraph">通常業務ではMDURATIONだけで十分です。ただしストレステストや極端な金利シナリオを扱う場合は、コンベクシティ補正を検討してみてください。</p>



<h2 class="wp-block-heading"><span id="toc21">実務での活用シーン</span></h2>



<p class="wp-block-paragraph">MDURATION関数が活躍する代表的な業務シーンを4つ紹介します。</p>



<h3 class="wp-block-heading"><span id="toc22">シーン1: 金利リスクの定量化</span></h3>



<p class="wp-block-paragraph">ある債券のMDURATIONが4.411で保有額1億円。市場金利が0.5%上昇すると評価損は約221万円と即時予測できます。</p>



<pre class="wp-block-code"><code>評価損 = 100,000,000 × 4.411 × 0.005 = 2,205,500 円</code></pre>



<p class="wp-block-paragraph">リスク管理レポートで「金利上昇シナリオの影響額」として頻出する計算ですね。</p>



<h3 class="wp-block-heading"><span id="toc23">シーン2: ポートフォリオの平均MDURATION</span></h3>



<p class="wp-block-paragraph">複数銘柄を保有する場合、各銘柄のMDURATIONを市場価値で加重平均しましょう。これでポートフォリオ全体のMDURATIONが算出できます。</p>



<pre class="wp-block-code"><code>ポートフォリオ MDuration = Σ(各銘柄 MDuration × 各銘柄の市場価値) / Σ(市場価値)</code></pre>



<p class="wp-block-paragraph">ExcelではSUMPRODUCT関数を使うと一発で計算可能です。</p>



<pre class="wp-block-code"><code>=SUMPRODUCT(MDuration範囲, 市場価値範囲) / SUM(市場価値範囲)</code></pre>



<p class="wp-block-paragraph">これにより「金利1%変動するとポートフォリオ全体で何%下落するか」を1つの数値に集約できますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">シーン3: ALM（資産負債管理）</span></h3>



<p class="wp-block-paragraph">生命保険会社や年金基金は、保有資産（債券）と負債（保険契約や年金支払約束）の両方にデュレーションを持っています。両者のMDURATIONが一致していれば、金利変動時に資産と負債の価値変動が打ち消し合うのです。これが<strong>デュレーション・マッチング</strong>ですよ。</p>



<p class="wp-block-paragraph">ALM（Asset-Liability Management、資産負債管理）の核心はこのマッチングにあります。MDURATIONはその測定の基本ツールになっていますよ。</p>



<h3 class="wp-block-heading"><span id="toc25">シーン4: ヘッジ比率の算出</span></h3>



<p class="wp-block-paragraph">保有債券の金利リスクを別の債券（または金利先物）でヘッジする場合、ヘッジ比率はMDURATIONを使って算出します。</p>



<pre class="wp-block-code"><code>ヘッジ比率 = (保有債券のMDuration × 市場価値) / (ヘッジ手段のMDuration × 市場価値)</code></pre>



<p class="wp-block-paragraph">たとえば10年債（MDuration=8.5）で5年債（MDuration=4.411）の金利リスクをヘッジしたいとします。5年債1億円のリスクを10年債で打ち消すには次のように計算します。</p>



<pre class="wp-block-code"><code>ヘッジ額 = (4.411 × 100,000,000) / 8.5 ≈ 51,894,000 円</code></pre>



<p class="wp-block-paragraph">10年債を約5,189万円分ショートすれば、5年債1億円のロングポジションの金利リスクを概ね打ち消せます。</p>



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



<p class="wp-block-paragraph">MDURATION関数でよく出るエラーと対処方法をまとめました。</p>



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



<p class="wp-block-paragraph">最も多いエラーパターンです。次の条件で発生します。</p>



<ol class="wp-block-list"><li><strong>settlement >= maturity</strong>：受渡日が満期日と同じか後になっている</li></ol>



<ul class="wp-block-list"><li>→ 日付セルの値を確認、settlement < maturity に修正</li></ul>



<ol class="wp-block-list"><li><strong>frequency が 1, 2, 4 以外</strong>：3、6、12などを指定</li></ol>



<ul class="wp-block-list"><li>→ frequency を 1（年1回）、2（半年）、4（四半期）に修正</li></ul>



<ol class="wp-block-list"><li><strong>basis が 0-4 の範囲外</strong>：5や負の数を指定</li></ol>



<ul class="wp-block-list"><li>→ basis を 0〜4 に修正</li></ul>



<ol class="wp-block-list"><li><strong>coupon が負</strong>：マイナスのクーポンレート</li></ol>



<ul class="wp-block-list"><li>→ 通常の債券では発生しない。逆さスプレッドを扱う場合は別関数を検討</li></ul>



<ol class="wp-block-list"><li><strong>yld が負（古いExcel）</strong>：マイナスの利回り</li></ol>



<ul class="wp-block-list"><li>→ 最近のExcelでは負利回りも受理される場合あり。バージョン確認</li></ul>



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



<p class="wp-block-paragraph">引数の型が不正な場合に発生します。</p>



<ol class="wp-block-list"><li><strong>settlement / maturity が日付として認識されない</strong></li></ol>



<ul class="wp-block-list"><li>→ DATE関数を使うか、セル書式を「日付」に設定</li></ul>



<ol class="wp-block-list"><li><strong>数値型引数に文字列が入っている</strong></li></ol>



<ul class="wp-block-list"><li>→ coupon、yld、frequency、basis に数値が入っているか確認</li></ul>



<h3 class="wp-block-heading"><span id="toc29">結果がおかしいケース（エラーにはならない）</span></h3>



<ol class="wp-block-list"><li><strong>settlement と maturity の入れ違い</strong>：エラーの代わりに想定外の値が返ることがある</li></ol>



<ul class="wp-block-list"><li>→ 必ず受渡日 < 満期日 になっているか確認</li></ul>



<ol class="wp-block-list"><li><strong>クーポンが0</strong>：ゼロクーポン債扱いになり、Macaulay ≈ Modified ≈ 残存年数 になる</li></ol>



<ul class="wp-block-list"><li>→ 想定通りなら問題なし</li></ul>



<ol class="wp-block-list"><li><strong>利回りが0</strong>：1+y/n=1 となり Modified=Macaulay と一致する</li></ol>



<ul class="wp-block-list"><li>→ 数式上の挙動として正しい</li></ul>



<p class="wp-block-paragraph">エラーが出たらまず引数の値と型を1つずつ確認するのが一番早いですよ。</p>



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



<p class="wp-block-paragraph">ExcelのMDURATION関数は、債券の修正デュレーション（金利感応度）を計算する財務関数です。最後に押さえておきたい3つのキーをまとめておきます。</p>



<ul class="wp-block-list"><li><strong>金利感応度の指標</strong>：MDURATIONは「金利1%変動で価格が何%動くか」の感応度。年単位だが時間ではなく、価格弾力性として理解する</li><li><strong>一次近似の公式</strong>：<code>ΔP/P ≈ -MDuration × Δy</code> で価格変動を予測。日常業務（±0.5%程度）では十分な精度</li><li><strong>DURATION関数との使い分け</strong>：マコーレーは学術・解説用、修正は実務・リスク管理用。実務ではほぼMDURATIONが選ばれる</li></ul>



<p class="wp-block-paragraph">債券の金利リスクを定量化したい、ポートフォリオのデュレーションを管理したい、ALMでマッチングを取りたい。こうした場面でMDURATION関数は強力な武器になりますよ。</p>



<p class="wp-block-paragraph">DURATIONとMDURATIONは引数が完全に同じです。同じデータで両方を並列実行して比較することもできます。最初のうちは両方を並べて関係性を体感してみてください。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-duration-function/">ExcelのDURATION関数の使い方</a> &#8211; マコーレー・デュレーションの考え方を解説</li><li>ExcelのPRICE関数の使い方 &#8211; 債券価格を計算する姉妹関数</li><li>ExcelのYIELD関数の使い方 &#8211; 最終利回りを計算する姉妹関数</li><li>ExcelのXIRR関数の使い方 &#8211; 不規則キャッシュフローの内部収益率</li><li>ExcelのPV関数の使い方 &#8211; 割引現在価値の基礎</li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-mduration-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのYIELD関数の使い方｜定期利払い債券の利回りを1関数で計算</title>
		<link>https://mashukabu.com/excel-yield-function/</link>
					<comments>https://mashukabu.com/excel-yield-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 12:42:36 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[YIELD]]></category>
		<category><![CDATA[YTM]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[利回り]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6556</guid>

					<description><![CDATA[ExcelのYIELD関数で定期利払い債券の満期利回り（YTM）を計算する方法を解説。7つの引数の使い方、半年利払い社債の実例、PRICE関数との双方向チェック、basis引数の選び方、エラー対処までまとめます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この債券、今いくらで売られているか分かったけど、利回りは何%になるの？」というシーンはよくありますよね。市場価格から利回りを手計算するのは時間がかかり、ミスも起きやすいです。</p>



<p class="wp-block-paragraph">ExcelのYIELD関数を使えば、定期的に利息（クーポン）を支払う債券の満期利回り（YTM：Yield to Maturity）を数式1つで求められます。PRICE関数と逆の関係にあるため、「価格→利回り」の逆算に最も適した財務関数です。</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-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のYIELD関数とは？</a></li><li><a href="#toc2" tabindex="0">YIELD関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">rate と pr の違い</a></li><li><a href="#toc4" tabindex="0">settlement と maturity の関係</a></li><li><a href="#toc5" tabindex="0">frequency引数（年間利払い回数）</a></li><li><a href="#toc6" tabindex="0">basis引数（日数計算基準）の早見表</a></li></ol></li><li><a href="#toc7" tabindex="0">YIELD関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">例: 残存5年・半年利払い社債の利回りを求める</a></li><li><a href="#toc9" tabindex="0">セルレイアウトと数式の組み立て</a></li><li><a href="#toc10" tabindex="0">パー価格のときの検算</a></li></ol></li><li><a href="#toc11" tabindex="0">YIELD関数の実務活用パターン</a><ol><li><a href="#toc12" tabindex="0">PRICE関数との双方向チェック</a></li><li><a href="#toc13" tabindex="0">クリーン価格とダーティ価格の扱い</a></li><li><a href="#toc14" tabindex="0">basis引数の実務的な選び方</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc16" tabindex="0">#NUM! エラー</a></li><li><a href="#toc17" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc18" tabindex="0">結果が想定と違うとき</a></li></ol></li><li><a href="#toc19" tabindex="0">YIELDDISC・YIELDMATとの違い・使い分け</a><ol><li><a href="#toc20" tabindex="0">関数を選ぶ判断フロー</a></li><li><a href="#toc21" tabindex="0">価格関数との対応関係</a></li></ol></li><li><a href="#toc22" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">YIELD関数は、<strong>定期的に利息を支払う証券（利付債）の年利回り（満期利回り、YTM）を返すExcelの財務関数</strong>です。</p>



<p class="wp-block-paragraph">たとえば「残存5年・年クーポン4%・半年利払い・現在の市場価格102.275」という社債を入力すると、利回りが<strong>3.5%</strong>として返ってきます。逆にPRICE関数へ利回り3.5%を入力すると価格102.275が求まります。つまり<strong>YIELD関数とPRICE関数はコインの裏表</strong>の関係なのです。</p>



<p class="wp-block-paragraph">YIELD関数の特徴は次の3つです。</p>



<ul class="wp-block-list"><li>市場価格（クリーン価格）を入力すると年利回りを返す</li><li>半年利払い・年1利払い・四半期利払いに対応（frequency引数）</li><li>戻り値は年率（半年利払いでも年率に換算済み）</li></ul>



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



<p class="wp-block-paragraph">YIELD関数の基本構文は次の通りです。引数は7つで、最後のbasisだけ省略可能です。</p>



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



<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>settlement</td><td>必須</td><td>受渡日（決済日）</td><td><code>DATE(2026,5,6)</code></td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還日）</td><td><code>DATE(2031,5,6)</code></td></tr><tr><td>rate</td><td>必須</td><td>年クーポン率</td><td><code>4%</code> または <code>0.04</code></td></tr><tr><td>pr</td><td>必須</td><td>額面100あたりの現在価格（クリーン価格）</td><td><code>102.275</code></td></tr><tr><td>redemption</td><td>必須</td><td>額面100あたりの償還価額</td><td>通常は <code>100</code></td></tr><tr><td>frequency</td><td>必須</td><td>年間利払い回数</td><td><code>1</code>/<code>2</code>/<code>4</code> のみ</td></tr><tr><td>basis</td><td>任意</td><td>日数計算基準</td><td><code>0</code>〜<code>4</code>（既定は0）</td></tr></tbody></table></figure>



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



<ul class="wp-block-list"><li><strong>rate（クーポン率）</strong>: 証券に印字された年利率。発行体が支払う利息の計算に使う</li><li><strong>pr（現在価格）</strong>: 市場で今いくらで取引されているか（額面100あたりのクリーン価格）</li></ul>



<p class="wp-block-paragraph">rateは固定（発行時に決まる）で、prは市場の需給で変動します。YIELDは「この価格prを実現する利回りはいくつか？」を反復計算で求める関数です。</p>



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



<p class="wp-block-paragraph">settlementは「実際にお金と証券を交換する日（受渡日）」で、約定日とは別物です。maturityはsettlementより後でなければ#NUM!エラーになります。日付は必ずDATE関数で指定しましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">frequency引数（年間利払い回数）</span></h3>



<p class="wp-block-paragraph">年間の利払い回数で、<strong>1（年1回）／2（半年に1回）／4（四半期に1回）</strong>の3択のみです。月次（12）や週次を入れると#NUM!エラーになります。</p>



<h3 class="wp-block-heading"><span id="toc6">basis引数（日数計算基準）の早見表</span></h3>



<p class="wp-block-paragraph">basis引数は日数の数え方を指定します。実務では次のように選んでください。</p>



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>名称</th><th>主な用途</th></tr></thead><tbody><tr><td>0（既定）</td><td>US (NASD) 30/360</td><td>米国社債のデフォルト</td></tr><tr><td>1</td><td>Actual/Actual</td><td>米国財務省証券・日本国債（5年・10年）</td></tr><tr><td>2</td><td>Actual/360</td><td>マネーマーケット・CD・CP</td></tr><tr><td>3</td><td>Actual/365</td><td>一部ユーロ債・英ポンド建て</td></tr><tr><td>4</td><td>European 30/360</td><td>欧州社債（ICMA方式）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「米国社債=0、米国債/日本国債=1、欧州社債=4」を覚えておくと実務で迷いません。</p>



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



<p class="wp-block-paragraph">実際にYIELD関数を使ってみましょう。次のような半年利払い社債を想定します。</p>



<h3 class="wp-block-heading"><span id="toc8">例: 残存5年・半年利払い社債の利回りを求める</span></h3>



<ul class="wp-block-list"><li>受渡日: 2026/5/6</li><li>満期日: 2031/5/6（残存5年）</li><li>年クーポン率: 4%</li><li>市場価格（クリーン価格）: 102.275（額面100あたり）</li><li>償還価額: 100</li><li>利払頻度: 半年に1回（frequency=2）</li><li>日数計算基準: 30/360（basis=0）</li></ul>



<p class="wp-block-paragraph">セルへの入力例は次のとおりです。</p>



<pre class="wp-block-code"><code>=YIELD(DATE(2026,5,6), DATE(2031,5,6), 4%, 102.275, 100, 2, 0)</code></pre>



<p class="wp-block-paragraph">結果は <strong>0.035（=3.5%）</strong> が返ります。価格がパー（100）より高いため、クーポン率4%より低い利回り3.5%になっていますね。</p>



<h3 class="wp-block-heading"><span id="toc9">セルレイアウトと数式の組み立て</span></h3>



<p class="wp-block-paragraph">実務では各パラメータをセルに入力し、YIELD関数でセル参照する形が便利です。</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/6</td></tr><tr><td>B3</td><td>満期日</td><td>2031/5/6</td></tr><tr><td>B4</td><td>年クーポン率</td><td>4%</td></tr><tr><td>B5</td><td>市場価格（クリーン）</td><td>102.275</td></tr><tr><td>B6</td><td>償還価額</td><td>100</td></tr><tr><td>B7</td><td>利払頻度</td><td>2</td></tr><tr><td>B8</td><td>basis</td><td>0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式: <code>=YIELD(B2, B3, B4, B5, B6, B7, B8)</code></p>



<p class="wp-block-paragraph">市場価格（B5）だけを変えると利回りが即座に更新されるため、複数の取引候補を比較する感度分析が楽になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">パー価格のときの検算</span></h3>



<p class="wp-block-paragraph">「クリーン価格=100（パー）のとき、利回りはクーポン率に等しい」という債券の基本原則をYIELD関数で確認してみましょう。</p>



<pre class="wp-block-code"><code>=YIELD(DATE(2026,5,6), DATE(2031,5,6), 4%, 100, 100, 2, 0)
→ 0.04（=4.0%）</code></pre>



<p class="wp-block-paragraph">クーポン率と利回りが一致しています。これが債券価格計算の基本です。</p>



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



<h3 class="wp-block-heading"><span id="toc12">PRICE関数との双方向チェック</span></h3>



<p class="wp-block-paragraph">YIELD関数とPRICE関数は逆関数の関係にあるため、互いに検算できます。</p>



<p class="wp-block-paragraph"><strong>PRICE → YIELD の流れ</strong></p>



<p class="wp-block-paragraph">まずPRICE関数で利回り3.5%から価格を計算します。</p>



<pre class="wp-block-code"><code>=PRICE(DATE(2026,5,6), DATE(2031,5,6), 4%, 3.5%, 100, 2, 0)
→ 102.275</code></pre>



<p class="wp-block-paragraph">次にYIELD関数でその価格から利回りを逆算します。</p>



<pre class="wp-block-code"><code>=YIELD(DATE(2026,5,6), DATE(2031,5,6), 4%, 102.275, 100, 2, 0)
→ 0.035（=3.5%）</code></pre>



<p class="wp-block-paragraph">最初に入力した3.5%と一致しますね。この双方向チェックでPRICEとYIELDの計算ロジックが整合していることを確認できます。</p>



<h3 class="wp-block-heading"><span id="toc13">クリーン価格とダーティ価格の扱い</span></h3>



<p class="wp-block-paragraph">YIELD関数の引数prに入れるのは<strong>クリーン価格</strong>（経過利子を含まない価格）です。市場で公表されている価格はクリーン価格ですが、実際の取引では経過利子を含む<strong>ダーティ価格</strong>が支払いの基準になります。</p>



<figure class="wp-block-table"><table><thead><tr><th>種別</th><th>内容</th></tr></thead><tbody><tr><td>クリーン価格</td><td>YIELD関数のpr引数に入れる価格</td></tr><tr><td>経過利子</td><td>ACCRINT関数で計算（前回利払日〜受渡日）</td></tr><tr><td>ダーティ価格</td><td>クリーン価格 + 経過利子（実際の支払額）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">YIELD関数のprにダーティ価格を誤って入力すると、利回りが過小評価されます。特に利払い日直前に購入する場合は経過利子が大きくなるため注意してください。</p>



<h3 class="wp-block-heading"><span id="toc14">basis引数の実務的な選び方</span></h3>



<p class="wp-block-paragraph">計算結果はbasis引数の選択によってわずかに変わります。業界慣行に合わせるのが鉄則です。</p>



<ul class="wp-block-list"><li><strong>日本国債（5年・10年）</strong>: basis=1（Actual/Actual）</li><li><strong>米国社債</strong>: basis=0（US 30/360）</li><li><strong>米国財務省証券</strong>: basis=1</li><li><strong>欧州社債（ユーロ債）</strong>: basis=4（European 30/360）</li><li><strong>CD・CP等の短期金融商品</strong>: basis=2（Actual/360）</li></ul>



<p class="wp-block-paragraph">社内計算と市場の公表値を照合するときは、basisが一致しているかを最初に確認しましょう。</p>



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



<h3 class="wp-block-heading"><span id="toc16">#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>settlement ≧ maturity</td><td>maturityを後ろの日付に修正</td></tr><tr><td>rate < 0</td><td>クーポン率は0以上に</td></tr><tr><td>pr ≦ 0</td><td>市場価格は正の値に</td></tr><tr><td>redemption ≦ 0</td><td>通常は100を入れる</td></tr><tr><td>frequency が 1, 2, 4 以外</td><td>月次(12)等は不可</td></tr><tr><td>basis が 0〜4 以外</td><td>整数0〜4を指定</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">settlementやmaturityが日付として認識されていないことが原因です。文字列ではなくDATE関数で生成しましょう。</p>



<pre class="wp-block-code"><code>誤: =YIELD(&quot;2026-05-06&quot;, &quot;2031-05-06&quot;, 4%, 102.275, 100, 2, 0)
正: =YIELD(DATE(2026,5,6), DATE(2031,5,6), 4%, 102.275, 100, 2, 0)</code></pre>



<h3 class="wp-block-heading"><span id="toc18">結果が想定と違うとき</span></h3>



<p class="wp-block-paragraph">エラーは出ないが値が想定と異なる場合は、次を確認してください。</p>



<ul class="wp-block-list"><li>frequencyの取り違え（年1回のつもりで2を入れている等）</li><li>basisの選択が業界慣行と違う（米国債なのにbasis=0を使う等）</li><li>prにダーティ価格を入れてしまっている（クリーン価格を入れること）</li><li>rateやprのスケール（%入力か小数入力か）</li></ul>



<h2 class="wp-block-heading"><span id="toc19">YIELDDISC・YIELDMATとの違い・使い分け</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><strong>YIELD</strong></td><td>定期利払い債券（普通の社債・国債）</td><td>クーポンを定期的に支払う</td><td>pr（現在価格）とfrequencyが必要</td></tr><tr><td><strong>YIELDDISC</strong></td><td>割引証券（TB・CP・割引短期国債）</td><td>利息なし、額面割れで発行</td><td>discount（割引率）が必要、rateなし</td></tr><tr><td><strong>YIELDMAT</strong></td><td>満期利払い証券（短期社債・利付一括償還債）</td><td>満期に元本+全利息を一括支払い</td><td>issue（発行日）とrate,prが必要</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">関数を選ぶ判断フロー</span></h3>



<ol class="wp-block-list"><li><strong>利息はあるか？</strong></li></ol>



<ul class="wp-block-list"><li>ない（割引発行）→ YIELDDISC関数</li><li>ある → 次の質問へ</li></ul>



<ol class="wp-block-list"><li><strong>利息は定期的に支払われるか？</strong></li></ol>



<ul class="wp-block-list"><li>半年や年1回など定期的 → <strong>YIELD関数</strong></li><li>満期に一括 → YIELDMAT関数</li></ul>



<h3 class="wp-block-heading"><span id="toc21">価格関数との対応関係</span></h3>



<p class="wp-block-paragraph">各YIELD関数には対応するPRICE系関数があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>利回り関数</th><th>対応する価格関数</th><th>関係</th></tr></thead><tbody><tr><td>YIELD</td><td><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td>双方向の逆関数</td></tr><tr><td>YIELDDISC</td><td><a href="https://mashukabu.com/excel-pricedisc-function/">PRICEDISC</a></td><td>双方向の逆関数</td></tr><tr><td>YIELDMAT</td><td><a href="https://mashukabu.com/excel-pricemat-function/">PRICEMAT</a></td><td>双方向の逆関数</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">ExcelのYIELD関数は、定期利払い債券の市場価格から年利回り（YTM）を1関数で求める財務関数です。本記事のポイントを振り返ります。</p>



<ul class="wp-block-list"><li><strong>用途</strong>: 定期利払い債券（社債・国債）の満期利回りを市場価格から逆算</li><li><strong>構文</strong>: <code>=YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])</code></li><li><strong>pr引数</strong>: 必ずクリーン価格（経過利子を含まない価格）を入れること</li><li><strong>frequencyは1/2/4のみ</strong>: 月次等は不可</li><li><strong>basis</strong>: 米国社債=0、米国債/日本国債=1、欧州社債=4 が業界慣行</li><li><strong>PRICE関数と双方向の関係</strong>: PRICE↔YIELDで相互検算できる</li><li><strong>使い分け</strong>: 割引証券→YIELDDISC、満期一括利払い→YIELDMAT</li></ul>



<p class="wp-block-paragraph">利回りが求まったら、<a href="https://mashukabu.com/excel-duration-function/">DURATION関数</a>や<a href="https://mashukabu.com/excel-mduration-function/">MDURATION関数</a>と組み合わせてポートフォリオの金利感応度分析へ展開できますよ。PRICE関数・DURATION関数・MDURATION関数のシリーズ記事もあわせて読んで、債券評価の4関数を体系的にマスターしてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-yield-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのCOUPDAYS関数の使い方｜利払い期間の日数</title>
		<link>https://mashukabu.com/spreadsheet-coupdays-function/</link>
					<comments>https://mashukabu.com/spreadsheet-coupdays-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 14:41:32 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[COUPDAYS関数]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[経理・財務]]></category>
		<category><![CDATA[経過利息]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6227</guid>

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



<p class="wp-block-paragraph">この記事では、スプレッドシートのCOUPDAYS関数の使い方を、構文・実例・よくあるエラーの対処まで同僚に教える感覚で解説します。COUPDAYBS関数やCOUPDAYSNC関数との使い分けも整理しているので、債券売買の発生利息計算に活用してください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-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">スプレッドシートのCOUPDAYS関数とは？</a></li><li><a href="#toc2" tabindex="0">COUPDAYS関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">日数計算方法（basis）の設定値</a></li></ol></li><li><a href="#toc4" tabindex="0">COUPDAYS関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">半年払い債券のクーポン期間日数を求める</a></li><li><a href="#toc6" tabindex="0">basis の違いによる計算結果の比較</a></li><li><a href="#toc7" tabindex="0">年1回払い債券のクーポン期間日数を求める</a></li><li><a href="#toc8" tabindex="0">発生利息を計算する</a></li></ol></li><li><a href="#toc9" tabindex="0">COUPDAYBS・COUPDAYSNCとの使い分け</a><ol><li><a href="#toc10" tabindex="0">具体例で確認する</a></li></ol></li><li><a href="#toc11" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc12" tabindex="0">#NUM!エラー</a></li><li><a href="#toc13" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc14" tabindex="0">#NAME?エラー</a></li></ol></li><li><a href="#toc15" tabindex="0">Excelとの互換性</a></li><li><a href="#toc16" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">COUPDAYS関数単独では発生利息は求められません。<a href="https://mashukabu.com/spreadsheet-coupdaybs-function/">COUPDAYBS関数</a>と組み合わせて使うのが基本ですよ。クーポン関連の財務関数は<a href="https://mashukabu.com/spreadsheet-coupdaysnc-function/">COUPDAYSNC関数</a>・<a href="https://mashukabu.com/spreadsheet-coupncd-function/">COUPNCD関数</a>・<a href="https://mashukabu.com/spreadsheet-couppcd-function/">COUPPCD関数</a>・<a href="https://mashukabu.com/spreadsheet-coupnum-function/">COUPNUM関数</a>と合わせて使うと、債券の利払いスケジュール管理に役立ちますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-coupdays-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのTBILLYIELD関数の使い方｜米国T-Billの利回りを購入価格から計算</title>
		<link>https://mashukabu.com/spreadsheet-tbillyield-function/</link>
					<comments>https://mashukabu.com/spreadsheet-tbillyield-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 14:41:29 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[T-Bill]]></category>
		<category><![CDATA[TBILLYIELD関数]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[経理・財務]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6225</guid>

					<description><![CDATA[GoogleスプレッドシートのTBILLYIELD関数を使えば、米国財務省短期証券（T-Bill）の購入価格から利回り（割引利回り）を求められます。構文・引数・計算例・TBILLPRICE・TBILLEQとの使い分け・よくあるエラー対処まで実例付きで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「この価格で T-Bill を買うと、実際の利回りはいくらなの？」——そう思ったときに使う関数が TBILLYIELD です。購入価格を入力するだけで、T-Bill の利回り（割引利回り）を返してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートの TBILLYIELD 関数の使い方を、構文・計算例・よくあるエラーの対処まで同僚に教える感覚で解説します。TBILLPRICE・TBILLEQ との使い分けも整理しているので、外債管理や財務モデルの実務に活用してください。</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">スプレッドシートの TBILLYIELD 関数とは？</a></li><li><a href="#toc2" tabindex="0">TBILLYIELD 関数の構文と引数</a><ol><li><a href="#toc3" tabindex="0">TBILLYIELD の内部計算式</a></li></ol></li><li><a href="#toc4" tabindex="0">TBILLYIELD 関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">6か月 T-Bill の利回りを購入価格から求める</a></li><li><a href="#toc6" tabindex="0">3か月 T-Bill の利回りを求める</a></li><li><a href="#toc7" tabindex="0">TBILLPRICE と TBILLYIELD を組み合わせて確認する</a></li></ol></li><li><a href="#toc8" tabindex="0">TBILLPRICE・TBILLEQ との使い分け</a></li><li><a href="#toc9" tabindex="0">決済日から満期日は1年以内にする</a></li><li><a href="#toc10" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc11" tabindex="0">#NUM! エラー</a></li><li><a href="#toc12" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc13" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc14" tabindex="0">Excel との互換性と実務での活用</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートの TBILLYIELD 関数は、<strong>米国財務省短期証券（T-Bill / Treasury Bill）の購入価格から、利回り（割引利回り / discount yield）を計算する財務関数</strong>です。</p>



<p class="wp-block-paragraph">関数名の TBILLYIELD は &#8220;Treasury Bill Yield&#8221;（T-Bill の利回り）を略したものです。</p>



<p class="wp-block-paragraph">T-Bill は市場で取引されており、同じ割引率でも購入するタイミングによって市場価格が変動します。「今日 97.50 ドルで 26週 T-Bill を買ったら、年率換算でどのくらい稼げるか？」という疑問に、TBILLYIELD が答えてくれますよ。</p>



<p class="wp-block-paragraph">返す値は小数（例: 0.0408 = 4.08%）なので、セルの表示形式を「パーセント」に設定して使うのが基本です。</p>



<p class="wp-block-paragraph">TBILLYIELD は T-Bill 関連の 3 関数ファミリーの一員です。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力（決済日・満期日＋）</th><th>返す値</th><th>主な用途</th></tr></thead><tbody><tr><td>TBILLPRICE</td><td>割引率</td><td>額面100あたりの価格</td><td>割引率から実勢価格を求める</td></tr><tr><td>TBILLYIELD</td><td>購入価格</td><td>利回り（discount yield、小数）</td><td>購入価格から利回りを求める</td></tr><tr><td>TBILLEQ</td><td>割引率</td><td>債券等価利回り（BEY、365日ベース）</td><td>割引率を年率利回りに換算して比較</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TBILLYIELD だけが「価格」を第3引数に取り、他の2関数は「割引率」を第3引数に取る点が特徴です。</p>



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



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



<pre class="wp-block-code"><code>=TBILLYIELD(決済日, 満期日, 価格)</code></pre>



<p class="wp-block-paragraph">英語表記だと <code>=TBILLYIELD(settlement, maturity, price)</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>T-Billの受渡日（購入が完了する日）。DATE 関数での指定を推奨</td></tr><tr><td>満期日（maturity）</td><td>必須</td><td>T-Billの満期日。決済日から1年以内の日付を指定</td></tr><tr><td>価格（price）</td><td>必須</td><td>額面100あたりの購入価格。0より大きい値を小数または整数で指定（例: 97.978）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TBILLYIELD も <strong>basis（日数計算方法）引数は存在しません</strong>。常に360日基準の割引計算が行われます。</p>



<p class="wp-block-paragraph">返す値は小数です。たとえば 0.0408 という結果なら「割引利回りは約 4.08%」を意味しますよ。</p>



<h3 class="wp-block-heading"><span id="toc3">TBILLYIELD の内部計算式</span></h3>



<p class="wp-block-paragraph">TBILLYIELD の計算式は TBILLPRICE の逆算です。</p>



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



<ul class="wp-block-list"><li>price: 額面100あたりの購入価格</li><li>DSM: 決済日から満期日までの実日数</li></ul>



<p class="wp-block-paragraph">価格が低いほど（割安で買えるほど）利回りは高くなります。</p>



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



<h3 class="wp-block-heading"><span id="toc5">6か月 T-Bill の利回りを購入価格から求める</span></h3>



<p class="wp-block-paragraph">額面100に対して 97.978 ドルで購入する 6か月 T-Bill（決済日 2024/1/1、満期日 2024/7/1、DSM=182日）の場合です。</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>2024/1/1</td></tr><tr><td>B3</td><td>満期日</td><td>2024/7/1</td></tr><tr><td>B4</td><td>価格</td><td>97.978</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">結果は <strong>約 0.0400（4.00%）</strong> です（セルをパーセント形式に設定した場合）。購入価格 97.978 が割引率 4% に対応していることが確認できますよ。</p>



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



<pre class="wp-block-code"><code>=TBILLYIELD(DATE(2024,1,1), DATE(2024,7,1), 97.978)</code></pre>



<h3 class="wp-block-heading"><span id="toc6">3か月 T-Bill の利回りを求める</span></h3>



<p class="wp-block-paragraph">額面100に対して 98.736 ドルで購入する 3か月 T-Bill（決済日 2024/4/1、満期日 2024/7/1、DSM=91日）の場合です。</p>



<pre class="wp-block-code"><code>=TBILLYIELD(DATE(2024,4,1), DATE(2024,7,1), 98.736)</code></pre>



<p class="wp-block-paragraph">結果は <strong>約 0.0500（5.00%）</strong> です。価格が 98.736 のときの割引利回りが 5% であることがわかりますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">TBILLPRICE と TBILLYIELD を組み合わせて確認する</span></h3>



<p class="wp-block-paragraph">TBILLPRICE で計算した価格を TBILLYIELD に渡すと、元の割引率が戻ってきます（相互検証に使えます）。</p>



<pre class="wp-block-code"><code>価格の計算:  =TBILLPRICE(DATE(2024,1,1), DATE(2024,7,1), 0.04)  → 97.978
利回りの確認: =TBILLYIELD(DATE(2024,1,1), DATE(2024,7,1), 97.978) → 0.04（= 4%）</code></pre>



<p class="wp-block-paragraph">「TBILLPRICE で求めた価格を TBILLYIELD で戻すと元の割引率になる」という逆関数の関係ですよ。</p>



<h2 class="wp-block-heading"><span id="toc8">TBILLPRICE・TBILLEQ との使い分け</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>購入価格</td><td>割引率</td><td><strong><a href="https://mashukabu.com/spreadsheet-tbillprice-function/">TBILLPRICE</a></strong></td></tr><tr><td>利回り（割引率）</td><td>購入価格</td><td><strong>TBILLYIELD</strong></td></tr><tr><td>他の債券との利回り比較</td><td>割引率</td><td><strong><a href="https://mashukabu.com/spreadsheet-tbilleq-function/">TBILLEQ</a></strong></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">TBILLYIELD が返す「割引利回り」は、市場での T-Bill の価格から算出した年率です。これは T-Bill の市場慣例で使われる利回り表示ですが、他の債券（国債・社債）の利回りと直接比べるには「債券等価利回り（BEY）」への換算が必要です。その換算に使うのが<a href="https://mashukabu.com/spreadsheet-tbilleq-function/">TBILLEQ 関数</a>ですよ。</p>



<pre class="wp-block-code"><code>割引利回りの確認:   =TBILLYIELD(DATE(2024,1,1), DATE(2024,7,1), 97.978)  → 4.00%
BEYへの換算:       =TBILLEQ(DATE(2024,1,1), DATE(2024,7,1), 0.04)         → 約4.08%</code></pre>



<h2 class="wp-block-heading"><span id="toc9">決済日から満期日は1年以内にする</span></h2>



<p class="wp-block-paragraph">TBILLYIELD にも「<strong>決済日から満期日までが1年（365日）以内</strong>」という制約があります。T-Bill の期間（通常4週間・13週間・26週間・52週間）に合わせた設計です。</p>



<p class="wp-block-paragraph">1年を超える期間を指定すると <code>#NUM!</code> エラーになります。長期債の利回り計算には <code>YIELD</code> 関数や <code>YIELDDISC</code> 関数を使ってください。</p>



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



<h3 class="wp-block-heading"><span id="toc11">#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>価格 ≤ 0</td><td>正の値を指定する（T-Billの価格は0より大きく100未満が通常）</td></tr><tr><td>満期日 − 決済日 > 1年</td><td>T-Bill の期間は1年以内に設定する</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">引数に日付・数値として解釈できない値が入っている場合に発生します。日付を直接入力するときは <code>DATE(2024,7,1)</code> のように DATE 関数を使うと確実ですよ。</p>



<p class="wp-block-paragraph">価格を「&#8221;97.978&#8243;」のように文字列として指定している場合も #VALUE! になります。数値として入力してください。</p>



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



<p class="wp-block-paragraph">関数名のスペルミスが原因です。<code>TBILLYILD</code>・<code>T-BILLYIELD</code>・<code>TBILL YIELD</code> などは存在しない関数名です。</p>



<h2 class="wp-block-heading"><span id="toc14">Excel との互換性と実務での活用</span></h2>



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



<p class="wp-block-paragraph">実務での主な活用シーンは次のとおりです。</p>



<ul class="wp-block-list"><li><strong>市場価格から利回りを算出</strong>: ブルームバーグや市場データで取得した T-Bill の時価から、現在の割引利回りを計算する</li><li><strong>購入タイミングの比較</strong>: 同じ銘柄でも購入日によって価格が異なるため、TBILLYIELD で利回りを統一的に比較する</li><li><strong>MMF 組み入れ銘柄の評価</strong>: 複数 T-Bill の個別利回りを計算して加重平均利回りを求める</li><li><strong>CFA 試験対策</strong>: Level 1「Fixed Income」で T-Bill の利回り計算が出題範囲</li></ul>



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



<p class="wp-block-paragraph">スプレッドシートの TBILLYIELD 関数は、米国財務省短期証券（T-Bill）の購入価格から利回り（割引利回り）を計算する財務関数です。ポイントをまとめておきます。</p>



<ul class="wp-block-list"><li>引数は<strong>決済日・満期日・価格</strong>の3つ（省略可能な引数はなし、basis も存在しない）</li><li>第3引数は「価格」（例: 97.978）で、TBILLPRICE・TBILLEQ の「割引率」と異なる点に注意</li><li>結果は<strong>小数で返るため、セルの表示形式を「パーセント」に設定</strong>する</li><li>決済日から満期日は<strong>1年以内</strong>（T-Bill の定義に準拠）</li><li><strong>TBILLPRICE</strong> の逆関数（価格→利回り↔利回り→価格）</li><li><a href="https://mashukabu.com/spreadsheet-tbilleq-function/">TBILLEQ 関数</a>で BEY に換算すると、他の債券と利回りを比較できる</li><li>Excel・LibreOffice Calc との互換性があり、.xlsx ファイルをそのまま開いても動作する</li></ul>



<p class="wp-block-paragraph">T-Bill の購入価格から利回りを確認したいときや、市場データをもとに利回り分析を行いたいときに TBILLYIELD を活用してください。割引債の満期受取額計算には<a href="https://mashukabu.com/spreadsheet-received-function/">RECEIVED 関数</a>、債券の利払日管理には<a href="https://mashukabu.com/spreadsheet-coupncd-function/">COUPNCD 関数</a>も合わせて参照してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-tbillyield-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDOLLARDE関数の使い方｜分数表記のドル価格を小数に変換</title>
		<link>https://mashukabu.com/spreadsheet-dollarde-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dollarde-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 14:41:24 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DOLLARDE関数]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[分数表記]]></category>
		<category><![CDATA[経理・財務]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6221</guid>

					<description><![CDATA[GoogleスプレッドシートのDOLLARDE関数を使えば、米国債券などで使われる分数表記の価格（例：100.16 = 100と16/32）を小数に変換できます。構文・引数・計算例・DOLLARFR関数との使い分け・よくあるエラー対処まで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「債券価格が&#8221;100.16&#8243;って書いてあるけど、これ100.16ドルじゃないの？」——そう思ったことはありませんか。米国の債券市場では価格を分数で表す独自の慣習があり、&#8221;100.16&#8243;は実際には「100と16/32」つまり100.5ドルを意味しています。</p>



<p class="wp-block-paragraph">DOLLARDE 関数はこの変換を自動でやってくれます。分数表記の価格を入力するだけで、計算に使える小数の値をすぐに返してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートの DOLLARDE 関数の使い方を、構文・計算例・よくあるエラーの対処まで同僚に教える感覚で解説します。DOLLARFR 関数との使い分けも整理しているので、米国市場のデータを扱う経理・財務の実務にぜひ活用してください。</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><a href="#toc1" tabindex="0">スプレッドシートの DOLLARDE 関数とは？</a><ol><li><a href="#toc2" tabindex="0">分数表記とは何か</a></li></ol></li><li><a href="#toc3" tabindex="0">DOLLARDE 関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">重要：小数点以下の読み方</a></li></ol></li><li><a href="#toc5" tabindex="0">DOLLARDE 関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">米国債の価格を変換する</a></li><li><a href="#toc7" tabindex="0">値を直接入力するパターン</a></li><li><a href="#toc8" tabindex="0">計算の仕組みを確認してみよう</a></li></ol></li><li><a href="#toc9" tabindex="0">DOLLARDE 関数の実践的な活用例</a><ol><li><a href="#toc10" tabindex="0">債券ポートフォリオの時価評価</a></li><li><a href="#toc11" tabindex="0">DOLLARFR との組み合わせ</a></li><li><a href="#toc12" tabindex="0">TBILLPRICE と組み合わせた T-Bill の価格分析</a></li></ol></li><li><a href="#toc13" tabindex="0">DOLLARFR 関数との使い分け</a></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#NUM! エラー</a></li><li><a href="#toc16" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc17" tabindex="0">分母に小数を指定した場合</a></li></ol></li><li><a href="#toc18" tabindex="0">Excel との互換性</a></li><li><a href="#toc19" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートの DOLLARDE 関数は、<strong>分数表記のドル価格を小数（デシマル）に変換する財務関数</strong>です。</p>



<p class="wp-block-paragraph">関数名の DOLLARDE は &#8220;Dollar Decimal&#8221;（ドル・小数）の略で、DOLLAR＋DE（Decimal）が語源です。読み方は「ダラー デシマル」です。</p>



<h3 class="wp-block-heading"><span id="toc2">分数表記とは何か</span></h3>



<p class="wp-block-paragraph">米国の債券市場（特に国債・モーゲージ証券）では、価格を「整数部＋分数部」で表す慣習があります。よく使われる単位は <strong>32分の1（32nds）</strong> で、&#8221;100.16&#8243; と書いたら「100 + 16/32 = 100.5」という意味です。</p>



<p class="wp-block-paragraph">この「分数表記の価格」を DOLLARDE 関数に渡すと、計算に使える普通の小数（100.5）が返ってきます。</p>



<p class="wp-block-paragraph">DOLLARDE の逆変換（小数 → 分数表記）には <a href="https://mashukabu.com/spreadsheet-dollarfr-function/">DOLLARFR 関数</a> を使います。</p>



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



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



<pre class="wp-block-code"><code>=DOLLARDE(分数表現ドル価格, 分母)</code></pre>



<p class="wp-block-paragraph">英語表記だと <code>=DOLLARDE(fractional_price, fraction)</code> となります。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>省略</th><th>説明</th></tr></thead><tbody><tr><td>分数表現ドル価格（fractional_price）</td><td>必須</td><td>整数部と分子を小数点で区切った数値（例: 100.16 は「100 + 16/分母」を意味する）</td></tr><tr><td>分母（fraction）</td><td>必須</td><td>分数の分母にあたる整数（1 以上。小数を指定した場合は切り捨てられる）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数はたった2つです。シンプルですが、<strong>小数点の右側は「小数」ではなく「分子」として扱われる</strong>という点に注意してください。</p>



<h3 class="wp-block-heading"><span id="toc4">重要：小数点以下の読み方</span></h3>



<p class="wp-block-paragraph">DOLLARDE の一番の落とし穴は、引数の解釈です。</p>



<ul class="wp-block-list"><li><code>DOLLARDE(100.16, 32)</code> → 100 + 16/32 = <strong>100.5</strong></li><li><code>DOLLARDE(100.16, 10)</code> → 100 + 16/10 = <strong>101.6</strong>（同じ&#8221;100.16&#8243;でも分母が変わると結果が変わる）</li></ul>



<p class="wp-block-paragraph">小数点の右側の「16」は、小数の0.16ではなく、分子の「16」として扱われます。分母を間違えると計算結果が全く変わるので、使用する市場の単位（32nds・64nds・8thsなど）を確認してから指定してください。</p>



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



<h3 class="wp-block-heading"><span id="toc6">米国債の価格を変換する</span></h3>



<p class="wp-block-paragraph">割引率4%の米国債価格「99.16」を32分の1単位で小数に変換する場合です。</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>99.16</td></tr><tr><td>B3</td><td>分母（32分の1単位）</td><td>32</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">結果は <strong>99.5</strong> です。99 + 16/32 = 99.5 ですね。</p>



<h3 class="wp-block-heading"><span id="toc7">値を直接入力するパターン</span></h3>



<pre class="wp-block-code"><code>=DOLLARDE(100.16, 32)  → 100.5
=DOLLARDE(1.05, 16)    → 1.3125（= 1 + 5/16）
=DOLLARDE(50.04, 8)    → 50.5（= 50 + 4/8）</code></pre>



<h3 class="wp-block-heading"><span id="toc8">計算の仕組みを確認してみよう</span></h3>



<p class="wp-block-paragraph">DOLLARDE の内部計算はシンプルです。</p>



<pre class="wp-block-code"><code>結果 = 整数部 + (小数点以下の数字 ÷ 分母)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>入力</th><th>分母</th><th>計算式</th><th>結果</th></tr></thead><tbody><tr><td>100.16</td><td>32</td><td>100 + 16/32</td><td>100.5</td></tr><tr><td>1.05</td><td>16</td><td>1 + 5/16</td><td>1.3125</td></tr><tr><td>50.04</td><td>8</td><td>50 + 4/8</td><td>50.5</td></tr><tr><td>99.24</td><td>32</td><td>99 + 24/32</td><td>99.75</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc9">DOLLARDE 関数の実践的な活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">債券ポートフォリオの時価評価</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>小数価格</th></tr></thead><tbody><tr><td>米国債 A</td><td>99.24</td><td>32</td><td><code>=DOLLARDE(B2, C2)</code></td><td>99.75</td></tr><tr><td>米国債 B</td><td>101.16</td><td>32</td><td><code>=DOLLARDE(B3, C3)</code></td><td>101.5</td></tr><tr><td>米国債 C</td><td>98.08</td><td>32</td><td><code>=DOLLARDE(B4, C4)</code></td><td>98.25</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">変換後の小数価格なら、SUM 関数でそのまま合計できます。</p>



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



<p class="wp-block-paragraph">DOLLARDE で変換した価格に利益を加算し、結果を <a href="https://mashukabu.com/spreadsheet-dollarfr-function/">DOLLARFR 関数</a> で分数表記に戻す組み合わせも実務でよく使います。</p>



<pre class="wp-block-code"><code>=DOLLARFR(DOLLARDE(100.16, 32) * 1.02, 32)</code></pre>



<p class="wp-block-paragraph">この数式は「分数表記の債券価格100.16を小数に変換→2%上乗せ→再び32分の1単位の分数表記に戻す」という計算をしていますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">TBILLPRICE と組み合わせた T-Bill の価格分析</span></h3>



<p class="wp-block-paragraph">T-Bill（米国財務省短期証券）の <a href="https://mashukabu.com/spreadsheet-tbillprice-function/">TBILLPRICE 関数</a> が返す小数の購入価格を、DOLLARFR で分数表記に変換することもできます。</p>



<pre class="wp-block-code"><code>=DOLLARFR(TBILLPRICE(DATE(2024,1,1), DATE(2024,7,1), 0.04), 32)</code></pre>



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



<p class="wp-block-paragraph">DOLLARDE と <a href="https://mashukabu.com/spreadsheet-dollarfr-function/">DOLLARFR</a> は逆方向の変換を行います。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DOLLARDE</th><th>DOLLARFR</th></tr></thead><tbody><tr><td>変換方向</td><td>分数表記 → 小数</td><td>小数 → 分数表記</td></tr><tr><td>読み方</td><td>ダラー デシマル</td><td>ダラー フラクション</td></tr><tr><td>使いどころ</td><td>分数価格を計算に使うとき</td><td>計算結果を分数表記で報告するとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「<strong>計算するなら DOLLARDE、表示するなら DOLLARFR</strong>」と覚えておくと使い分けやすいですよ。</p>



<p class="wp-block-paragraph">なお、DOLLAR 関数（通貨記号を付けて数値を文字列に変換する関数）は全く別の関数です。名前が似ているので混同しないように注意してください。</p>



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



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



<p class="wp-block-paragraph">分母に 0 以下の値を指定すると <code>#NUM!</code> エラーが出ます。</p>



<pre class="wp-block-code"><code>=DOLLARDE(1.05, 0)   → #NUM! エラー
=DOLLARDE(1.05, -1)  → #NUM! エラー</code></pre>



<p class="wp-block-paragraph">分母は必ず <strong>1 以上の正の整数</strong>を指定してください。</p>



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



<p class="wp-block-paragraph">引数に数値以外（文字列など）を指定すると <code>#VALUE!</code> エラーになります。</p>



<pre class="wp-block-code"><code>=DOLLARDE(&quot;abc&quot;, 16)  → #VALUE! エラー</code></pre>



<p class="wp-block-paragraph">セル参照を使っている場合は、参照先のセルが数値形式になっているか確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc17">分母に小数を指定した場合</span></h3>



<p class="wp-block-paragraph">分母に小数を指定しても、エラーにはなりません。ただし、小数部分は<strong>切り捨て</strong>られます。</p>



<pre class="wp-block-code"><code>=DOLLARDE(1.05, 16.9)  → DOLLARDE(1.05, 16) と同じ結果</code></pre>



<p class="wp-block-paragraph">意図しない計算になる可能性があるので、分母には整数を指定するようにしましょう。</p>



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



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



<p class="wp-block-paragraph">ただし、Excel 2003 以前では「分析ツール」アドインの追加が必要でした。現在は標準搭載されているので、特別な設定は不要です。</p>



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



<p class="wp-block-paragraph">スプレッドシートの DOLLARDE 関数は、米国債券などで使われる分数表記の価格を小数に変換する財務関数です。ポイントをまとめておきます。</p>



<ul class="wp-block-list"><li>引数は <strong>分数表現ドル価格・分母</strong> の2つだけ</li><li>小数点以下は「小数」ではなく<strong>「分子」</strong>として扱われる（例: 100.16 の .16 は 16/分母）</li><li>分母には <strong>1 以上の整数</strong>を指定（0 以下は <code>#NUM!</code> エラー）</li><li>逆変換（小数 → 分数表記）には <a href="https://mashukabu.com/spreadsheet-dollarfr-function/">DOLLARFR 関数</a> を使う</li><li>Excel・LibreOffice Calc との互換性があり、.xlsx ファイルをそのまま開いても動作する</li></ul>



<p class="wp-block-paragraph">日本の実務で使う場面は限られますが、米国市場のデータや外債を扱うときには欠かせない関数です。セットで <a href="https://mashukabu.com/spreadsheet-dollarfr-function/">DOLLARFR 関数</a> も覚えておくと、分数表記と小数の変換が自在にできるようになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dollarde-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのDOLLARFR関数の使い方｜小数のドル価格を分数表記に変換</title>
		<link>https://mashukabu.com/spreadsheet-dollarfr-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dollarfr-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 14:41:22 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DOLLARFR関数]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[分数表記]]></category>
		<category><![CDATA[経理・財務]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6219</guid>

					<description><![CDATA[GoogleスプレッドシートのDOLLARFR関数を使えば、小数のドル価格を米国債券市場で使われる分数表記（例：100.5 → 100.16）に変換できます。構文・引数・計算例・DOLLARDE関数との使い分け・よくあるエラー対処まで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで計算した結果は100.5ドルなのに、レポートには&#8221;100.16&#8243;と書かないといけない&#8230;」——米国債券を扱う実務でこんな場面に遭遇したことはありませんか。</p>



<p class="wp-block-paragraph">DOLLARFR 関数はこの変換を自動でやってくれます。小数の価格を入力するだけで、米国債券市場で使われる分数表記の価格をすぐに返してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートの DOLLARFR 関数の使い方を、構文・計算例・よくあるエラーの対処まで同僚に教える感覚で解説します。DOLLARDE 関数との使い分けも整理しているので、米国市場のデータを扱う経理・財務の実務にぜひ活用してください。</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><a href="#toc1" tabindex="0">スプレッドシートの DOLLARFR 関数とは？</a><ol><li><a href="#toc2" tabindex="0">分数表記とは何か</a></li></ol></li><li><a href="#toc3" tabindex="0">DOLLARFR 関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">重要：結果の読み方</a></li></ol></li><li><a href="#toc5" tabindex="0">DOLLARFR 関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">小数価格を32分の1単位の分数表記に変換する</a></li><li><a href="#toc7" tabindex="0">値を直接入力するパターン</a></li><li><a href="#toc8" tabindex="0">計算の仕組みを確認してみよう</a></li></ol></li><li><a href="#toc9" tabindex="0">DOLLARFR 関数の実践的な活用例</a><ol><li><a href="#toc10" tabindex="0">債券レポート用の価格表示</a></li><li><a href="#toc11" tabindex="0">DOLLARDE との組み合わせ</a></li><li><a href="#toc12" tabindex="0">TBILLPRICE で求めた価格を分数表記に変換</a></li></ol></li><li><a href="#toc13" tabindex="0">DOLLARDE 関数との使い分け</a></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#NUM! エラー</a></li><li><a href="#toc16" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc17" tabindex="0">分母に小数を指定した場合</a></li><li><a href="#toc18" tabindex="0">結果が0.00になる場合</a></li></ol></li><li><a href="#toc19" tabindex="0">Excel との互換性</a></li><li><a href="#toc20" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートの DOLLARFR 関数は、<strong>小数（デシマル）のドル価格を、分数表記に変換する財務関数</strong>です。</p>



<p class="wp-block-paragraph">関数名の DOLLARFR は &#8220;Dollar Fraction&#8221;（ドル・分数）の略で、DOLLAR＋FR（Fraction）が語源です。読み方は「ダラー フラクション」です。</p>



<h3 class="wp-block-heading"><span id="toc2">分数表記とは何か</span></h3>



<p class="wp-block-paragraph">米国の債券市場（特に国債・モーゲージ証券）では、価格を「整数部＋分数部」で表す慣習があります。よく使われる単位は <strong>32分の1（32nds）</strong> です。</p>



<p class="wp-block-paragraph">たとえば「100.5ドル」を32分の1単位の分数表記に変換すると、「100.16」となります。これは「100 + 16/32 = 100.5」を意味しています。</p>



<p class="wp-block-paragraph">DOLLARFR はこの「小数 → 分数表記」の変換を行います。逆の「分数表記 → 小数」変換には <a href="https://mashukabu.com/spreadsheet-dollarde-function/">DOLLARDE 関数</a> を使います。</p>



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



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



<pre class="wp-block-code"><code>=DOLLARFR(小数ドル価格, 分母)</code></pre>



<p class="wp-block-paragraph">英語表記だと <code>=DOLLARFR(decimal_dollar, fraction)</code> となります。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>省略</th><th>説明</th></tr></thead><tbody><tr><td>小数ドル価格（decimal_dollar）</td><td>必須</td><td>変換したい小数の価格（例: 100.5）</td></tr><tr><td>分母（fraction）</td><td>必須</td><td>分数の分母にあたる整数（1 以上。小数を指定した場合は切り捨てられる）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は2つです。<strong>結果の小数点以下は「小数」ではなく「分子」を表す</strong>という点に注意してください。</p>



<h3 class="wp-block-heading"><span id="toc4">重要：結果の読み方</span></h3>



<p class="wp-block-paragraph">DOLLARFR の結果は一見わかりにくいです。</p>



<ul class="wp-block-list"><li><code>DOLLARFR(100.5, 32)</code> → <strong>100.16</strong>（= 100 + 16/32）</li><li><code>DOLLARFR(100.5, 16)</code> → <strong>100.08</strong>（= 100 + 8/16）</li></ul>



<p class="wp-block-paragraph">返ってきた「100.16」の小数点以下「16」は、小数の0.16ではなく、「分子16」を表しています。表示用の特殊な表記フォーマットなので、そのままでは通常の計算には使えません。計算に戻すときは <a href="https://mashukabu.com/spreadsheet-dollarde-function/">DOLLARDE 関数</a> で小数に変換してください。</p>



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



<h3 class="wp-block-heading"><span id="toc6">小数価格を32分の1単位の分数表記に変換する</span></h3>



<p class="wp-block-paragraph">99.75 ドルを 32分の1単位の分数表記に変換する場合です。</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>99.75</td></tr><tr><td>B3</td><td>分母（32分の1単位）</td><td>32</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">結果は <strong>99.24</strong> です。99 + 24/32 = 99.75 を確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc7">値を直接入力するパターン</span></h3>



<pre class="wp-block-code"><code>=DOLLARFR(100.5, 32)    → 100.16（= 100 + 16/32）
=DOLLARFR(1.3125, 16)   → 1.05（= 1 + 5/16）
=DOLLARFR(50.5, 8)      → 50.04（= 50 + 4/8）</code></pre>



<h3 class="wp-block-heading"><span id="toc8">計算の仕組みを確認してみよう</span></h3>



<p class="wp-block-paragraph">DOLLARFR の内部計算は次の手順です。</p>



<pre class="wp-block-code"><code>① 小数部分 × 分母 = 分子
② 整数部 + 分子（小数点以下に配置）= 結果</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>入力（小数）</th><th>分母</th><th>計算式</th><th>結果（分数表記）</th></tr></thead><tbody><tr><td>100.5</td><td>32</td><td>0.5 × 32 = 16 → 100.16</td><td>100.16</td></tr><tr><td>99.75</td><td>32</td><td>0.75 × 32 = 24 → 99.24</td><td>99.24</td></tr><tr><td>1.3125</td><td>16</td><td>0.3125 × 16 = 5 → 1.05</td><td>1.05</td></tr><tr><td>50.5</td><td>8</td><td>0.5 × 8 = 4 → 50.04</td><td>50.04</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc9">DOLLARFR 関数の実践的な活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">債券レポート用の価格表示</span></h3>



<p class="wp-block-paragraph">スプレッドシートで計算した小数の債券価格を、レポート・報告書用に分数表記に変換します。</p>



<figure class="wp-block-table"><table><thead><tr><th>銘柄</th><th>計算済み小数価格</th><th>数式</th><th>分数表記（32nds）</th></tr></thead><tbody><tr><td>米国債 A</td><td>99.75</td><td><code>=DOLLARFR(B2, 32)</code></td><td>99.24</td></tr><tr><td>米国債 B</td><td>101.5</td><td><code>=DOLLARFR(B3, 32)</code></td><td>101.16</td></tr><tr><td>米国債 C</td><td>98.25</td><td><code>=DOLLARFR(B4, 32)</code></td><td>98.08</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この表をそのまま報告書に貼り付ければ、手作業での変換が不要になりますよ。</p>



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



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-dollarde-function/">DOLLARDE 関数</a> で小数に変換→計算→DOLLARFR で分数表記に戻すという組み合わせが実務でよく使われます。</p>



<pre class="wp-block-code"><code>=DOLLARFR(DOLLARDE(100.16, 32) * 1.02, 32)</code></pre>



<p class="wp-block-paragraph">この数式は「分数表記100.16 → 小数100.5 → 2%上乗せ102.51 → 分数表記102.16」という計算をしていますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">TBILLPRICE で求めた価格を分数表記に変換</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-tbillprice-function/">TBILLPRICE 関数</a> が返す小数の購入価格を DOLLARFR で分数表記に変換する例です。</p>



<pre class="wp-block-code"><code>=DOLLARFR(TBILLPRICE(DATE(2024,1,1), DATE(2024,7,1), 0.04), 32)</code></pre>



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



<p class="wp-block-paragraph">DOLLARFR と <a href="https://mashukabu.com/spreadsheet-dollarde-function/">DOLLARDE</a> は逆方向の変換を行います。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>DOLLARDE</th><th>DOLLARFR</th></tr></thead><tbody><tr><td>変換方向</td><td>分数表記 → 小数</td><td>小数 → 分数表記</td></tr><tr><td>読み方</td><td>ダラー デシマル</td><td>ダラー フラクション</td></tr><tr><td>使いどころ</td><td>分数価格を計算に使うとき</td><td>計算結果を分数表記で報告するとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「<strong>計算するなら DOLLARDE、表示するなら DOLLARFR</strong>」と覚えておくと使い分けやすいですよ。</p>



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



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



<p class="wp-block-paragraph">分母に 0 以下の値を指定すると <code>#NUM!</code> エラーが出ます。</p>



<pre class="wp-block-code"><code>=DOLLARFR(100.5, 0)   → #NUM! エラー
=DOLLARFR(100.5, -1)  → #NUM! エラー</code></pre>



<p class="wp-block-paragraph">分母は必ず <strong>1 以上の正の整数</strong>を指定してください。</p>



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



<p class="wp-block-paragraph">引数に数値以外（文字列など）を指定すると <code>#VALUE!</code> エラーになります。</p>



<pre class="wp-block-code"><code>=DOLLARFR(&quot;abc&quot;, 32)  → #VALUE! エラー</code></pre>



<p class="wp-block-paragraph">セル参照を使っている場合は、参照先のセルが数値形式になっているか確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc17">分母に小数を指定した場合</span></h3>



<p class="wp-block-paragraph">分母に小数を指定しても、エラーにはなりません。ただし、小数部分は<strong>切り捨て</strong>られます。</p>



<pre class="wp-block-code"><code>=DOLLARFR(100.5, 32.9)  → DOLLARFR(100.5, 32) と同じ結果</code></pre>



<p class="wp-block-paragraph">意図しない計算になる可能性があるので、分母には整数を指定するようにしましょう。</p>



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



<p class="wp-block-paragraph">変換後の分子がちょうど0になる場合、小数点以下が「.00」と表示されます。</p>



<pre class="wp-block-code"><code>=DOLLARFR(100, 32)  → 100.00（= 100 + 0/32、整数値そのもの）</code></pre>



<p class="wp-block-paragraph">これはエラーではなく正常な動作です。</p>



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



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



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



<p class="wp-block-paragraph">スプレッドシートの DOLLARFR 関数は、小数のドル価格を米国債券市場で使われる分数表記に変換する財務関数です。ポイントをまとめておきます。</p>



<ul class="wp-block-list"><li>引数は <strong>小数ドル価格・分母</strong> の2つだけ</li><li>結果の小数点以下は「小数」ではなく<strong>「分子」</strong>を表す（例: 100.16 の .16 は 16/分母）</li><li>分母には <strong>1 以上の整数</strong>を指定（0 以下は <code>#NUM!</code> エラー）</li><li>逆変換（分数表記 → 小数）には <a href="https://mashukabu.com/spreadsheet-dollarde-function/">DOLLARDE 関数</a> を使う</li><li>Excel・LibreOffice Calc との互換性があり、.xlsx ファイルをそのまま開いても動作する</li></ul>



<p class="wp-block-paragraph">日本の実務で使う場面は限られますが、米国市場のデータや外債を扱うときには欠かせない関数です。<a href="https://mashukabu.com/spreadsheet-dollarde-function/">DOLLARDE 関数</a> とセットで覚えておくと、分数表記と小数の変換が自在にできるようになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dollarfr-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
