将来の補修費を現在価値に換算する方法|Excel・VBAで計算

建設実務

橋梁のLCCを考えるとき、補修費や更新費はすべて同じ年に発生するわけではありません。

例えば、

  • 5年後に小規模補修
  • 20年後に大規模補修
  • 40年後に更新

というように、費用の発生時期は維持管理シナリオによって変わります。

ここで問題になるのが、

「20年後の1,000万円と、現在の1,000万円をそのまま同じ1,000万円として比較してよいのか」

という点です。

LCCでは、異なる時点に発生する費用を同じ基準で比較するため、将来費用を現在価値へ換算する考え方を使います。

この記事では、国土交通省の費用便益分析マニュアルを出典として、

  • 現在価値とは何か
  • 現在価値を求める数式
  • 割引率と年数が結果へ与える影響
  • Excelでの計算方法
  • ExcelのPV関数を使う方法
  • VBAで計算する方法
  • 実務で使用するときの注意点

を整理します。

重要:利用上の注意

本記事は、現在価値換算の計算方法を理解するための技術解説です。

記事中で使用する4%という割引率は、後述する国土交通省「費用便益分析マニュアル」で現在価値算出に用いられている社会的割引率です。

個別の橋梁長寿命化計画やLCC業務で、一律に4%を使用すればよいという意味ではありません。

実際の業務では、採用する基準・要領、発注者の条件、計画上の設定根拠等を確認し、利用者自身の責任で計算条件と結果の妥当性を確認してください。

現在価値換算の出典

今回参照する主な資料は、国土交通省 道路局・都市局の次の資料です。

『費用便益分析マニュアル』令和7年8月

国土交通省公式PDF:

https://www.mlit.go.jp/road/ir/ir-hyouka/ben-eki_2.pdf

このマニュアルでは、費用便益分析にあたり、

各年次の便益・費用を割引率を用いて現在価値に換算して分析する

という考え方が示されています。

また、道路事業における費用として、

  • 道路整備に要する事業費
  • 道路維持管理に要する費用
  • 道路構造物の更新に要する費用

を扱っています。

道路維持管理費には、橋梁・トンネル等の道路構造物の点検・補修費が含まれます。

道路構造物の更新費についても、橋梁等の構造物の更新費が対象とされています。

したがって、

将来の点検・補修・更新費を各年次へ配置し、現在価値へ換算する

という考え方は、橋梁のLCCを理解するうえでも非常に重要です。

ただし、このマニュアル自体は道路事業の費用便益分析を目的とした資料です。

この記事では、その中の「将来費用を現在価値へ換算する計算方法」を取り出して説明します。

国交省マニュアルの現在価値計算

国交省マニュアルでは、費用種別ごとの現在価値を、概念的に次の形で算定しています。

CofPV_j=\sum<em>t\frac{C</em>{j(s+t)}}{(1+i)^{s+t}}

ここで、

  • CofPV_j:費用jの現在価値
  • s:基準年次から供用開始年次までの年数
  • t:供用開始年次を0年目とする年次
  • C_{j(s+t)}:年次s+t年目に発生する費用j
  • i:割引率
  • j:費用種別

です。

国交省の費用便益分析では、基準年次、供用開始年次、各費用の発生年次を区別して計算しています。

これは実際の道路事業評価に必要な形です。

一方、現在価値という計算そのものを理解するだけなら、もっと単純な形にできます。

1回だけ発生する将来費用なら式はシンプルになる

今を基準年として、

t年後に費用C_tが1回だけ発生する

とします。

この場合、現在価値PVは、

PV=\frac{C_t}{(1+i)^t}

と表せます。

ここで、

  • PV:現在価値
  • C_t:t年後に発生する費用
  • i:割引率
  • t:費用が発生するまでの年数

です。

この式の位置付け

PV=\frac{C_t}{(1+i)^t}

