ExcelのFV関数の使い方|積立投資・将来価値を計算する財務関数
はじめに
「毎月3万円を年利3%で20年積み立てたら、将来いくらになるか」。
この計算、手作業でやろうとすると複利の連鎖で複雑になります。ExcelならFV関数一発で答えが出ます。
=FV(3%/12, 20*12, -30000)
結果は約983万円。この数式の意味と使い方を、この記事で順番に解説します。
引数の指定方法、符号(プラス・マイナス)のルール、単位換算の落とし穴、よくあるエラーの対処まで網羅します。NISA・iDeCoの積立シミュレーションにも直接使えます。
ExcelのFV関数とは?将来価値を求めるExcel財務関数
FV(Future Value)の定義と使いどころ
FVはFuture Value(将来価値)の略です。
現在の投資額や毎月の積立額をもとに、一定の利率で運用したとき将来いくらになるかを求めます。
使いどころは主に3つです。
| シーン | 具体例 |
|---|---|
| 毎月積立の最終額 | NISAやiDeCoで毎月○万円を積み立てた場合の満期額 |
| 定期預金の受取額 | 初期資金を○年間預けた場合の元利合計 |
| 初期資金+積立の複合 | 100万円を元手に毎月追加積立した場合の将来価値 |
PV関数(現在価値)と対になる関数です。「将来いくらになるか」を知りたいときはFV、「将来の目標額が今いくらか」を知りたいときはPVを使います。
FV関数はExcel・Googleスプレッドシートで利用可能
FV関数はExcelで利用できます。GoogleスプレッドシートのFV関数も構文・動作はExcelと同一です。本記事の数式はそのまま両方で使えます。
FV関数の構文と引数の意味
=FV(rate, nper, pmt, [pv], [type])の5引数
=FV(rate, nper, pmt, [pv], [type])
[ ]は省略可能な引数です。
| 引数 | 必須/省略可 | 省略時の既定値 | 意味 |
|---|---|---|---|
| rate | 必須 | — | 1期間あたりの利率 |
| nper | 必須 | — | 総支払回数 |
| pmt | 必須 | — | 毎期の定期支払額(変動不可) |
| pv | 省略可 | 0 | 現在価値(初期投資額) |
| type | 省略可 | 0 | 0=期末払い、1=期首払い |
pmtは省略できません。積立なしで初期資金のみの場合はpmt=0を指定してください。pvを省略すると0(初期資金なし)として計算されます。
月次計算時の単位換算(年利÷12・年数×12)
【重要】rateとnperの単位を必ず揃える
月次で積み立てる場合、rateもnperも月単位で指定します。
– rate:年利÷12
– nper:年数×12
| 積立頻度 | rateの指定 | nperの指定 |
|---|---|---|
| 月次 | 年利÷12 | 年数×12 |
| 四半期 | 年利÷4 | 年数×4 |
| 年次 | 年利(そのまま) | 年数(そのまま) |
月次計算でrateに年利をそのまま入れると、計算結果が実際の数倍に膨らみます。最もよくある入力ミスです。
符号ルールを理解する(FV関数最大のつまずきポイント)
支払い=マイナス、受取=プラスのキャッシュフロー方向
FV関数はキャッシュフローの方向を符号で区別します。
- 支払い(出金)→ マイナス:積立額(pmt)、初期投資額(pv)
- 受取(入金)→ プラス:FV関数の計算結果
「財布からお金が出ていく=マイナス」と覚えてください。
積立投資を例にとると、毎月3万円を積み立てるのは出金です。pmtは-30000と入力します。計算結果のFV(受取額)はプラスで返ります。
結果がマイナスになる理由とABS関数での対処
pmtやpvをプラスで入力すると、FV関数の結果がマイナスになります。
これはエラーではなく、符号ルールに基づく正常動作です。ただし「積立後の受取額がマイナス」では直感的にわかりにくいため、ABS関数で絶対値に変換して使うのが一般的です。
=ABS(FV(3%/12, 20*12, 30000))
上記はpmtをプラスで入力したケースをABSで補正した例です。もっとも、最初から-30000と入力する方が意図が明確です。
実例①:毎月積立だけの将来価値(基本形)
月3万円・年利3%・20年の積立額を求める
条件:毎月30,000円・年利3%・20年間・期末払い
=FV(3%/12, 20*12, -30000, 0, 0)
結果:約9,832,000円
引数の内訳:
| 引数 | 値 | 意味 |
|---|---|---|
| rate | 3%/12 | 月利0.25% |
| nper | 20*12 | 240回(20年×12ヶ月) |
| pmt | -30000 | 毎月30,000円の支払い |
| pv | 0 | 初期投資なし |
| type | 0 | 期末払い(省略も可) |
20年間の積立総額は30,000×240=720万円です。運用益の約263万円が上乗せされた約9,832,000円(約983万円)が将来価値になります。
実例②:一括投資+毎月積立の複合計算
初期資金100万円+月2万円・年利2%・10年後の価値
まとまった初期資金がある場合は、pvとpmtを両方指定します。
条件:初期資金100万円・毎月20,000円積立・年利2%・10年間
=FV(2%/12, 10*12, -20000, -1000000, 0)
結果:約388万円
pvにも-1000000とマイナスで入力します。「初期資金を口座に預ける=出金」だからです。
積立総額は20,000×120+1,000,000=340万円。運用益の約48万円が加わった値が将来価値です。
実例③:期首払い(type=1)と期末払いの違い
iDeCoの積立日設定を例に差額を比較
typeを1にすると、毎月の支払いが期末から期首に変わります。支払いが1ヶ月早まる分、全期間で1期多く複利が回るため、期首払いの方がFVは大きくなります。
条件:月5万円・年利6%(月利0.5%)・12ヶ月
期末払い(type=0): =FV(0.5%, 12, -50000, 0, 0)
結果: 約616,778円
期首払い(type=1): =FV(0.5%, 12, -50000, 0, 1)
結果: 約640,466円
差額は約23,688円です。1年間だとわずかな差ですが、20〜30年単位になると差は顕著に広がります。
iDeCoの場合、引落日が月初か月末かで積立タイミングが異なります。長期シミュレーションでは積立タイミングも考慮に入れると精度が上がります。
PV関数・PMT関数・NPER関数との使い分け
FV↔PV:逆演算の関係(知りたいものが違う)
FV・PV・PMT・NPER・RATEの5関数は、すべて同一の年金方程式を解きます。「4つがわかれば残り1つが求まる」関係です。
| 知りたいこと | 使う関数 |
|---|---|
| 将来いくらになるか | FV関数 ← 本記事 |
| 今いくら投資すればよいか | PV関数(現在価値の計算) |
| 毎月いくら積み立てるか | PMT関数(毎月返済額の計算) |
| 何ヶ月で目標に達するか | NPER関数(積立期間の逆算) |
| 何%の利率が必要か | RATE関数(利率の逆算) |
FVとPVは逆演算の関係です。
- FV:「毎月3万円を年利3%で20年積み立てたら将来いくらか」
- PV:「20年後に983万円受け取るには今いくら必要か」
同じ方程式の「求める変数」が違うだけです。
財務関数シリーズ全体マップ
キャッシュフロー方向の問いかけ
├─ 今いくら? → PV関数(現在価値)
├─ 将来いくら? → FV関数(将来価値)← 本記事
├─ 毎期いくら払う? → PMT関数(定期支払額)
├─ 何回払う? → NPER関数(支払回数)
├─ 何%必要? → RATE関数(利率)
├─ 利息部分は? → IPMT関数
├─ 元金部分は? → PPMT関数
├─ 累計利息は? → CUMIPMT関数
├─ 累計元金は? → CUMPRINC関数
├─ 投資価値は? → NPV関数(正味現在価値)
└─ 内部収益率は? → MIRR関数
よくあるエラーと対処法
#VALUE!エラー(引数の型ミス)
原因:引数に文字列やセル参照先のテキストが含まれている
対処:rate・nper・pmtはすべて数値でなければなりません。セルの書式が「文字列」になっていると数値として認識されないため、書式を「数値」に変更してから再入力してください。
結果がマイナスになる(符号ルールの見落とし)
原因:pmtまたはpvをプラスで入力している
これはエラーではなく正常動作です。「支払い=マイナス」のルールに従い、pmtとpvを負の数で入力すれば、FVはプラス(受取額)で返ります。プラスで入力したい場合は=ABS(FV(...))で絶対値に変換してください。
結果が想定より大きい(rateの単位ミス)
原因:月次計算でrateに年利をそのまま入力している
NG: =FV(3%, 240, -30000)
OK: =FV(3%/12, 240, -30000)
rateを年利のまま月次計算に使うと、実際の約12倍の利率で計算されます。結果が想定より大幅に大きい場合はまずここを確認してください。
結果が想定より小さい(nperの単位ミス)
原因:月次計算でnperに年数をそのまま入力している
NG: =FV(3%/12, 20, -30000)
OK: =FV(3%/12, 20*12, -30000)
nperが年単位のままだと積立期間が極端に短くなります。結果が想定より大幅に小さい場合はnperの単位を確認してください。
まとめ
FV関数の要点を3つにまとめます。
1. 5引数の役割を正確に把握する
=FV(rate, nper, pmt, [pv], [type])
必須はrate・nper・pmtの3つです。pvは初期資金がある場合に追加します。typeを省略すると期末払い(0)になります。
2. 符号ルールを守る
支払い(出金)はマイナスで入力します。pmtとpvを負の数で指定すれば、FVはプラス(受取額)で返ります。結果がマイナスになったらABS関数で対処できます。
3. 月次計算では単位を揃える
年利÷12、年数×12を忘れると計算結果が大きくずれます。rateとnperは必ず同じ期間単位で揃えてください。
関連する財務関数
- PV関数(現在価値の計算):FVの逆演算。将来の目標額から現在の必要投資額を求める
- PMT関数(毎月返済額の計算):目標額を達成するための毎月の積立額を求める
- NPER関数(積立期間の逆算):目標額に達するまでの期間を求める
- GoogleスプレッドシートのFV関数:構文はExcelと同一。Sheets版の詳細はこちら
