スプレッドシートのPRICE関数の使い方|定期利付債の価格

スポンサーリンク

「利回り3%で社債を買いたいけど、額面に対していくらで買えば妥当なのか?」と聞かれてサッと答えられると、経理・財務の現場ではかなり頼りにされますよね。半年ごと・年1回といった定期的に利息を受け取れる利付債では、希望利回りに対応する理論価格をスプレッドシートのPRICE関数で計算できますよ。

この記事では、スプレッドシートのPRICE関数の使い方を、構文から実務の活用例・よくあるエラーの対処まで同僚に教える感覚で解説します。PRICEDISC関数・PRICEMAT関数との使い分けもあわせて整理しているので、社債・国債の理論価格チェックに活用してください。

スプレッドシートのPRICE関数とは?

スプレッドシートのPRICE関数は、定期的に利息を支払う利付債について、希望利回り(要求利回り)に対応する額面100あたりの価格を計算する財務関数です。

「定期利付債」とは、半年ごとや年1回などのタイミングでクーポン(利息)を受け取り、満期日に額面金額を受け取るタイプの債券です。社債・利付国債・地方債などがこれにあたります。

PRICE関数が返すのは「額面100に対する理論価格」です。市場利回りや希望利回りを入力すると、そこから逆算して「いくらで買えば、満期まで持ったときにその利回りになるか」を計算できますよ。

PRICE関数の構文と引数

PRICE関数の構文は次のとおりです。

=PRICE(受渡日, 満期日, 利率, 利回り, 満期受取額, 頻度, [日数計算基準])

英語表記だと =PRICE(settlement, maturity, rate, yield, redemption, frequency, [basis]) となります。

引数省略説明
受渡日(settlement)必須債券の購入日(支払い完了日)。DATE関数での指定を推奨
満期日(maturity)必須債券の満期日。受渡日より後の日付を指定する
利率(rate)必須債券の年利クーポン率(例: 0.03 = 年3%)
利回り(yield)必須投資家の希望年利回り(市場利回り)
満期受取額(redemption)必須額面100に対する満期受取額(通常は100)
頻度(frequency)必須年あたりの利払い回数(1=年1回、2=半年ごと、4=四半期ごと)
日数計算基準(basis)省略可1年の日数計算方式(下表参照、省略時は0)

日数計算基準(basis)の設定値

1年の日数計算
0(省略時)30日/360日(米国NASD方式)
1実際の日数/実際の日数
2実際の日数/360日
3実際の日数/365日
430日/360日(ヨーロッパ方式)

満期受取額(redemption)は額面100を基準にした数値を入れる点に注意してください。実際の額面金額(1,000,000円など)ではなく、100で固定するのが基本ですよ。返ってくる価格も同じく額面100を基準にしたスケールです。

PRICE関数の基本的な使い方

半年払い社債の理論価格を求める

額面100・年利3%・半年ごと利払い・期間5年の社債を、希望利回り4%で買う場合の理論価格を求めてみましょう。

セル項目
B2受渡日2026/4/21
B3満期日2031/4/21
B4利率(クーポン)0.03
B5希望利回り0.04
B6満期受取額100
B7頻度(半年)2
=PRICE(B2, B3, B4, B5, B6, B7, 1)

結果は 約95.51(額面100に対して約95.51) です。利回り4%を確保するには、額面100の社債を約95.51で買う必要があるということですよ。額面1,000万円分なら購入価格は約955.1万円が目安になります。

直接日付を入れる場合はDATE関数を使います。

=PRICE(DATE(2026,4,21), DATE(2031,4,21), 0.03, 0.04, 100, 2, 1)

年1回払い利付国債の理論価格を求める

額面100・年利1.2%・年1回利払い・期間10年の利付国債を、希望利回り1.5%で買う場合を計算します。

=PRICE(DATE(2026,4,21), DATE(2036,4,21), 0.012, 0.015, 100, 1, 1)

結果は 約97.23 です。クーポン率と希望利回りの差が小さいので、額面に近い価格になりますよ。利付国債の入札時の理論価格チェックや、既発債の市場価格との比較に便利です。

クーポン率と利回りの大小で価格が変わることを確認する

PRICE関数の結果は、クーポン率と希望利回りの関係で次のように変わります。

関係価格の傾向例(5年・半年払い・basis=1)
クーポン率 < 利回り額面より安く(ディスカウント)利率3%・利回り4% → 約95.51
クーポン率 = 利回り額面とほぼ同じ利率4%・利回り4% → 約100.00
クーポン率 > 利回り額面より高く(プレミアム)利率5%・利回り4% → 約104.49

