「社債の利息計算を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版に対応しています。
DAYS360関数の構文と引数
構文
=DAYS360(開始日, 終了日, [方式])
引数の詳細
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 開始日 | 必須 | 期間の最初の日付を指定する |
| 終了日 | 必須 | 期間の最後の日付を指定する |
| 方式 | 省略可 | FALSEまたは省略で米国NASD方式。TRUEでヨーロッパ方式 |
開始日が終了日より後の場合は、負の値を返します。日付はDATE関数やセル参照で指定するのがおすすめです。
米国方式(FALSE)とヨーロッパ方式(TRUE)の違い
DAYS360関数の計算結果を決めるのが「方式」の引数です。米国方式とヨーロッパ方式では、月末日の扱いが異なります。
共通の計算式は次のとおりです。
日数 = 360×(Y2−Y1) + 30×(M2−M1) + (D2−D1)
Y・M・Dは調整後の年・月・日を表します。この「調整ルール」が方式によって違います。
米国方式(NASD方式)のルール
方式をFALSEにするか省略すると、米国NASD方式で計算します。調整ルールは次のとおりです。
- 開始日が月末日なら、その月の30日に変換する
- 終了日が31日の場合は、開始日の値で分岐する
- 開始日が29日以下 → 終了日を翌月1日に変換
- 開始日が30日以上 → 終了日を30日に変換
米国社債や政府機関債の利息計算に使われる方式です。
ヨーロッパ方式のルール
方式をTRUEにすると、ヨーロッパ方式で計算します。調整ルールはシンプルです。
- 開始日が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 |
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日です。
どちらの方式を使うべきか
日本国内の一般的な業務であれば、デフォルトの米国NASD方式(FALSEまたは省略)で問題ありません。ヨーロッパ方式を使うのは、欧州の債券計算など取引先から指定がある場合です。迷ったら方式を省略してくださいね。
DAYS360関数の基本的な使い方
セル参照で日数を計算する
もっとも一般的な使い方です。セルに入力した日付を参照して計算します。
=DAYS360(A1, B1)
A1に開始日「2024/1/1」、B1に終了日「2024/12/31」が入っている場合、結果は360になります。
DATE関数と組み合わせる
日付を数式内で直接指定するなら、DATE関数を使います。
=DAYS360(DATE(2024,1,1), DATE(2024,12,31))
この数式も結果は360です。文字列で日付を指定するとエラーになる場合があるため、DATE関数を使うのが安全ですよ。
TODAY関数と組み合わせる
TODAY関数を使えば、今日までの経過日数を自動計算できます。
=DAYS360(DATE(2024,4,1), TODAY())
ファイルを開くたびに今日の日付で再計算されるので、経過日数の管理に便利ですよ。
実務での活用例
利息の日割り計算
社債や融資の利息計算に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日です。月ごとの日数のばらつきがなくなるので、計算がシンプルになりますよね。
リース料・契約期間の計算
リース契約や保険料の日割り計算でも360日法が使われることがあります。
=リース年額 * DAYS360(契約開始日, 契約終了日) / 360
契約書に「360日ベース」と記載がある場合は、DAYS360関数で計算してみてください。
DAYS360関数のエラーと対処法
#VALUE!エラーの原因と対処
DAYS360関数で最も多いエラーが#VALUE!エラーです。原因は日付として認識できない値を指定していることです。
| 原因 | 例 | 対処法 |
|---|---|---|
| 文字列を直接入力 | =DAYS360(“abc”, A2) | 有効な日付をセルに入力して参照する |
| 存在しない日付 | =DAYS360(DATE(2024,13,1), A2) | 正しい年月日をDATE関数で指定する |
| セルの書式が文字列 | セルの表示形式が「文字列」 | 表示形式を「日付」に変更する |
日付はDATE関数で指定するか、日付が入力されたセルを参照するのが確実です。
IFERRORで安全に使う
入力ミスに備えて、IFERROR関数で囲んでおくと安心です。
=IFERROR(DAYS360(A1, B1), "日付を確認してください")
エラー時にメッセージを表示できるので、共有ファイルで使うときに便利ですよ。
DAYS360・DAYS・YEARFRACの使い分け
日数や期間を求める関数は複数あります。それぞれの違いを整理しましょう。
戻り値と計算方式の違い
| 関数 | 計算基準 | 戻り値 | 主な用途 |
|---|---|---|---|
| DAYS360 | 360日法(30日×12か月) | 整数(日数) | 社債・金融商品の利息計算 |
| DAYS | 実際のカレンダー日数 | 整数(日数) | 一般的な日数差の計算 |
| YEARFRAC | 指定した基準(複数対応) | 小数(年単位) | 年率・期間割合の計算 |
同じ期間「2024/1/1〜2024/12/31」で比較してみましょう。DAYSは365日、DAYS360は360日を返します。YEARFRACは基準により異なる小数です。
使い分け早見表
| やりたいこと | 使う関数 |
|---|---|
| 普通に日数を数えたい | DAYS |
| 360日法で日数を求めたい | DAYS360 |
| 年率で期間の割合を出したい | YEARFRAC |
| 年・月・日単位で期間を出したい | DATEDIF |
ポイントは「何日法で計算するか」と「戻り値が日数か年単位か」の2点です。金融系の利息計算ならDAYS360、一般業務ならDAYS、年率計算ならYEARFRACと覚えておけば迷いません。
なお、YEARFRACの基準4(ヨーロッパ30/360)はDAYS360のヨーロッパ方式と対応しています。DAYS360(開始日, 終了日, TRUE) / 360と同じ結果です。用途に合わせて使い分けてみてくださいね。
まとめ
DAYS360関数は、360日法で2つの日付間の日数を計算する関数です。
- 構文は
=DAYS360(開始日, 終了日, [方式]) - 方式を省略またはFALSEで米国NASD方式、TRUEでヨーロッパ方式
- 社債や融資の利息日割り計算で活用できる
- 一般的な日数計算にはDAYS関数、年率計算にはYEARFRAC関数を使い分ける
金融業界特有の360日法をExcelで正確に計算するなら、DAYS360関数がベストな選択肢です。ぜひ業務に取り入れてみてください。
