ExcelのINTRATE関数|割引債の利回りを計算する方法

スポンサーリンク

ExcelのINTRATE関数は、割引債(ゼロクーポン債)の利回りを計算できる関数です。国債やコマーシャルペーパーの購入利回りを求めたいとき、手計算では日数計算が面倒ですよね。INTRATE関数を使えば、受渡日と満期日、投資額を入力するだけで年率換算の利回りがすぐにわかります。

この記事では、INTRATE関数の基本的な使い方から実務での活用例まで詳しく解説します。

INTRATE関数とは

読み方と概要

読み方は「インタレスト・レート関数」です。INTRATEは「Interest Rate(利率)」の略になります。

INTRATE関数は、全額投資された証券の利率を返す関数です。利息が支払われない割引債(額面より安く購入し、満期に額面で償還される債券)の利回り計算に使います。

対応バージョンはExcel 2007以降です。Excel 365・2024・2021・2019・2016で利用できますよ。

どんな場面で使うのか(割引債・国債・CP)

INTRATE関数は、次のような場面で活躍します。

  • 割引債(ゼロクーポン債)の購入利回りを計算したいとき
  • 国債の投資判断で年率リターンを比較したいとき
  • コマーシャルペーパー(CP:企業が短期資金調達のために発行する約束手形)の利回りを確認したいとき

いずれも「投資額と償還額の差額」から利回りを求める計算です。手動で日数計算をするのは大変ですが、INTRATE関数なら一発で求められますよ。

INTRATE関数の構文と引数

5つの引数の意味と指定方法

INTRATE関数の基本構文は次のとおりです。

=INTRATE(受渡日, 満期日, 投資額, 償還価額, [基準])

引数は5つあり、最初の4つは必須です。5つ目の「基準」は省略できます。

引数必須/省略可説明
受渡日必須証券の受渡日(購入日)
満期日必須証券の満期日(償還日)
投資額必須証券の購入金額
償還価額必須満期日に受け取る金額
基準省略可日数計算の方法(0〜4)

日付の入力にはDATE関数を使うのがおすすめです。文字列で日付を入力すると、環境によって正しく認識されないことがあります。

なお、受渡日・満期日・基準の値は整数に切り捨てて計算されます。

内部の計算式は次のとおりです。

利率 = (償還価額 - 投資額) / 投資額 × (B / DIM)
  • B: 年間日数(基準の設定による)
  • DIM: 受渡日から満期日までの日数(基準の設定による)

基準(日数計算方法)の選び方

基準は0〜4の整数で指定します。省略すると「0」が適用されます。

基準日数/年日数主な用途
0(省略時)30日/360日(NASD方式)米国の社債など
1実日数/実日数国際的な債券
2実日数/360日米国T-Bills(短期国債)
3実日数/365日日本円TIBOR対応
430日/360日(欧州方式)ユーロ債券

実務では、米国の短期国債(T-Bills)にはbasis=2、日本の金利計算にはbasis=3がよく使われます。基準の詳細な計算方法はYEARFRAC関数の解説記事も参考にしてみてください。

基本的な使い方(手計算との検証)

Microsoft公式の使用例で、基本的な使い方を確認しましょう。

セル項目
A2受渡日2008/2/15
A3満期日2008/5/15
A4投資額1,000,000
A5償還価額1,014,420
A6基準2

数式は次のように入力します。

=INTRATE(A2, A3, A4, A5, A6)

結果は 約5.77% になります。

手計算でも検証してみましょう。基準が2(実日数/360)なので、受渡日から満期日までの実際の日数を数えます。実日数計算では受渡日当日は含みません。

  • 2月:14日(2/16〜2/29、うるう年)
  • 3月:31日
  • 4月:30日
  • 5月:15日(5/1〜5/15)
  • 合計:90日

計算式に当てはめると次のようになります。

利率 = (1,014,420 - 1,000,000) / 1,000,000 × (360 / 90)
     = 14,420 / 1,000,000 × 4
     = 0.05768
     ≒ 5.77%

INTRATE関数の結果と一致しましたね。このように「差額÷投資額」を年率に換算する仕組みです。

実務での使用例(3シナリオ)

10年国債の購入利回り

額面100万円の10年国債を82万円で購入したケースです。日本の金利慣行に合わせてbasis=3(実日数/365)を使います。

=INTRATE(DATE(2025,4,1), DATE(2035,4,1), 820000, 1000000, 3)