は、国交省マニュアルの複数年・複数費目を扱う現在価値算定式から、

「現在を基準として、t年後に1回だけ費用が発生する場合」

に単純化したものです。

国交省マニュアルに、この記号のまま単独式として掲載されているという意味ではありません。

なぜ将来費用は割り算するのか

式を見ると、

(1+i)^t

で将来費用を割っています。

例えば割引率4%なら、1年後の費用を現在価値へ戻すときは、

PV=\frac{C_1}{1.04}

となります。

2年後なら、

PV=\frac{C_2}{1.04^2}

20年後なら、

PV=\frac{C_{20}}{1.04^{20}}

です。

年数が長くなるほど分母が大きくなるため、同じ金額でも現在価値は小さくなります。

つまり現在価値換算では、

「いくらかかるか」

だけでなく、

「いつかかるか」

も評価へ入ることになります。

20年後の1,000万円を現在価値へ換算する

具体的に計算してみます。

条件は、

  • 将来費用:1,000万円
  • 発生時期:20年後
  • 割引率:4%

とします。

式は、

PV=\frac{10,000,000}{(1+0.04)^{20}}

です。

したがって、

PV\approx4,563,869

となります。

約456万円です。

つまり、4%という条件で現在価値換算すると、

20年後の1,000万円 ≒ 現在価値456万円

という計算になります。

注意

これは「20年後には1,000万円が456万円で済む」という意味ではありません。

実際に20年後に支払う金額を減額しているのではなく、

異なる時点に発生する費用を、基準年次の価値へ換算して比較している

ということです。

割引率が変わると現在価値は大きく変わる

同じ、

20年後の1,000万円

でも、割引率が変われば現在価値は変わります。

割引率4%

PV=\frac{10,000,000}{1.04^{20}}\approx4,563,869

約456万円です。

割引率2%

PV=\frac{10,000,000}{1.02^{20}}\approx6,729,713

約673万円です。

割引率1%

PV=\frac{10,000,000}{1.01^{20}}\approx8,195,445

約820万円です。

同じ1,000万円、同じ20年後でも、

割引率1%と4%では現在価値にかなり大きな差が出ます。

そのため、割引率は単なるExcelの入力値ではありません。

LCC比較の前提条件として、

どの割引率を、どの根拠で採用したのか

を明確にする必要があります。

国交省マニュアルでは社会的割引率4%

国土交通省「費用便益分析マニュアル(令和7年8月)」では、費用便益分析において、

現在価値算出のための社会的割引率:4%

を使用するとしています。

また、最新の社会経済情勢等を踏まえた比較のための参考値として、

  • 1%
  • 2%

を標準として設定できるとしています。

ここで重要なのは、

国交省道路事業の費用便益分析で4%を使用している

という事実と、

個別のLCC業務でも必ず4%を使用する

という判断は別だという点です。

割引率設定の注意

LCC計算で使用する割引率は、過年度成果品や他業務のExcelに入っている数値を、根拠を確認せずそのまま流用しないでください。

使用する基準・マニュアル、発注者の条件、計画策定時点等を確認し、

「なぜこの割引率を使用したのか」

を説明できる状態にしておくことが重要です。

Excelで現在価値を計算する

Excelでは、現在価値式をそのままセルへ入力できます。

例えば、

  • B1:将来費用
  • B2:割引率
  • B3:発生年数
  • B4:現在価値

とします。

B1へ、

10000000

B2へ、

4%

B3へ、

20

を入力します。

B4には、

=B1/(1+B2)^B3

と入力します。

計算結果は約、

4563869.46

です。

割引率は「4」ではなく「4%」

Excelでは特に入力方法に注意が必要です。

4%を使用する場合、

4%

または、

0.04

と入力します。

単に、

4

と入力すると、それは4%ではなく数値の4です。

つまり400%相当として計算されます。

入力セルの表示形式だけを見て判断せず、セル内部の値が0.04になっているかを確認する方が安全です。

