「社債の利息計算をExcelでやりたいけど、360日法ってどう数えるの?」と悩んでいませんか。金融業界では1年を360日として日数を扱う独自の方式があります。手動で計算すると間違いのもとですよね。
ExcelのDAYS360関数を使えば、360日法の日数計算を一発で処理できます。この記事では構文と引数の解説から、米国方式とヨーロッパ方式の違いまで紹介します。利息日割りの実務例とよくあるエラーも丁寧に解説しますね。
ExcelのDAYS360関数とは
DAYS360関数は、1年を360日(30日×12か月)とみなす「360日法」で2つの日付間の日数を計算する関数です。金融業界の利息計算や社債の経過日数の算出によく使われます。
通常の日数計算にはDAYS関数を使います。DAYS関数は実際のカレンダーどおり365日(うるう年は366日)で計算します。一方、DAYS360関数は毎月を一律30日として扱うのが特徴です。
DAYS360関数の読み方
読み方は「デイズ・スリーシックスティ」です。DAYS(日数)と360(30日×12か月=360日)を組み合わせた名前になっています。関数名が計算ルールをそのまま表しているので、覚えやすいですよね。
360日法が使われる理由
360日法は手計算の時代に考案された方式です。360は「高度合成数」と呼ばれ、多くの約数を持ちます。そのため次のように均等に分割できます。
- 半年=180日
- 四半期=90日
- 1か月=30日
月ごとの日数のばらつきがなくなるので、利息や配当の計算がシンプルになります。現在でも米国社債や欧州債券の利息計算で広く使われていますよ。
対応バージョン
Excel 2007以降のすべてのバージョンで使えます。Excel for Microsoft 365、Excel 2024、2021、2019、2016、Mac版、Web版に対応しています。古いExcelでもそのまま動くので互換性の心配はいりません。
DAYS360関数の構文と引数
構文
=DAYS360(開始日, 終了日, [方式])
引数の詳細
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 開始日 | 必須 | 期間の最初の日付を指定する |
| 終了日 | 必須 | 期間の最後の日付を指定する |
| 方式 | 省略可 | FALSEまたは省略で米国NASD方式。TRUEでヨーロッパ方式 |
開始日が終了日より後の場合は、負の値を返します。日付はDATE関数やセル参照で指定するのがおすすめです。文字列で日付を直接書くとエラーになることがあるためです。
戻り値の特徴
DAYS360関数の戻り値は常に整数です。小数や分数は返しません。年率計算のように小数で受け取りたい場合はYEARFRAC関数を使ってくださいね。
米国NASD方式とヨーロッパ方式の違い
DAYS360関数の計算結果を決めるのが「方式」の引数です。米国方式とヨーロッパ方式では、月末日の扱いが異なります。
共通の計算式は次のとおりです。
日数 = 360×(Y2−Y1) + 30×(M2−M1) + (D2−D1)
Y・M・Dは調整後の年・月・日を表します。この「調整ルール」が方式によって違うのです。
米国NASD方式のルール
方式をFALSEにするか省略すると、米国NASD方式で計算します。NASDは米国証券業協会(National Association of Securities Dealers)の略です。調整ルールは次のとおりです。
- 開始日が月末日なら、その月の30日に変換する
- 終了日が31日の場合は、開始日の値で分岐する
- 開始日が29日以下 → 終了日を翌月1日に変換
- 開始日が30日以上 → 終了日を30日に変換
米国社債や政府機関債(GSE債)の利息計算で使われる方式です。日本国内でも米国系金融商品を扱うときはこちらを選びます。
ヨーロッパ方式のルール
方式をTRUEにすると、ヨーロッパ方式で計算します。30E/360とも呼ばれ、ICMA Rule 251で定義されている方式です。調整ルールはとてもシンプルです。
- 開始日が31日なら、30日に変換する
- 終了日が31日なら、30日に変換する
開始日の値に関係なく、31日を一律30日に変換します。ユーロ債や欧州証券の計算で使われる方式です。NASD方式より覚えやすいですよね。
同じ日付での計算結果比較
方式の違いで結果がどう変わるか、具体例で見てみましょう。
| 開始日 | 終了日 | 米国NASD方式 | ヨーロッパ方式 | 差 |
|---|---|---|---|---|
| 2024/1/15 | 2024/7/15 | 180 | 180 | 0 |
| 2024/1/31 | 2024/3/31 | 60 | 60 | 0 |
| 2024/1/28 | 2024/3/31 | 63 | 62 | 1 |
| 2024/2/28 | 2024/8/31 | 183 | 182 | 1 |
3行目の「2024/1/28→2024/3/31」で差が出る理由を解説します。
米国NASD方式の場合:
開始日の28日は変換なし。終了日の31日は、開始日が29日以下なので翌月1日(4/1)に変換します。計算すると360×0 + 30×(4−1) + (1−28) = 63日です。
ヨーロッパ方式の場合:
開始日の28日は変換なし。終了日の31日は一律30日に変換します。計算すると30×2 + (30−28) = 62日です。
このように月末や31日が絡む期間では、方式によって1日ずれることがあります。実務では取引先や契約書で指定された方式に合わせるのが鉄則です。
どちらの方式を使うべきか
日本国内の一般的な業務であれば、デフォルトの米国NASD方式(FALSEまたは省略)で問題ありません。ヨーロッパ方式を使うのは、欧州の債券計算など取引先から指定がある場合です。迷ったら方式を省略してくださいね。
DAYS360関数の基本的な使い方
セル参照で日数を計算する
もっとも一般的な使い方です。セルに入力した日付を参照して計算します。
=DAYS360(A1, B1)
A1に開始日「2024/1/1」、B1に終了日「2024/12/31」が入っている場合、結果は360になります。実際のカレンダーは365日ですが、360日法では均等な360日になるわけです。
DATE関数と組み合わせる
日付を数式内で直接指定するなら、DATE関数を使います。
=DAYS360(DATE(2024,1,1), DATE(2024,12,31))
この数式も結果は360です。文字列で日付を指定するとエラーになる場合があるため、DATE関数を使うのが安全ですよ。
TODAY関数で経過日数を自動計算する
TODAY関数を使えば、今日までの経過日数を自動で更新できます。
=DAYS360(DATE(2024,4,1), TODAY())
ファイルを開くたびに今日の日付で再計算されます。融資の経過日数管理や、満期までの残日数管理などに便利ですよ。
方式を明示する書き方
第3引数の方式は省略可能ですが、社内資料では明示するほうが親切です。
=DAYS360(A1, B1, FALSE) '米国NASD方式
=DAYS360(A1, B1, TRUE) 'ヨーロッパ方式
レビューする側も方式が一目でわかります。複数人で扱う台帳では明示するのがおすすめです。
実務での活用例
社債の経過利息を計算する
社債や融資の利息計算に360日法を使う代表的な場面です。基本の計算式は次のとおりです。
利息 = 元本 × 年利率 × DAYS360(開始日, 終了日) / 360
具体例: 元本100万円、年利3%、期間2024/4/1〜2024/10/1の利息を求めます。
=1000000 * 0.03 * DAYS360(DATE(2024,4,1), DATE(2024,10,1)) / 360
DAYS360の結果は180日(30日×6か月)です。計算すると1,000,000 × 0.03 × 180 / 360 = 15,000円になります。
実際のカレンダーでは4/1〜10/1は183日ですが、360日法では180日です。月ごとの日数のばらつきがなくなり、計算がシンプルになりますよね。
月次利息の支払いシミュレーション
毎月の利息額を一覧で出すケースでも使えます。
| 期間 | 開始日 | 終了日 | DAYS360日数 | 月次利息 |
|---|---|---|---|---|
| 1か月目 | 2024/4/1 | 2024/5/1 | 30 | 2,500円 |
| 2か月目 | 2024/5/1 | 2024/6/1 | 30 | 2,500円 |
| 3か月目 | 2024/6/1 | 2024/7/1 | 30 | 2,500円 |
| 4か月目 | 2024/7/1 | 2024/8/1 | 30 | 2,500円 |
元本100万円・年利3%・360日基準なら、毎月の利息は一律2,500円です。実日数だと月によって利息が微妙にずれますが、360日法なら月額が揃うので資金繰り表が作りやすいですよ。
リース料・保険料の日割り計算
リース契約や保険料の日割り計算でも360日法が使われることがあります。
=リース年額 * DAYS360(契約開始日, 契約終了日) / 360
契約書に「360日ベース」と記載がある場合は、DAYS360関数で計算してみてください。年額固定の契約を中途解約するときの返金額算出にも使えます。
満期日までの残日数を表示する
TODAY関数と組み合わせて、満期までの残日数を表示できます。
=DAYS360(TODAY(), 満期日)
返済管理や債権管理の台帳に1列追加しておくと、期日が近い案件をひと目で確認できますよ。条件付き書式と組み合わせれば、残日数が30日を切ったセルに色を付けることも可能です。
DAYS360関数のよくあるエラーと対処法
#VALUE!エラーの原因と対処
DAYS360関数でいちばん多いのが#VALUE!エラーです。原因は日付として認識できない値を引数に指定していることです。
| 原因 | 例 | 対処法 |
|---|---|---|
| 文字列を直接入力 | =DAYS360(“abc”, A2) | 有効な日付をセルに入力して参照する |
| 存在しない日付 | =DAYS360(DATE(2024,13,1), A2) | 正しい年月日をDATE関数で指定する |
| セルの書式が文字列 | セルの表示形式が「文字列」 | 表示形式を「日付」に変更する |
| 全角の数字や記号 | =DAYS360(“2024/1/1”, A2) | 半角の日付に変換する |
日付はDATE関数で指定するか、日付が入力されたセルを参照するのが確実です。
結果がマイナスになる場合
開始日が終了日より後の日付になっていると、結果は負の値になります。
=DAYS360(DATE(2024,12,31), DATE(2024,1,1))
この例の結果は-360です。エラーではなく仕様どおりの動作なのですが、利息計算ではマイナスが入ると合計がおかしくなります。引数の順番を確認してくださいね。
結果が想定と1日ずれる場合
月末日や31日が絡む期間では、方式の違いで1日ずれることがあります。「ヨーロッパ方式の指定漏れ」が原因の典型です。
=DAYS360(A1, B1) '米国NASD方式(既定)
=DAYS360(A1, B1, TRUE) 'ヨーロッパ方式
契約書で「30E/360」と指定されている場合は、第3引数にTRUEを必ず付けます。社内ツールで運用するときは、関数のラッパーを作って方式を固定する方法もおすすめです。
IFERRORで安全に使う
入力ミスに備えて、IFERROR関数で囲んでおくと安心です。
=IFERROR(DAYS360(A1, B1), "日付を確認してください")
エラー時にメッセージを表示できるので、共有ファイルで使うときに便利ですよ。台帳テンプレートに組み込んでおけば、入力者が日付欄を空のまま保存してもエラー表記が散らばりません。
DAYS360・DAYS・YEARFRAC・DATEDIFの使い分け
日数や期間を求める関数は複数あります。それぞれの違いを整理しましょう。
戻り値と計算方式の違い
| 関数 | 計算基準 | 戻り値 | 主な用途 |
|---|---|---|---|
| DAYS360 | 360日法(30日×12か月) | 整数(日数) | 社債・金融商品の利息計算 |
| DAYS | 実際のカレンダー日数 | 整数(日数) | 一般的な日数差の計算 |
| YEARFRAC | 指定した基準(複数対応) | 小数(年単位) | 年率・期間割合の計算 |
| DATEDIF | 実日数(年/月/日単位) | 整数(指定単位) | 年齢・勤続年数の計算 |
同じ期間「2024/1/1〜2024/12/31」で比較してみましょう。DAYSは365日、DAYS360は360日を返します。YEARFRACは基準により異なる小数です。
使い分け早見表
| やりたいこと | 使う関数 |
|---|---|
| 普通に日数を数えたい | DAYS |
| 360日法で日数を求めたい | DAYS360 |
| 年率で期間の割合を出したい | YEARFRAC |
| 年・月・日単位で期間を出したい | DATEDIF |
ポイントは「何日法で計算するか」と「戻り値が日数か年単位か」の2点です。金融系の利息計算ならDAYS360、一般業務ならDAYS、年率計算ならYEARFRACと覚えておけば迷いません。
YEARFRAC基準4との対応関係
YEARFRACの基準(basis)4はヨーロッパ30/360方式です。次の2つは数学的に等価です。
=DAYS360(開始日, 終了日, TRUE) / 360
=YEARFRAC(開始日, 終了日, 4)
同様に、YEARFRACの基準0は米国NASD方式と対応しています。DAYS360(開始日, 終了日, FALSE) / 360とYEARFRAC(開始日, 終了日, 0)も同じ結果です。年率計算ならYEARFRAC、日数表示ならDAYS360と用途で使い分けてみてくださいね。
まとめ
DAYS360関数は、360日法で2つの日付間の日数を計算する関数です。
- 構文は
=DAYS360(開始日, 終了日, [方式]) - 方式を省略またはFALSEで米国NASD方式、TRUEでヨーロッパ方式
- 社債や融資の利息日割り計算で活用できる
- 一般的な日数計算にはDAYS関数、年率計算にはYEARFRAC関数を使い分ける
- 入力ミス対策にはIFERROR関数で囲むと安心
金融業界特有の360日法をExcelで正確に計算するなら、DAYS360関数がベストな選択肢です。ぜひ業務に取り入れてみてください。