ExcelのACCRINT関数の使い方|定期利払い証券の未収利息を計算

スポンサーリンク

「利付国債や社債の途中売買、未収利息の計算がいつも合わない…」と感じたことはありませんか。利払い回数や基準日数の組み合わせで結果がブレると、約定金額の照合作業が地味につらいですよね。そんなときはExcelのACCRINT関数を使えば、引数を入れるだけで未収利息(経過利息)を一発で求められますよ。

この記事では、ACCRINT関数の構文・引数の意味を整理します。基準日数による結果の違いや計算方式の挙動、ACCRINTM関数との使い分けまで実例で解説しますよ。

ExcelのACCRINT関数とは?

ACCRINT関数は、定期的に利息が支払われる証券の未収利息を計算するExcelの財務関数です。

読み方は「アクルード・インタレスト」。英語の「Accrued Interest」の略で、「未収利息」「経過利息」と訳されます。

対象になるのは、利付国債や普通社債のように半年ごと・年1回といった頻度で利息が支払われる証券です。こうした証券を期中に売買するとき、「前回利払日から受渡日までに溜まった利息はいくらか」を計算する場面で使いますよ。

たとえば社債を期中に購入する場合、前回の利払日から購入日までの利息は本来売り手のものです。買い手は売り手にこの未収利息を上乗せして支払い、次回利払日にまとめて受け取って精算する仕組みになっています。この「経過利息」を求めるのがACCRINT関数の役割です。

対応バージョンはExcel 2007以降およびMicrosoft 365です。Google スプレッドシートにも同名の関数が用意されていますよ。

ACCRINT関数の書き方(構文と引数)

基本構文

=ACCRINT(発行日, 初回利払日, 受渡日, 利率, 額面, 頻度, [基準], [計算方式])

引数は全部で8つあります。「基準」と「計算方式」は省略できますよ。

引数の説明