Excel利用上の注意

Excelが正常な数値を返したことは、使用した割引率や費用発生年の設定が妥当であることを保証しません。

計算式と、計算条件の妥当性は別々に確認してください。

ExcelのPV関数でも計算できる

Excelには、現在価値を求めるための PV 関数もあります。

今回のように、

  • 20年後
  • 1回だけ
  • 1,000万円

という条件なら、例えば、

=PV(B2,B3,0,-B1)

と入力できます。

各引数は、

  • B2:割引率
  • B3:期間
  • :期間中の定期支払額なし
  • -B1:将来価値

です。

この場合も、約456万円が返ります。

なぜ将来費用をマイナスにするのか

Excelの財務関数では、支払いと受け取りを正負の符号で区別する考え方があります。

そのため、

=PV(B2,B3,0,-B1)

のように将来価値へマイナス符号を付けると、現在価値を正の値として表示できます。

ただし、橋梁LCCの計算内容を確認する目的なら、

=B1/(1+B2)^B3

という直接式の方が、

何を計算しているのか目で追いやすい

という利点があります。

私は、計算根拠を確認しながら使うExcelでは、まず直接式で仕組みを理解してからPV関数を使う方が分かりやすいと考えます。

VBAで現在価値を計算する

同じ計算をVBAのユーザー定義関数へ落とすこともできます。

コード利用上の注意

以下のVBAコードは、現在価値計算の方法と動作を確認するためのサンプルです。

実行前に必ずExcelファイルのバックアップを作成してください。
業務で使用しているファイルへ、いきなり貼り付けて使用しないでください。
Excelのバージョンや設定によって、動作が異なる場合があります。

コードの利用および実務への適用は自己責任で行い、必ずテストデータで計算結果を検証してください。

標準モジュールへ、次のコードを記述します。

Option Explicit

Public Function CalcPresentValue( _
    ByVal futureCost As Double, _
    ByVal discountRate As Double, _
    ByVal years As Double) As Variant

    If futureCost < 0 Then
        CalcPresentValue = CVErr(xlErrNum)
        Exit Function
    End If

    If discountRate <= -1 Then
        CalcPresentValue = CVErr(xlErrNum)
        Exit Function
    End If

    If years < 0 Then
        CalcPresentValue = CVErr(xlErrNum)
        Exit Function
    End If

    CalcPresentValue = _
        futureCost / ((1 + discountRate) ^ years)

End Function

ワークシートから、

=CalcPresentValue(10000000,4%,20)

と入力すると、約、

4563869.46

が返ります。

VBAでも4%は0.04として扱う

VBAでも計算の考え方はExcelと同じです。

コード内の discountRate に4%を渡す場合は、

0.04

です。

ワークシート上から、

=CalcPresentValue(10000000,4%,20)

と指定すれば、Excel側が4%を0.04として関数へ渡します。

計算結果を逆方向に戻して検算する

現在価値の計算結果を検算するには、逆方向へ戻してみる方法があります。

基本式は、

PV=\frac{C_t}{(1+i)^t}

なので、

C_t=PV(1+i)^t

と変形できます。

今回の現在価値、

PV\approx4,563,869

に対し、

4,563,869\times1.04^{20}

を計算すると、おおむね1,000万円へ戻ります。

Excelなら、

=B4*(1+B2)^B3

です。

このように、

将来費用 → 現在価値

だけでなく、

現在価値 → 将来費用

も確認すると、セル参照や割引率の入力ミスを見つけやすくなります。

物価調整と現在価値換算を混同しない

現在価値計算では、もう一つ注意したい点があります。

それが物価変動の扱いです。

国交省「費用便益分析マニュアル」では、評価時点までの各年次の便益・費用について、物価変動分を除外するため、基準年次の実質価格へ変換する考え方も示されています。

つまり、

物価をどの年の価格へ揃えるか

