<?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>ODDFPRICE関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/oddfprice%e9%96%a2%e6%95%b0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sat, 16 May 2026 21:33:32 +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>ODDFPRICE関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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 class="wp-block-paragraph">債券の最初の利払期間が通常より短かったり長かったりする場合、標準の<a href="https://mashukabu.com/excel-price-function/">PRICE関数</a>では正確な価格が計算できません。このような端数第1期間（Odd First Period）を持つ証券に対応した関数が ODDFPRICE です。</p>



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



<p class="wp-block-paragraph">この記事では、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-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"></li><li><a href="#toc1" tabindex="0">Excelの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 class="wp-block-paragraph">ExcelのODDFPRICE関数（読み方：オッド・エフ・プライス）は財務関数の一つです。<strong>最初の利払期間が端数（短端数または長端数）になっている証券の価格を、額面100円あたりで返します</strong>。</p>



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



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



<p class="wp-block-paragraph">通常の債券は、発行日から最初の利払日まで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 class="wp-block-paragraph">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 class="wp-block-paragraph">ODDFPRICE関数の構文は次のとおりです。</p>



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



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



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



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">実例で動きを確認しましょう。</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 class="wp-block-paragraph">クーポン利率（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 class="wp-block-paragraph">クーポン利率（3%）が利回り（2.5%）を上回るため、価格はパー（100）より高くなります。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>内容</th><th>値</th></tr></thead><tbody><tr><td>B2</td><td>受渡日</td><td>2026/5/7</td></tr><tr><td>B3</td><td>満期日</td><td>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 class="wp-block-paragraph">数式は <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 class="wp-block-paragraph">端数利払期間の有無と位置によって、使う関数が変わります。</p>



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



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



<p class="wp-block-paragraph">端数利払期間を扱う関数は 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 class="wp-block-paragraph">また、クーポン日のスケジュール管理には COUP 系関数を使います。</p>



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



<h2 class="wp-block-heading"><span id="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 class="wp-block-paragraph">引数の日付が日付として認識されていない場合に発生します。文字列（&#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 class="wp-block-paragraph">DATE関数で渡すか、日付として整形済みのセル参照を使ってください。</p>



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