引数必須説明
発行日はい証券の発行日
初回利払日はい利息が最初に支払われる日付
受渡日はい証券の受渡日(購入日)
利率はい証券の年利率(5%なら 0.05
額面はい証券の額面価格
頻度はい年間の利息支払回数(1・2・4のいずれか)
基準いいえ基準日数の計算方式(0〜4、省略時は0)
計算方式いいえ未収利息の合計方法(TRUE/FALSE、省略時はTRUE)

日付の指定にはDATE関数を使うのがおすすめです。文字列で日付を入力すると、環境によってはエラーになることがあります。

頻度の指定方法

「頻度」引数で指定できる値は3つだけです。

頻度意味
1年1回
2年2回(半年ごと)
4年4回(四半期ごと)

日本の利付国債は年2回(半年ごと)の利払いが一般的なので、頻度には 2 を指定するケースが多いですよ。米国の財務省証券(Treasury Note/Bond)も同様に年2回利払いです。

基準日数の種類

「基準」引数で指定できる値は5種類あります。

基準計算方式特徴
0(省略時)30日/360日(NASD方式)米国標準。各月を30日とみなす
1実際の日数/実際の日数最も正確。閏年は366日で計算
2実際の日数/360日実日数ベースだが年は360日固定
3実際の日数/365日実日数ベースで年は365日固定
430日/360日(ヨーロッパ方式)欧州標準。月末処理がNASD方式と異なる

基準の選び方で計算結果が変わります。取引先や社内ルールで指定された方式を選んでくださいね。

計算方式の指定

「計算方式」引数では、受渡日が初回利払日以降になる場合の集計範囲を指定します。

計算方式動作
TRUE(省略時)発行日から受渡日までの全経過利息を合算
FALSE直前の利払日から受渡日までの経過利息のみを返す

通常はTRUE(省略)で問題ありません。利付債の途中売買で「直前利払日以降の経過利息」だけを取り出したい場合にFALSEを使いますよ。

ACCRINT関数の基本的な使い方

額面100万円、年利3%の社債について、未収利息を求めてみましょう。

条件:

  • 発行日: 2024年4月1日
  • 初回利払日: 2024年10月1日
  • 受渡日: 2024年7月1日
  • 利率: 3%
  • 額面: 1,000,000円
  • 頻度: 2(年2回)
  • 基準: 1(実際の日数/実際の日数)
=ACCRINT(DATE(2024,4,1),DATE(2024,10,1),DATE(2024,7,1),0.03,1000000,2,1)

結果: 7,459円

計算の流れを見てみましょう。頻度2(年2回)なので、半年分の利息は 1,000,000 × 3% ÷ 2 = 15,000円 です。利払期間は4月1日〜10月1日の183日間、経過日数は4月1日〜7月1日の91日間になります。半年分の利息を日数で按分すると 15,000 × 91 ÷ 183 = 7,459円 になりますよ。

セル参照を使う場合は次のように書けます。

=ACCRINT(A2,B2,C2,D2,E2,F2,G2)

セルに値を入れておけば、条件を変えたときに数式を修正しなくて済みます。複数銘柄を一覧で管理するときにも便利ですよ。

額面を省略するとどうなる?

実は「額面」引数は省略可能で、省略時は 1,000 として計算されます。額面1単位あたりの経過利息率を求めたいときに便利です。

ただし日本の実務では 100,0001,000,000 単位で運用することが多いので、省略せずに明示するのがおすすめですよ。

基準日数(0〜4)の違いと選び方

ACCRINT関数で結果が変わる最大のポイントが「基準」引数です。実務では「どの基準を使うか」が約定金額に直結するので、違いをしっかり押さえておきましょう。

5つの基準を同条件で比較

先ほどと同じ条件で、基準だけを変えた結果がこちらです。条件は「額面100万円・年利3%」「発行日2024/4/1・初回利払日2024/10/1・受渡日2024/7/1・頻度2」とします。

基準計算方式結果
030日/360日(NASD)7,500円
1実際/実際7,459円
2実際/360日7,569円
3実際/365日7,463円
430日/360日(欧州)7,500円

基準0と4はどちらも30日/360日方式なので、経過日数を90日(3か月×30日)として計算し7,500円になります。基準1と3は実日数(91日)で按分するため7,459〜7,463円ほどです。基準2は実日数91日を年360日で計算するため、わずかに金額が大きくなります。

取引種類別の基準の選び方

実務でよく使われる組み合わせを表にまとめました。

証券種類推奨基準理由
日本の利付国債1(実際/実際)ISDA基準が一般的
米国財務省証券1(実際/実際)米国市場標準
米国社債0(30/360 NASD)米国社債市場の慣行
欧州社債4(30/360 欧州)欧州市場の慣行
短期金融商品2(実際/360)マネーマーケット標準

額面が大きくなるほど基準による差額も大きくなります。額面1,000万円・年利3%・経過日数91日の条件で比較すると、基準0と基準1で約410円の差が出ますよ。

基準による日数の数え方の違い

「30/360」と「実際/実際」では、経過日数の数え方が次のように変わります。例として2024年4月1日から7月1日までの日数を見てみましょう。

基準経過日数の解釈
30/360(基準0,4)3か月 × 30日 = 90日
実際/実際(基準1)カレンダー上の実日数 = 91日
実際/360(基準2)実日数91日(分母のみ360)
実際/365(基準3)実日数91日(分母のみ365)

社内ルールや取引先の指定がない場合は、基準1(実際/実際)が一番直感的でわかりやすいですよ。

計算方式(TRUE/FALSE)の挙動

「計算方式」引数は、受渡日が初回利払日より後になる場合に意味を持ちます。具体例で挙動を確認してみましょう。

TRUE と FALSE で結果が変わる例

次の条件で計算します。

条件:

  • 発行日: 2024年4月1日
  • 初回利払日: 2024年10月1日
  • 受渡日: 2025年4月1日(初回利払日より後)
  • 利率: 3%
  • 額面: 1,000,000円
  • 頻度: 2(年2回)
  • 基準: 1(実際の日数/実際の日数)

TRUE(省略時):

=ACCRINT(DATE(2024,4,1),DATE(2024,10,1),DATE(2025,4,1),0.03,1000000,2,1,TRUE)

→ 結果: 30,000円

発行日2024/4/1から受渡日2025/4/1までの1年間の経過利息を返します。計算は 額面100万 × 3% × 1年 = 30,000円 ですね。

FALSE:

=ACCRINT(DATE(2024,4,1),DATE(2024,10,1),DATE(2025,4,1),0.03,1000000,2,1,FALSE)

→ 結果: 15,000円

直前利払日(2024/10/1)から受渡日(2025/4/1)までの半年分の利息のみを返します。

どちらを使うべき?

実務での使い分けの目安はこちらです。

  • TRUE(既定): 累計の経過利息を出したい / 金融商品会計の経過利息評価
  • FALSE: 「前回利払日からの経過利息」だけ知りたい / 既経過分の利息を切り分けたい

迷ったらTRUEで問題ありません。FALSEは「前回利払日以降」の経過利息に絞りたい特殊なケースで使う、と覚えておけばOKです。

ACCRINT関数の実務活用パターン

複数銘柄をまとめて計算する

保有債券を一覧で管理して、未収利息を一括計算するパターンです。

A列に発行日、B列に初回利払日、C列に受渡日、D列に利率、E列に額面、F列に頻度、G列に基準を入力します。H列に次の数式を入れましょう。

=ACCRINT(A2,B2,C2,D2,E2,F2,G2)

H列を下にコピーすれば、全銘柄の未収利息が一覧で計算できますよ。月次の経過利息評価にそのまま使えます。

約定金額(受渡金額)を計算する

利付債を購入するときの実際の支払額は、取引価格に未収利息を足した金額です。

取引価格 + ACCRINT(...) = 受渡金額

たとえば額面100万円・取引価格99万円・未収利息7,459円なら、受渡金額は997,459円になります。発注書や約定確認書の金額照合に使えますよ。

頻度を切り替えてシミュレーションする

「年1回利払いと年2回利払いで未収利息はどう変わるか」を比較したいときに便利なパターンです。頻度の引数だけセル参照にしておけば差分がすぐ見えますよ。

=ACCRINT(A2,B2,C2,D2,E2,F2,G2)

F列に1や2、4を入れて並べると、利払頻度の違いによる経過利息の動きを比較できますよ。新規債券の発行条件を検討するときに便利です。

YEARFRAC関数との関係

ACCRINT関数の内部計算にはYEARFRAC関数の仕組みが使われています。YEARFRAC関数は2つの日付の間の年数を小数で返す関数です。

基準引数の動作はYEARFRAC関数と同じ仕様なので、結果の検証に使えますよ。たとえば「ACCRINT関数の結果を手計算で検証したい」ときには、額面 × 利率 × YEARFRAC(発行日,受渡日,基準) で同じ値が出るか確かめられます。

ACCRINTM関数との違い・使い分け

ACCRINT関数と名前がよく似たACCRINTM関数があります。どちらも未収利息を求める関数ですが、対象とする証券が異なります。

比較項目ACCRINTACCRINTM
対象定期利払い証券満期一括利払い証券
利息の支払い年1回・半年ごとなど定期的満期時に1回だけ
構文=ACCRINT(発行日,初回利払日,受渡日,利率,額面,頻度,[基準],[計算方式])=ACCRINTM(発行日,満期日,利率,額面,[基準])
頻度の引数ありなし
計算方式の引数ありなし
代表的な証券利付国債、普通社債、米国Treasury割引債、短期国債(TB)、ゼロクーポン債

判断ポイントは「途中で利息が支払われるかどうか」です。

  • 半年ごと・年1回など定期的に利息が支払われる → ACCRINT関数
  • 満期まで利息の支払いがない → ACCRINTM関数

迷ったら「その証券は途中で利息をもらえるか?」と考えてみてください。途中でもらえるならACCRINT、満期まで待つならACCRINTMですよ。

関連する財務関数として、全額投資型証券の利率を逆算するINTRATE関数もあわせて覚えておくと便利です。

よくあるエラーと対処法

ACCRINT関数で発生しやすいエラーと対処法をまとめました。

#NUM! エラー

次のいずれかに該当すると #NUM! エラーになります。

  • 発行日 ≥ 受渡日 → 発行日は受渡日より前の日付にする
  • 初回利払日 ≤ 発行日 → 初回利払日は発行日より後の日付にする
  • 利率 ≤ 0 → 利率は0より大きい値を指定する
  • 額面 ≤ 0 → 額面は0より大きい値を指定する
  • 頻度が1・2・4以外 → 1、2、4のいずれかを指定する
  • 基準が0〜4以外 → 0、1、2、3、4のいずれかを指定する

特に見落としやすいのは、「発行日と受渡日が逆になっている」「初回利払日が発行日より前になっている」のケースです。日付の順序は最初に確認しておきましょう。

#VALUE! エラー

日付として認識できない値を指定すると #VALUE! エラーが返ります。日付の引数にはDATE関数やセル参照を使い、文字列を直接入力するのは避けましょう。

利率や額面に文字列が入っている場合も #VALUE! になります。元データに「3%」のような書式付き文字列が紛れ込んでいる場合は、数値として扱う必要があります。VALUE関数で数値化するか、表示形式の「パーセンテージ」を使って数値化してください。

結果が想定と違う

エラーは出ないけれど結果が予想と合わないときは、次の点をチェックしてみてください。

  • 基準引数を確認する → 30/360 と 実際/実際 では結果が異なる
  • 頻度引数を確認する → 年2回利払いの社債に頻度1を指定していないか
  • 額面の桁数を確認する → 「100万円 = 1,000,000」を「1000000」と入れているか(カンマや桁区切りに注意)
  • 利率の単位を確認する → 3%は 0.03 であって 3 ではない

特に利率を「3」と入れてしまい結果が100倍になる、というミスは多いですよ。

まとめ

ExcelのACCRINT関数は、定期的に利息が支払われる証券の未収利息(経過利息)を計算する財務関数です。

この記事のポイントをおさらいします。

  • 構文は =ACCRINT(発行日, 初回利払日, 受渡日, 利率, 額面, 頻度, [基準], [計算方式])
  • 対象は利付国債や普通社債など、定期利払いの証券
  • 基準日数(0〜4)の選び方で計算結果が変わる(30/360 vs 実際/実際)
  • 計算方式 TRUE/FALSE は受渡日が初回利払日以降のときに挙動が変わる
  • 満期一括利払い証券にはACCRINTM関数を使う
  • 日付の指定にはDATE関数を使うのが安全

基準の設定や利率の単位を間違えると金額に大きなズレが出ます。取引条件をよく確認してから使ってみてくださいね。

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