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

<channel>
	<title>証券価格 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e8%a8%bc%e5%88%b8%e4%be%a1%e6%a0%bc/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 07 May 2026 14:28:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</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のODDLPRICE関数の使い方｜最後の利払期間が端数の証券の価格</title>
		<link>https://mashukabu.com/excel-oddlprice-function/</link>
					<comments>https://mashukabu.com/excel-oddlprice-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 07 May 2026 14:28:52 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ODDLPRICE関数]]></category>
		<category><![CDATA[端数利払期間]]></category>
		<category><![CDATA[証券価格]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6613</guid>

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



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



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




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

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



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



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



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



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



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



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



<p>ODDLPRICE はどちらの端数にも対応しています。</p>



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



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



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



<p>ODDLPRICE関数の構文は次のとおりです。</p>



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



<p>引数は8つで、basis のみ省略可能です。<a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE関数</a>（9引数）と比べて、<code>issue</code> と <code>first_coupon</code> の代わりに <code>last_interest</code>（直前利払日）が1つだけ指定されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略</th><th>意味</th></tr></thead><tbody><tr><td>settlement</td><td>必須</td><td>受渡日（証券の購入が完了する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還日）。settlement より後の日付</td></tr><tr><td>last_interest</td><td>必須</td><td>直前利払日（最終利払期間の開始日）。settlement より前の日付</td></tr><tr><td>rate</td><td>必須</td><td>証券の年間クーポン利率（小数で指定。5%なら 0.05）</td></tr><tr><td>yld</td><td>必須</td><td>証券の年間利回り（小数で指定。4%なら 0.04）</td></tr><tr><td>redemption</td><td>必須</td><td>額面100円あたりの償還価格（通常は 100）</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払回数（1=年1回・2=半年払い・4=四半期払い）</td></tr><tr><td>basis</td><td>省略可</td><td>日数計算基準（0〜4の整数。既定は0）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">各引数の日付関係</span></h3>



<p>引数の日付間には次の制約があります。</p>



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



<p>時系列で並べるとこうなります。</p>



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



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



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



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



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



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



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



<p>rate > yld なら価格はパー（100）より高く、rate < yld なら低くなります。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>名称</th><th>主な対象</th></tr></thead><tbody><tr><td>0（既定）</td><td>US 30/360 (NASD)</td><td>米国社債</td></tr><tr><td>1</td><td>Actual/Actual</td><td>米国国債</td></tr><tr><td>2</td><td>Actual/360</td><td>米国マネーマーケット</td></tr><tr><td>3</td><td>Actual/365</td><td>日本国内債券</td></tr><tr><td>4</td><td>European 30/360</td><td>欧州社債</td></tr></tbody></table></figure>



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



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



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



<p>実例で動きを確認しましょう。</p>



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



<p>Microsoft公式リファレンスのサンプル値です。</p>



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



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



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



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



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



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



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



<h3 class="wp-block-heading"><span id="toc13">例3: セル参照を使った書き方</span></h3>



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



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>受渡日</td><td>2026/5/7</td></tr><tr><td>B3</td><td>満期日</td><td>2027/1/10</td></tr><tr><td>B4</td><td>直前利払日</td><td>2026/7/10</td></tr><tr><td>B5</td><td>クーポン利率</td><td>0.025</td></tr><tr><td>B6</td><td>利回り</td><td>0.022</td></tr><tr><td>B7</td><td>償還価格</td><td>100</td></tr><tr><td>B8</td><td>frequency</td><td>2</td></tr><tr><td>B9</td><td>basis</td><td>3</td></tr></tbody></table></figure>



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



<h2 class="wp-block-heading"><span id="toc14">ODDLPRICE・PRICE・ODDFPRICE の使い分け</span></h2>



<p>端数利払期間の有無と位置によって、使う関数が変わります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>端数の位置</th><th>補足</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td>なし（標準）</td><td>全クーポン期間が均等な債券</td></tr><tr><td><a href="https://mashukabu.com/excel-oddfprice-function/">ODDFPRICE</a></td><td>最初の利払期間のみ端数</td><td>発行日〜第1クーポン日が不規則</td></tr><tr><td><strong>ODDLPRICE</strong></td><td>最後の利払期間のみ端数</td><td>最終クーポン日〜満期が不規則</td></tr></tbody></table></figure>



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



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



<p>ODDFPRICE は引数が9つです。</p>



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



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



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



<p>PRICE 関数は引数が7つです。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p>端数利払期間を扱う関数は ODDLPRICE 以外にもあります。</p>



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



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



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



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



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



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



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



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



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



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



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



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

					<description><![CDATA[ExcelのODDFPRICE関数は、最初の利払期間が端数（短期・長期）になっている証券の価格を計算する財務関数です。構文・引数・使用例をわかりやすく解説。ODDLPRICE・PRICE関数との使い分けや、端数第1期間が発生する実務ケースも紹介します。]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">ExcelのODDFPRICE関数の使い方｜最初の利払期間が端数の証券の価格</h1>



<p>債券の最初の利払期間が通常より短かったり長かったりする場合、標準の<a href="https://mashukabu.com/excel-price-function/">PRICE関数</a>では正確な価格が計算できません。このような端数第1期間（Odd First Period）を持つ証券に対応した関数が ODDFPRICE です。</p>



<p>ExcelのODDFPRICE関数を使えば、発行日から最初の利払日までの期間が標準ではない証券の理論価格を計算できます。国内外の新発債や途中参加型の債券でよく使われますよ。</p>



<p>この記事では、ODDFPRICE関数の構文・引数・計算例と、PRICE・ODDLPRICE との使い分けを解説します。</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><li><a href="#toc1" tabindex="0">ExcelのODDFPRICE関数とは？</a><ol><li><a href="#toc2" tabindex="0">端数第1期間（Odd First Period）とは</a></li><li><a href="#toc3" tabindex="0">ODDFPRICE が必要な場面</a></li></ol></li><li><a href="#toc4" tabindex="0">ODDFPRICE関数の構文と引数</a><ol><li><a href="#toc5" tabindex="0">各引数の日付関係</a></li><li><a href="#toc6" tabindex="0">rate と yld の違い</a></li><li><a href="#toc7" tabindex="0">basis 引数の選び方</a></li><li><a href="#toc8" tabindex="0">frequency 引数の選び方</a></li></ol></li><li><a href="#toc9" tabindex="0">ODDFPRICE関数の基本的な使い方</a><ol><li><a href="#toc10" tabindex="0">例1: 短端数（短い初回クーポン期間）</a></li><li><a href="#toc11" tabindex="0">例2: 長端数（長い初回クーポン期間）</a></li><li><a href="#toc12" tabindex="0">例3: セル参照を使った書き方</a></li></ol></li><li><a href="#toc13" tabindex="0">ODDFPRICE・PRICE・ODDLPRICE の使い分け</a><ol><li><a href="#toc14" tabindex="0">PRICE 関数との引数の違い</a></li></ol></li><li><a href="#toc15" tabindex="0">計算の仕組み（概要）</a><ol><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><li><a href="#toc21" tabindex="0">利回りの感応度分析</a></li><li><a href="#toc22" tabindex="0">ODDFYIELD との組み合わせ</a></li></ol></li><li><a href="#toc23" tabindex="0">関連する財務関数の全体像</a></li><li><a href="#toc24" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc25" tabindex="0">#NUM! エラー</a></li><li><a href="#toc26" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc27" tabindex="0">#NAME? エラー</a></li><li><a href="#toc28" tabindex="0">結果が想定と大きく違うとき</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p>関数名の「ODD」は「端数・変則」を意味し、「F」は「First（最初）」、「PRICE」は「価格」を表します。つまり「最初の利払期間が端数の場合の価格計算」です。</p>



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



<p>通常の債券は、発行日から最初の利払日まで1クーポン期間分（例: 半年払いなら約6か月）です。しかし実際の市場では、次のようなケースが多く発生します。</p>



<ul class="wp-block-list"><li><strong>短端数（Short First Period）</strong>: 最初の利払日まで1クーポン期間より短い<ul><li>例: 半年払い債で発行日が4月1日、最初の利払日が9月15日（約5.5か月）</li></ul></li><li><strong>長端数（Long First Period）</strong>: 最初の利払日まで1クーポン期間より長い<ul><li>例: 半年払い債で発行日が4月1日、最初の利払日が翌年3月15日（約11.5か月）</li></ul></li></ul>



<p>ODDFPRICE はどちらの端数にも対応しています。</p>



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



<ul class="wp-block-list"><li>新発債の発行日と最初の利払日が半端な間隔になっているとき</li><li>既発債を発行途中から購入する場合の価格確認</li><li>国際市場の債券（クーポン期間が不規則になりやすい）の評価</li><li>PRICE関数が使えない（発行日と第1クーポン日が不規則）ケース</li></ul>



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



<p>ODDFPRICE関数の構文は次のとおりです。</p>



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



<p>引数は9つで、basis のみ省略可能です。<a href="https://mashukabu.com/excel-price-function/">PRICE関数</a>（7引数）と比べて <code>issue</code>（発行日）と <code>first_coupon</code>（最初の利払日）が追加されています。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略</th><th>意味</th></tr></thead><tbody><tr><td>settlement</td><td>必須</td><td>受渡日（証券の購入が完了する日）</td></tr><tr><td>maturity</td><td>必須</td><td>満期日（償還日）。settlementより後の日付</td></tr><tr><td>issue</td><td>必須</td><td>発行日。settlementより前の日付</td></tr><tr><td>first_coupon</td><td>必須</td><td>最初の利払日。issueより後の日付</td></tr><tr><td>rate</td><td>必須</td><td>証券の年間クーポン利率（小数で指定。5%なら 0.05）</td></tr><tr><td>yld</td><td>必須</td><td>証券の年間利回り（小数で指定。4%なら 0.04）</td></tr><tr><td>redemption</td><td>必須</td><td>額面100円あたりの償還価格（通常は 100）</td></tr><tr><td>frequency</td><td>必須</td><td>年間利払回数（1=年1回・2=半年払い・4=四半期払い）</td></tr><tr><td>basis</td><td>省略可</td><td>日数計算基準（0〜4の整数。既定は0）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc5">各引数の日付関係</span></h3>



<p>引数の日付間には次の制約があります。</p>



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



<p><code>first_coupon</code> が settlement より前でも後でもよいですが、通常は settlement に近いクーポン日を指定します。</p>



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



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



<p>rate > yld なら価格はパー（100）より高く、rate < yld なら低くなります。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>値</th><th>名称</th><th>主な対象</th></tr></thead><tbody><tr><td>0（既定）</td><td>US 30/360 (NASD)</td><td>米国社債</td></tr><tr><td>1</td><td>Actual/Actual</td><td>米国国債</td></tr><tr><td>2</td><td>Actual/360</td><td>米国マネーマーケット</td></tr><tr><td>3</td><td>Actual/365</td><td>日本国内債券</td></tr><tr><td>4</td><td>European 30/360</td><td>欧州社債</td></tr></tbody></table></figure>



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



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



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



<p>実例で動きを確認しましょう。</p>



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



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2030/11/15</li><li>発行日: 2026/2/15</li><li>最初の利払日: 2026/8/15（通常の半年払いより短い・短端数）</li><li>クーポン利率: 2%</li><li>利回り: 2.5%</li><li>償還価格: 100</li><li>frequency: 2（半年払い）</li><li>basis: 1</li></ul>



<pre class="wp-block-code"><code>=ODDFPRICE(DATE(2026,5,7), DATE(2030,11,15), DATE(2026,2,15), DATE(2026,8,15), 0.02, 0.025, 100, 2, 1)</code></pre>



<p>クーポン利率（2%）が利回り（2.5%）を下回るため、価格はパー（100）より低くなります。</p>



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



<ul class="wp-block-list"><li>受渡日: 2026/5/7</li><li>満期日: 2031/3/15</li><li>発行日: 2025/9/15</li><li>最初の利払日: 2026/9/15（約1年後・長端数）</li><li>クーポン利率: 3%</li><li>利回り: 2.5%</li><li>償還価格: 100</li><li>frequency: 2（半年払い）</li><li>basis: 1</li></ul>



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



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



<h3 class="wp-block-heading"><span id="toc12">例3: セル参照を使った書き方</span></h3>



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



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>受渡日</td><td>2026/5/7</td></tr><tr><td>B3</td><td>満期日</td><td>2030/11/15</td></tr><tr><td>B4</td><td>発行日</td><td>2026/2/15</td></tr><tr><td>B5</td><td>最初の利払日</td><td>2026/8/15</td></tr><tr><td>B6</td><td>クーポン利率</td><td>0.02</td></tr><tr><td>B7</td><td>利回り</td><td>0.025</td></tr><tr><td>B8</td><td>償還価格</td><td>100</td></tr><tr><td>B9</td><td>frequency</td><td>2</td></tr><tr><td>B10</td><td>basis</td><td>1</td></tr></tbody></table></figure>



<p>数式は <code>=ODDFPRICE(B2,B3,B4,B5,B6,B7,B8,B9,B10)</code> です。利回り（B7）を変更すれば価格が連動して再計算されます。</p>



<h2 class="wp-block-heading"><span id="toc13">ODDFPRICE・PRICE・ODDLPRICE の使い分け</span></h2>



<p>端数利払期間の有無と位置によって、使う関数が変わります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>端数の位置</th><th>補足</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-price-function/">PRICE</a></td><td>なし（標準）</td><td>全クーポン期間が均等な債券</td></tr><tr><td><strong>ODDFPRICE</strong></td><td>最初の利払期間のみ端数</td><td>発行日〜第1クーポン日が不規則</td></tr><tr><td>ODDLPRICE</td><td>最後の利払期間のみ端数</td><td>最後のクーポン期間〜満期が不規則</td></tr></tbody></table></figure>



<p>実務では最初の利払期間に端数が出るケースが多いため、ODDFPRICE の出番が多くなります。最後の期間に端数が出る場合は ODDLPRICE を使います。両方端数の場合は、まれですがアナリティカルな計算が必要です。</p>



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



<p>PRICE 関数は引数が7つです。</p>



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



<p>ODDFPRICE は <code>issue</code>（発行日）と <code>first_coupon</code>（最初の利払日）が追加された9引数です。この2つの引数があることで、端数期間の長さを正確に計算できます。</p>



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



<p>ODDFPRICE の計算は PRICE と基本的な考え方は同じで、将来のキャッシュフローを利回りで割り引いて合計します。端数期間の扱いがポイントです。</p>



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



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



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



<p>以降のクーポンは通常どおりの金額です。各キャッシュフローを（1 + 利回り/频度）で割り引いた現在価値の合計が価格になります。</p>



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



<p>長端数（最初のクーポン期間が1標準期間より長い）の場合、最初のクーポンは標準期間の1.5倍などになることがあります。この端数処理が PRICE 関数では対応できない部分です。</p>



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



<h3 class="wp-block-heading"><span id="toc19">新発債の価格確認</span></h3>



<p>国内で新規に発行される債券は、発行日と最初の利払日の間隔が半端になることがあります。たとえば発行日が5月中旬で利払日が3月と9月の場合、最初の利払日まで約4か月（短端数）になります。ODDFPRICE を使えば、このような新発債の受渡日時点の適正価格が計算できます。</p>



<h3 class="wp-block-heading"><span id="toc20">外国債の評価</span></h3>



<p>米国や欧州の債券は日本国債より端数第1期間が発生しやすい市場慣行があります。basis と frequency を市場に合わせて設定することで、ODDFPRICE が対応できます。</p>



<h3 class="wp-block-heading"><span id="toc21">利回りの感応度分析</span></h3>



<p>yld（利回り）を変化させながら ODDFPRICE を計算すると、価格と利回りの関係（デュレーション的な分析）ができます。データテーブル機能と組み合わせると、利回りシナリオ別の価格一覧が作れます。</p>



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



<p>価格がわかっていて利回りを求めたい場合は ODDFYIELD 関数（ODDFPRICE の逆関数）を使います。</p>



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



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



<p>端数利払期間を扱う関数は ODDFPRICE 以外にもあります。</p>



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



<p>また、クーポン日のスケジュール管理には COUP 系関数を使います。</p>



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>settlement ≧ maturity</td><td>受渡日が満期日より前になるよう修正</td></tr><tr><td>issue > settlement</td><td>発行日が受渡日より前になるよう確認</td></tr><tr><td>first_coupon ≦ issue</td><td>最初の利払日が発行日より後になるよう修正</td></tr><tr><td>rate や yld が負の値</td><td>正の小数で指定（例: 5% → 0.05）</td></tr><tr><td>frequency が 1・2・4 以外</td><td>1、2、4 のいずれかを指定</td></tr><tr><td>basis が 0〜4 以外</td><td>0〜4の整数を指定</td></tr></tbody></table></figure>



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



<p>引数の日付が日付として認識されていない場合に発生します。文字列（&#8221;2026/5/7&#8243;）を直接渡すと発生します。</p>



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



<p>DATE関数で渡すか、日付として整形済みのセル参照を使ってください。</p>



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



<p>「ODDFPRICE」のスペルミスが原因です。「ODDFRPICE」「ODD_FPRICE」のような表記は存在しません。Excel の入力候補（IntelliSense）から選ぶと安全です。</p>



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



<ul class="wp-block-list"><li>rate と yld の単位ミス（パーセント表記 5 を 0.05 とすべきところを 5 にしている）→ 小数で指定</li><li>basis の市場慣行違い → 国内債は basis=3、米国国債は basis=1</li><li>first_coupon の日付ミス → 端数が短端数か長端数かで挙動が変わる</li><li>settlement が issue より前になっている → 引数の日付順序を確認</li></ul>



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



<p>ExcelのODDFPRICE関数は、最初の利払期間が端数（短期・長期）になっている証券の価格を計算する財務関数です。本記事のポイントを振り返ります。</p>



<ul class="wp-block-list"><li><strong>構文</strong>: <code>=ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yld, redemption, frequency, [basis])</code></li><li><strong>戻り値</strong>: 額面100円あたりの理論価格（実数）</li><li><strong>特徴</strong>: 第1クーポン期間が短端数・長端数のどちらにも対応</li><li><strong>対象</strong>: 新発債・端数第1期間を持つ利付債</li><li><strong>PRICE との違い</strong>: <code>issue</code>（発行日）と <code>first_coupon</code>（最初の利払日）の2引数が追加</li><li><strong>frequency</strong>: 1（年1回）・2（半年）・4（四半期）のみ有効</li><li><strong>basis</strong>: 国内債は basis=3、米国国債は basis=1、米国社債は basis=0</li></ul>



<p><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-coupncd-function/">COUPNCD関数</a>・<a href="https://mashukabu.com/excel-coupnum-function/">COUPNUM関数</a>・<a href="https://mashukabu.com/excel-coupdaybs-function/">COUPDAYBS関数</a>・<a href="https://mashukabu.com/excel-pricemat-function/">PRICEMAT関数</a>・<a href="https://mashukabu.com/excel-yieldmat-function/">YIELDMAT関数</a>もあわせて確認してみてください。端数期間の扱いを理解すれば、複雑な債券の価格計算も Excel で対応できるようになりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-oddfprice-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