この数式の計算を確認しましょう。受渡日から満期日までの実日数は3,652日です。

利率 = (1,000,000 - 820,000) / 820,000 × (365 / 3652)
     = 180,000 / 820,000 × 0.09994
     ≒ 0.02194
     ≒ 2.19%

10年保有で約2.19%の年率利回りだとわかりますよ。

コマーシャルペーパー(90日物CP)

企業が発行する90日物CPの利回りを計算します。短期の金融商品なので、basis=2(実日数/360)を使います。

=INTRATE(DATE(2025,7,1), DATE(2025,9,29), 995000, 1000000, 2)

手計算では次のようになります。受渡日から満期日までの実日数は90日です。

  • 7月:30日(7/2〜7/31)
  • 8月:31日
  • 9月:29日(9/1〜9/29)
  • 合計:90日
利率 = (1,000,000 - 995,000) / 995,000 × (360 / 90)
     = 5,000 / 995,000 × 4
     ≒ 0.02010
     ≒ 2.01%

短期商品なので、わずかな価格差でも年率換算すると一定の利回りになる点がポイントです。

複数銘柄の利回り比較

INTRATE関数を使えば、複数の割引債を横並びで比較できます。セルに値を入力し、一括で計算してみましょう。

 A(受渡日)B(満期日)C(投資額)D(償還価額)E(基準)F(利回り)
銘柄A2025/4/12025/7/1998,0001,000,0002=INTRATE(A2,B2,C2,D2,E2)
銘柄B2025/4/12025/10/1995,0001,000,0002=INTRATE(A3,B3,C3,D3,E3)
銘柄C2025/4/12026/4/1985,0001,000,0003=INTRATE(A4,B4,C4,D4,E4)

F列にINTRATE関数を入力すれば、各銘柄の利回りを一覧で比較できます。投資判断の材料として役立ててみてください。

YIELDDISC関数との使い分け

割引債の利回り計算には、YIELDDISC関数も使えます。INTRATE関数とYIELDDISC関数の違いは、第3引数の指定方法です。

項目INTRATE関数YIELDDISC関数
第3引数投資額(実際の購入金額)額面あたりの価格(pr)
向いている場面実額ベースで計算したいとき価格クォートベースで計算したいとき
入力例(100万円額面を99万で購入)投資額に990000を指定prに99を指定

たとえば、額面100万円の債券を99万円で購入した場合を考えます。INTRATE関数では投資額に「990000」と入力します。一方、YIELDDISC関数では額面あたりの価格「99」を入力します。

実際に手元の購入金額がわかっている場合はINTRATE関数が直感的です。債券の価格表示(額面あたりの値段)で計算したい場合はYIELDDISC関数を選びましょう。

よくあるエラーと対処法

#NUM!エラー

#NUM!エラーは、引数の値が計算できない範囲にあるときに発生します。次の条件に当てはまっていないか確認してください。

  • 投資額が0以下になっている → 正の数を指定する
  • 償還価額が0以下になっている → 正の数を指定する
  • 受渡日が満期日以降になっている → 日付の前後関係を見直す
  • 基準が0〜4の範囲外になっている → 0〜4の整数を指定する

特に日付の前後関係は見落としがちです。受渡日が満期日より後になっていないか確認してみてください。

#VALUE!エラー

#VALUE!エラーは、引数に無効な値が入っているときに発生します。

  • 日付がExcelに認識されていないDATE関数で入力し直す
  • 数値のセルに文字列が混入している → セルの書式を確認する

日付を文字列で入力している場合に起きやすいエラーです。DATE関数EDATE関数を使って日付を指定すると、このエラーを防げますよ。

まとめ

INTRATE関数は、割引債の利回りを年率で計算できる関数です。この記事のポイントをおさらいしましょう。

  • 構文は =INTRATE(受渡日, 満期日, 投資額, 償還価額, [基準])
  • 「基準」引数で日数計算方法を選ぶ(省略時は30/360のNASD方式)
  • 日本の金利計算にはbasis=3、米国T-Billsにはbasis=2が一般的
  • 実額ベースの計算にはINTRATE、価格クォートベースにはYIELDDISCを使い分ける
  • 日付はDATE関数で入力するとエラーを防げる

基準の選び方を間違えると計算結果が変わるので、対象の金融商品に合った値を選んでみてください。YEARFRAC関数の使い方や基準の詳細もあわせてご覧ください。

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