「希望利回りがクーポン率より高い → 額面より安く買えないと割に合わない」という直感どおりの結果になりますよ。市場利回りが上昇すると債券価格が下がる、という債券の基本的な値動きもこの関数で確認できます。

PRICEDISC・PRICEMATとの使い分け

債券の価格計算系関数には、PRICEのほかにPRICEDISC関数PRICEMAT関数があります。3つの違いは「対象とする債券のタイプ」です。

関数対象債券利息の扱い
PRICE関数定期利付債期中にクーポン受取あり
PRICEDISC関数割引債(ゼロクーポン債)期中の利息なし、満期に額面受取
PRICEMAT関数満期利付債利息は満期にまとめて受取

判断ポイントは「いつ・どのように利息を受け取るか」です。半年や年1回など定期的にクーポンを受け取る一般的な社債・利付国債ならPRICE関数、利息ゼロで割引発行ならPRICEDISC関数、満期一括で利息を受け取るタイプならPRICEMAT関数を使いますよ。

同じ条件での違いを確認する

例えば額面100・受渡日2026/4/21・満期日2027/4/21・利回り3%・basis=1の場合:

関数数式結果の意味
PRICE関数(年1回払い・利率2%)=PRICE(DATE(2026,4,21),DATE(2027,4,21),0.02,0.03,100,1,1)約99.03(クーポンあり)
PRICEDISC関数=PRICEDISC(DATE(2026,4,21),DATE(2027,4,21),0.03,100,1)約97.00(割引のみ)
PRICEMAT関数(発行日同日・利率2%)=PRICEMAT(DATE(2026,4,21),DATE(2027,4,21),DATE(2026,4,21),0.02,0.03,1)約99.04(満期一括利息)

クーポンが期中で受け取れるPRICE関数のほうが、同じ利回り条件でも価格が高めになる傾向がありますよ。

よくあるエラーと対処法

#NUM!エラー

以下のケースで発生します。

発生条件対処法
受渡日 ≥ 満期日受渡日が満期日より前になるよう修正する
利率が負の数0以上の数値を指定する
利回りが負の数0以上の数値を指定する
満期受取額が0以下正の数値を指定する(通常は100)
頻度が 1, 2, 4 以外1(年1回), 2(半年), 4(四半期)のいずれかを指定する
basis が 0〜4 以外0, 1, 2, 3, 4 のいずれかを指定する

頻度(frequency)は 1・2・4 の3択 という制約に注意してください。月1回(12)や年6回(6)といった指定はできませんよ。

#VALUE!エラー

引数に数値や日付以外の文字列が入っている場合に発生します。日付を直接書くときは DATE(2026,4,21) のようにDATE関数を使うと確実ですよ。

#NAME?エラー

関数名のスペルミスが原因です。「PRISE」「PRICES」などは存在しない関数名です。入力候補から選ぶようにしましょう。

Excelとの互換性

PRICE関数はExcelとGoogleスプレッドシートで同じ計算結果を返します。Excelファイル(.xlsx)をスプレッドシートで開いても関数はそのまま動作しますよ。

スプレッドシートでは引数名が日本語(「受渡日」「満期日」「利率」「利回り」「満期受取額」「頻度」「日数計算基準」)で表示されます。Excelの英語表記(settlementmaturityrateyieldredemptionfrequencybasis)と見た目は異なりますが、動作に影響はありません。

まとめ

スプレッドシートのPRICE関数は、定期的に利息を支払う利付債について、希望利回りに対応する額面100あたりの価格を計算する財務関数です。ポイントをまとめておきます。

  • 引数は受渡日・満期日・利率・利回り・満期受取額・頻度の6つが必須。日数計算基準(basis)は省略可
  • 満期受取額は額面100を基準にした数値を入れる。返ってくる価格も100基準
  • 頻度は 1, 2, 4 の3択。それ以外を指定すると #NUM! エラーになる
  • クーポン率より希望利回りが高ければ価格は額面より安くなる(ディスカウント)
  • 割引債ならDISC関数系の PRICEDISC関数、満期利付債なら PRICEMAT関数 を使い分ける
  • 日付には DATE関数を使うと文字列とのトラブルを防げる
  • Excelとの互換性があり、.xlsxファイルをそのまま開いても動作する

社債や利付国債の理論価格チェック、希望利回りに対応する適正価格のシミュレーションにぜひ活用してみてください。財務関数の使い分けには、DISC関数INTRATE関数RECEIVED関数の記事もあわせて参考にしてみてくださいね。

タイトルとURLをコピーしました