<p class="wp-block-paragraph">「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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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>
		<item>
		<title>スプレッドシートのODDFPRICE関数の使い方｜不定期初回利払いの債券価格を計算</title>
		<link>https://mashukabu.com/spreadsheet-oddfprice-function/</link>
					<comments>https://mashukabu.com/spreadsheet-oddfprice-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 14:41:20 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[ODDFPRICE関数]]></category>
		<category><![CDATA[債券]]></category>
		<category><![CDATA[経理・財務]]></category>
		<category><![CDATA[財務関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6217</guid>

					<description><![CDATA[GoogleスプレッドシートのODDFPRICE関数を使えば、初回利払い日が通常と異なる（不定期）債券の価格を計算できます。構文・引数・計算例・ODDFYIELD・ODDLPRICE との使い分け・よくあるエラー対処まで解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「発行日から最初の利払い日までの期間が、通常の利払い間隔と違う債券の価格、どうやって計算する？」——そんな場面で使うのが ODDFPRICE 関数です。</p>



<p class="wp-block-paragraph">新発債では、発行日と最初の利払い日がうまく揃わないケースがよくあります。通常の PRICE 関数ではこの「不定期の初回利払い期間」を正確に扱えませんが、ODDFPRICE 関数を使えば適切な価格が計算できますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートの ODDFPRICE 関数の使い方を、構文・計算例・よくあるエラーの対処まで同僚に教える感覚で解説します。ODDFYIELD・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><a href="#toc1" tabindex="0">スプレッドシートの ODDFPRICE 関数とは？</a><ol><li><a href="#toc2" tabindex="0">不定期初回利払い期間（Odd First Period）とは</a></li></ol></li><li><a href="#toc3" tabindex="0">ODDFPRICE 関数の構文と引数</a><ol><li><a href="#toc4" tabindex="0">日数計算方法（day_count_convention）の選び方</a></li></ol></li><li><a href="#toc5" tabindex="0">ODDFPRICE 関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">短い初回利払い期間の債券価格を求める</a></li><li><a href="#toc7" tabindex="0">DATE 関数を使って直接指定する</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">ODDF 系 4 関数</a></li><li><a href="#toc11" tabindex="0">通常の PRICE 関数との違い</a></li></ol></li><li><a href="#toc12" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc13" tabindex="0">#NUM! エラー</a></li><li><a href="#toc14" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc15" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc16" tabindex="0">Excel との互換性</a></li><li><a href="#toc17" tabindex="0">まとめ</a></li><li><a href="#toc18" tabindex="0">よくある質問</a><ol><li><a href="#toc19" tabindex="0">Q. ODDFPRICE関数とODDLPRICE関数の違いは何ですか？</a></li><li><a href="#toc20" tabindex="0">Q. ODDFPRICE関数で#NUM!エラーが出ます</a></li><li><a href="#toc21" tabindex="0">Q. スプレッドシートのODDFPRICE関数はExcelと同じですか？</a></li><li><a href="#toc22" tabindex="0">Q. ODDFPRICE関数の日付引数はどう指定すればいいですか？</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">スプレッドシートの ODDFPRICE 関数は、<strong>初回利払い期間が不定期（通常と異なる）な債券の、額面100あたりの価格を計算する財務関数</strong>です。</p>



<p class="wp-block-paragraph">関数名の ODDFPRICE は &#8220;Odd First Period Price&#8221;（不定期初回期間の価格）を略したものです。</p>



<h3 class="wp-block-heading"><span id="toc2">不定期初回利払い期間（Odd First Period）とは</span></h3>



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



<p class="wp-block-paragraph">しかし、<strong>新発債</strong>（新しく発行される債券）では、発行日と最初の利払い日がキリよく揃わないことがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>状況</th><th>説明</th></tr></thead><tbody><tr><td><strong>短い初回期間</strong>（Short First Period）</td><td>発行日から最初の利払い日までが、通常の利払い間隔より短い</td></tr><tr><td><strong>長い初回期間</strong>（Long First Period）</td><td>発行日から最初の利払い日までが、通常の利払い間隔より長い</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">この「初回だけ期間が違う債券」の価格を計算するのが ODDFPRICE です。</p>



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



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



<pre class="wp-block-code"><code>=ODDFPRICE(決済日, 満期日, 発行日, 初回利払日, 利率, 最終利回り, 償還価格, 頻度, [日数計算方法])</code></pre>



<p class="wp-block-paragraph">英語表記だと <code>=ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yield, redemption, frequency, [day_count_convention])</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>発行日（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>最終利回り（yield）</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>日数計算方法（day_count_convention）</td><td>省略可</td><td>0=US/30/360（デフォルト）、1=Actual/Actual、2=Actual/360、3=Actual/365、4=欧州/30/360</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数が多いですが、構造は「いつ・どんな条件の債券か」を順番に指定するだけです。</p>



<h3 class="wp-block-heading"><span id="toc4">日数計算方法（day_count_convention）の選び方</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</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>欧州/30/360</td><td>欧州社債</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">省略すると 0（US/30/360）が適用されます。</p>



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



<h3 class="wp-block-heading"><span id="toc6">短い初回利払い期間の債券価格を求める</span></h3>



<p class="wp-block-paragraph">2024/3/1 に発行され、通常は6か月払いで最初の利払いが 2024/6/1（つまり通常の9か月でなく3か月という短い初回期間）の社債の価格を求めます。</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/4/1</td></tr><tr><td>B3</td><td>満期日</td><td>2029/3/1</td></tr><tr><td>B4</td><td>発行日</td><td>2024/3/1</td></tr><tr><td>B5</td><td>初回利払日</td><td>2024/6/1</td></tr><tr><td>B6</td><td>利率（クーポン）</td><td>0.05（5%）</td></tr><tr><td>B7</td><td>最終利回り</td><td>0.04（4%）</td></tr><tr><td>B8</td><td>償還価格</td><td>100</td></tr><tr><td>B9</td><td>頻度（半年払い）</td><td>2</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">クーポン率 5%・利回り 4% で、クーポン率が利回りを上回るためプレミアム（額面超え）価格が返ります。</p>



<h3 class="wp-block-heading"><span id="toc7">DATE 関数を使って直接指定する</span></h3>



<pre class="wp-block-code"><code>=ODDFPRICE(
  DATE(2024,4,1),   
  DATE(2029,3,1),   
  DATE(2024,3,1),   
  DATE(2024,6,1),   
  0.05,             
  0.04,             
  100,              
  2                 
)</code></pre>



<p class="wp-block-paragraph">日付を直接入力する場合は、DATE 関数を使うと確実ですよ。</p>



<h3 class="wp-block-heading"><span id="toc8">日数計算方法を指定する場合</span></h3>



<p class="wp-block-paragraph">Actual/Actual 基準（米国国債向け）で計算する場合は第9引数に 1 を指定します。</p>



<pre class="wp-block-code"><code>=ODDFPRICE(DATE(2024,4,1), DATE(2029,3,1), DATE(2024,3,1), DATE(2024,6,1), 0.05, 0.04, 100, 2, 1)</code></pre>



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



<p class="wp-block-paragraph">ODDFPRICE と組み合わせて使う関連関数を整理します。</p>



<h3 class="wp-block-heading"><span id="toc10">ODDF 系 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>ODDFPRICE</strong></td><td>不定期<strong>初回</strong>利払い</td><td>価格</td><td>初回期間が不定期な債券の価格を求める</td></tr><tr><td><strong>ODDFYIELD</strong></td><td>不定期<strong>初回</strong>利払い</td><td>利回り</td><td>初回期間が不定期な債券の利回りを求める</td></tr><tr><td><strong>ODDLPRICE</strong></td><td>不定期<strong>最終</strong>利払い</td><td>価格</td><td>最終期間が不定期な債券の価格を求める</td></tr><tr><td><strong>ODDLYIELD</strong></td><td>不定期<strong>最終</strong>利払い</td><td>利回り</td><td>最終期間が不定期な債券の利回りを求める</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">「F=First（初回）、L=Last（最終）、PRICE=価格、YIELD=利回り」と覚えると整理しやすいですよ。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>状況</th><th>使う関数</th></tr></thead><tbody><tr><td>全期間が均等な利払い期間の債券</td><td>PRICE 関数</td></tr><tr><td>初回利払い期間だけが不定期な債券</td><td><strong>ODDFPRICE 関数</strong></td></tr><tr><td>最終利払い期間だけが不定期な債券</td><td>ODDLPRICE 関数</td></tr></tbody></table></figure>



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>発生条件</th><th>対処法</th></tr></thead><tbody><tr><td>決済日 ≥ 満期日</td><td>決済日が満期日より前になるよう修正する</td></tr><tr><td>初回利払日 ≤ 発行日</td><td>初回利払日は発行日より後に設定する</td></tr><tr><td>初回利払日 ≤ 決済日</td><td>初回利払日は決済日より後に設定する</td></tr><tr><td>利率 ≤ 0</td><td>クーポンレートは0より大きい小数で指定する</td></tr><tr><td>最終利回り < 0</td><td>利回りは0以上の小数で指定する</td></tr><tr><td>償還価格 ≤ 0</td><td>償還価格は0より大きい値で指定する</td></tr><tr><td>頻度が 1・2・4 以外</td><td>年間利払い回数は 1・2・4 のいずれかを指定する</td></tr></tbody></table></figure>



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



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



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



<p class="wp-block-paragraph">関数名のスペルミスが原因です。<code>ODDFPRIC</code>・<code>ODD_F_PRICE</code>・<code>ODDF PRICE</code> などは存在しない関数名です。</p>



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



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



<p class="wp-block-paragraph">ただし、日数計算方法の選択によっては計算結果が異なるケースがあるため、重要な計算の場合は結果を確認してください。</p>



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



<p class="wp-block-paragraph">スプレッドシートの ODDFPRICE 関数は、初回利払い期間が通常と異なる（不定期な）債券の価格を計算する財務関数です。ポイントをまとめておきます。</p>



<ul class="wp-block-list"><li>引数は <strong>決済日・満期日・発行日・初回利払日・利率・最終利回り・償還価格・頻度</strong>の8つ（日数計算方法は省略可）</li><li>新発債など<strong>発行日と最初の利払い日がうまく揃わない債券</strong>の価格計算に使う</li><li>頻度は <strong>1（年1回）・2（半年払い）・4（四半期払い）</strong> のみ指定可能</li><li>初回期間の利回り計算には <strong>ODDFYIELD 関数</strong> を使う</li><li>最終期間が不定期な債券には <a href="https://mashukabu.com/spreadsheet-oddlprice-function/">スプレッドシートのODDLPRICE関数</a> を使う</li><li>Microsoft 365 / Excel 2019 以降・LibreOffice Calc との互換性があり、.xlsx ファイルをそのまま開いても動作する</li></ul>



<p class="wp-block-paragraph">債券分析ツールや財務モデルの中で、新発債の価格評価が必要なときに ODDFPRICE を活用してください。</p>



<h2 class="wp-block-heading"><span id="toc18">よくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc19">Q. ODDFPRICE関数とODDLPRICE関数の違いは何ですか？</span></h3>



<p class="wp-block-paragraph">ODDFPRICE関数は「初回利払い期間が不定期な債券」の価格を計算します。一方、ODDLPRICE関数は「最終利払い期間が不定期な債券」の価格を計算します。新発債で発行日と最初の利払い日がズレている場合はODDFPRICE、満期直前の端数期間を扱う場合はODDLPRICEを使い分けてください。</p>



<h3 class="wp-block-heading"><span id="toc20">Q. ODDFPRICE関数で#NUM!エラーが出ます</span></h3>



<p class="wp-block-paragraph">日付の順序（満期日 > 初回利払日 > 決済日 > 発行日）が守られていないと<code>#NUM!</code>エラーが発生します。各引数の日付をDATE関数で入力し、順序が正しいか確認してください。</p>



<h3 class="wp-block-heading"><span id="toc21">Q. スプレッドシートのODDFPRICE関数はExcelと同じですか？</span></h3>



<p class="wp-block-paragraph">はい、Microsoft 365 / Excel 2019 以降と同じ引数・計算仕様で動作します。.xlsxファイルをGoogleスプレッドシートで開いてもそのまま機能します。ただし日数計算方法（basis）の選択によっては微小な丸め差が出る場合があります。</p>



<h3 class="wp-block-heading"><span id="toc22">Q. ODDFPRICE関数の日付引数はどう指定すればいいですか？</span></h3>



<p class="wp-block-paragraph"><code>DATE(2026, 4, 1)</code> のようにDATE関数を使って指定するのが確実です。文字列の &#8220;2026/4/1&#8221; はロケールによっては正しく解釈されない場合があります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-oddfprice-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