という処理と、

割引率を使って時間価値を現在へ戻す

という処理は同じものではありません。

実務でLCCを作成するときも、

  • 費用単価は何年価格なのか
  • 将来価格を名目値で設定しているのか
  • 実質価格で統一しているのか
  • どの割引率を組み合わせるのか

を確認する必要があります。

過年度Excelの数字をコピーして、

単価の基準年は不明、割引率だけ4%

という状態にしないことが重要です。

特に注意

将来費用、物価変動、基準年価格、社会的割引率の扱いは、採用するマニュアルや業務条件によって整理方法が異なる場合があります。

本記事の簡易計算式だけを根拠に、物価調整を含む実際の業務計算方法を決定しないでください。

前回求めた「到達年」と現在価値をどうつなぐか

前の記事では、劣化曲線、

y=-ax^2+b

から、所定ランクへの到達年を、

x=\sqrt{\frac{b-y}{a}}

によって逆算しました。

これによって、

いつ管理水準へ到達するか

という時間情報が得られます。

今回の記事では、その時点で発生すると仮定した補修費を、

PV=\frac{C_t}{(1+i)^t}

によって現在価値へ換算しました。

したがって、

劣化予測
→ 管理水準到達年
→ 補修時期の設定
→ 将来補修費
→ 現在価値

までがつながります。

ただし、劣化曲線から27.77年という値が得られたからといって、

そのまま27.77をLCCの費用発生年として使うべきか

は別の問題です。

実際のLCCでは、

  • 年度単位へどう整理するか
  • 点検時期との関係
  • 補修実施年度
  • 予算年度
  • 管理水準へ到達する前に措置するか

などのルールを確認する必要があります。

数式側で勝手に切り上げ・切り捨てをしないことが重要です。

1件の現在価値が分かれば、次はLCC全体を計算できる

ここまで扱ったのは、

ある1年に発生する、1件の費用

です。

実際の維持管理では、

  • 毎回の点検費
  • 10年後の補修費
  • 25年後の大規模補修費
  • 40年後の更新費

など、複数の費用が異なる年次に発生します。

それぞれについて、

PV_t=\frac{C_t}{(1+i)^t}

を計算し、現在価値を合計すれば、評価期間内の費用系列を現在価値ベースで比較できます。

ここから先が、LCC計算そのものです。

次の記事では、

各年の点検費・補修費・更新費をExcelへ並べ、それぞれ現在価値化して合計する方法

まで進めます。

まとめ

将来の費用を現在価値へ換算する基本的な考え方は、

PV=\frac{C_t}{(1+i)^t}

です。

ここで、

  • C_t:t年後の費用
  • i:割引率
  • t:発生までの年数
  • PV:現在価値

です。

例えば、

  • 20年後
  • 1,000万円
  • 割引率4%

なら、

PV\approx4,563,869

となります。

Excelでは、

=B1/(1+B2)^B3

で計算できます。

ExcelのPV関数なら、

=PV(B2,B3,0,-B1)

でも計算できます。

VBAでも同じ式をユーザー定義関数として実装できます。

ただし、現在価値計算で本当に重要なのは、数式そのものよりも、

  • 割引率の採用根拠
  • 費用の発生年
  • 基準年次
  • 価格の基準年
  • 物価変動の扱い
  • 対象業務で採用する計算条件

です。

本記事の数式・Excel式・VBAコードの利用について

本記事は、将来費用を現在価値へ換算する計算方法を理解するための参考情報です。

国土交通省の費用便益分析マニュアルで用いられる社会的割引率や計算条件が、すべてのLCC業務へそのまま適用できるとは限りません。

実際の維持管理計画、LCC算定、補修・更新判断、業務成果への使用については、発注者仕様、最新の基準・要領、対象施設の条件等を確認してください。

実務への適用は利用者自身の責任で行い、採用条件と計算結果の技術的妥当性を必ず検証してください。