ローンや預金の金利を比較するとき、「年利3%(月複利)」「年利3.1%(年複利)」のどちらが有利なのか、パッと計算できると便利ですよね。
この記事では、スプレッドシートのEFFECT関数の使い方を、構文から実務の活用例・よくあるエラーの対処まで同僚に教える感覚で解説します。NOMINAL関数との使い分けもあわせて整理しているので、金融商品の利率比較や経理シミュレーションに役立ててください。
スプレッドシートのEFFECT関数とは?
スプレッドシートのEFFECT関数は、名目年利率(表面上の年利率)と複利計算の回数から、実質年利率(実効金利)を求める財務関数です。
「名目年利率」とは、金融機関のパンフレットや契約書に書いてある「年○%」の数字です。一方「実質年利率」は、複利効果を含めて1年間で実際にいくら増えるかを示した利率です。
たとえば「年利12%(月複利)」の預金は、月に1%ずつ複利で積み上がるため、1年後の実質的な利率は12%より少し高くなります。この「実際のところ何%か」をEFFECT関数が計算してくれます。
関連するNOMINAL関数は逆方向の変換(実質年利率→名目年利率)を行います。EFFECT関数とNOMINAL関数はペア関数として覚えておくと便利ですよ。
EFFECT関数の構文と引数
EFFECT関数の構文は次のとおりです。
=EFFECT(名目年利率, 複利計算回数)
英語表記だと =EFFECT(nominal_rate, npery) となります。引数は2つだけのシンプルな関数ですよ。
| 引数 | 省略 | 説明 |
|---|---|---|
| 名目年利率(nominal_rate) | 必須 | 契約書・パンフレットに記載された年利率(小数で指定。例: 12%→0.12) |
| 複利計算回数(npery) | 必須 | 1年あたりの複利計算回数(月複利なら12、四半期複利なら4) |
複利計算回数の目安
| 複利の種類 | npery の値 |
|---|---|
| 年複利 | 1 |
| 半年複利 | 2 |
| 四半期複利 | 4 |
| 月複利 | 12 |
| 日複利(365日) | 365 |
| 日複利(360日) | 360 |
返り値の型
EFFECT関数は小数で返ります。例えば実質年利率が12.68%なら 0.1268 が返ります。パーセント表示にしたいときはセルの書式を「パーセンテージ」に設定してください。
EFFECT関数の基本的な使い方
月複利12%の名目年利率から実質年利率を求める
年利12%(月複利)のとき、1年間の実質的な利率を求めてみましょう。
=EFFECT(0.12, 12)
結果は 約0.1268(12.68%) です。月に1%ずつ複利で増えていくと、1年後には12%ではなく約12.68%分の利息がつくことがわかります。
パーセントで入力したセルを参照する場合は次のように書けます。
=EFFECT(B2, 12)
B2セルに「12%」と入力してあれば、自動で小数に変換してくれます。
四半期複利10%の実質年利率を求める
年利10%(四半期複利)の場合を計算してみます。
=EFFECT(0.10, 4)
結果は 約0.1038(10.38%) です。四半期ごとに2.5%ずつ複利計算されると、年間では10.38%分の利益になりますよ。
複利周期が違う商品を実質年利率で比較する
複利の周期が違う金融商品を比較したいときは、EFFECT関数で実質年利率に揃えると分かりやすくなります。
| 商品名 | 名目年利率 | 複利の種類 | 数式 | 実質年利率 |
|---|---|---|---|---|
| 定期預金A | 12% | 月複利 | =EFFECT(0.12, 12) | 約12.68% |
| 社債B | 10% | 四半期複利 | =EFFECT(0.10, 4) | 約10.38% |
| 個人向け国債C | 5% | 半年複利 | =EFFECT(0.05, 2) | 約5.06% |
名目年利率だけ見ると定期預金Aが12%でもっとも高く見えますが、実質年利率に換算すると12.68%です。社債Bは名目10%ですが、実質10.38%になるわけですね。こうして統一の基準で比較できますよ。
NOMINAL関数との使い分け
EFFECT関数とペアになるNOMINAL関数は、実質年利率から名目年利率を逆算する関数です。変換の方向が逆なので混同しないように整理しておきましょう。
| 比較項目 | EFFECT関数 | NOMINAL関数 |
|---|---|---|
| 変換の方向 | 名目年利率 → 実質年利率 | 実質年利率 → 名目年利率 |
| 使う場面 | 表面利率から実際の年間収益率を計算したい | 実効金利が分かっていて表面利率を逆算したい |
| 構文 | =EFFECT(名目年利率, 複利計算回数) | =NOMINAL(実質年利率, 複利計算回数) |
| 引数の数 | 2つ | 2つ |
判断基準は「どちらが既知か」で決まります。金融機関から「年利○%(月複利)」と提示されたらEFFECT関数、「実質年利率○%」と提示されたらNOMINAL関数を使います。詳しくはNOMINAL関数の記事も参照してみてください。
相互変換で答えを確認する
EFFECT関数とNOMINAL関数で往復変換すると、計算ミスを防げます。
=NOMINAL(EFFECT(0.12, 12), 12)
上の数式は「EFFECT関数で変換した実質年利率をNOMINAL関数で名目年利率に戻す」操作です。結果は元の 0.12 に戻るはずです。
よくあるエラーと対処法
#NUM!エラー
以下のケースで発生します。
| 発生条件 | 対処法 |
|---|---|
| 名目年利率が0以下 | 正の数値を指定する |
| 複利計算回数が1未満(0または負の値) | 1以上の整数を指定する |
複利計算回数に小数(例: 2.5)を入れると自動で切り捨てられます(2として計算)。0以下を指定した場合のみエラーになりますよ。
#VALUE!エラー
引数に数値ではなく文字列が入っている場合に発生します。入力したセルの書式を確認し、数値またはパーセンテージ形式になっているかチェックしてください。
#NAME?エラー
関数名のスペルミスが原因です。「EFECT」「EFFCT」などと打ち間違えると発生します。入力候補から選ぶと確実ですよ。
Excelとの互換性
EFFECT関数はExcelとGoogleスプレッドシートで同じ計算結果を返します。Excelファイル(.xlsx)をスプレッドシートで開いても関数はそのまま動作します。
スプレッドシートでは引数名が日本語(「名目年利率」「複利計算回数」)で表示されます。Excelの英語表記(nominal_rate、npery)と見た目は異なりますが、動作に影響はありません。
なお、Excelの古いバージョン(Excel 2003以前)ではEFFECT関数を使うために「分析ツール」アドインの有効化が必要なことがあります。スプレッドシートはアドイン不要で最初から使えますよ。
まとめ
スプレッドシートのEFFECT関数は、名目年利率と複利計算回数から実質年利率を求める財務関数です。ポイントをまとめておきます。
- 引数は 名目年利率(小数)と複利計算回数(年複利なら1、月複利なら12)の2つだけ
- NOMINAL関数の逆変換として覚えると混乱しない。「名目→実質」がEFFECT、「実質→名目」がNOMINAL
- 名目年利率・複利計算回数ともに 0以下を指定すると #NUM! エラーになる
- 複利計算回数に小数を入れると切り捨てて整数として計算される
- Excelとの互換性があり、.xlsxファイルをそのまま開いても動作する
複利の周期が違う金融商品をフラットに比較したいときや、借入条件の実質コストを確かめたいときに活用してみてくださいね。NOMINAL関数とあわせて使いこなせると、財務シミュレーションの幅がぐっと広がりますよ。
