エクセル

「複利の計算でFor文の練習」と「ちょっとプログラミング的思考について」

エクセル

[PR]当サイトはアフィリエイト広告を利用しています。

そろそろパソコンを新調したいというときはこちらもどうぞ。安さと機能のバランスが取れたPCを紹介しています。

プログラミングおすすめPC

マウスコンピューターのセールもチェックすると掘り出し物が見つかるかも。

はじめに

今回は簡単な例題として複利の計算を行います。

複利そのものに関してはこちらのサイトを参考にするといいと思います。

山口 佳子. “実はすごい「複利」の効果!将来に備えて複利運用で資産を育てよう”. みんなが知りたい資産運用(りそなグループ).https://www.resonabank.co.jp/kojin/column/shisan_kihon/column_0015.html, (参照2022-03-12)

では利回り2%で10年間1000万円を運用したときの資産を求めていきましょう。

エクセル関数で求める場合

式の入力は次のようになります。

E2: =C2*(1+$B$2)

E3: =E2*(1+$B$2)

E4: =E3*(1+$B$2)

あとはE3とE4を選択した状態で、E5からE11までオートフィルで引っ張ります。

ちなみに$B$2の「$」マークは式入力欄でB2を入力したら、B2をドラッグした状態でF4キーを入力すると変換されます。

オートフィルで引っ張ったとき、値を固定して動かさないようにしたいとき便利です。

簡単な解説

年利2%で1000万円を一年運用したとします。

このときの資産は

a1=1000×(1+0.02)

です。

2年目になると資産は

a2=a1×(1+0.02)

三年目は

a3=a2×(1+0.02)

…。

これを10年目まで続けます。

資産が前の年の増えた資産に対して増えていきます。

増えた資産を再投資していくので、受け取るタイミングは遅くなりますが(10年複利なら10年後まで資産に手出しできない)その分単利(増えた資産を再投資に回さないで元金だけで資産を増やす)より受け取ることのできる合計金額は増えます。

VBAで求める場合

次のコードを入力します。

Sub fukuri()
    Dim a As Double
    Dim rate As Double
    Dim i As Integer
    a = Range("C2").Value
    rate = Range("B2").Value
    For i = 1 To 10
        a = a * (1 + rate)
        Cells(1 + i, 6).Value = a
    Next i
End Sub

aを前のaに対してFor文の掛け算でどんどん増やしていくのがわかると思います。

まとめ

何らかの作業を「繰り返す」場合、プログラミングの恩恵が得られる場合が多いです。

日常で「繰り返す」場面を探してみるのも面白いかもしれませんね。

例えば私は掃除で箒を使っている時For文を思い出します。

掃く作業1回でこのくらいちりとりにゴミを移動できるから、あと適当にやっても20回掃けばほぼ確実にきれいになるだろうなとか。

この思考で何がいいかというと、少ない掃く回数でいかに効率的にごみをちりとりまで移動させなければいけないかという複雑な思考をせずに目的の結果が得られるというのがいいのです。

おそらく最短の掃く回数でちりとりにゴミを運ぶことを考えると、この角度で完璧に最適な速度で、箒を完璧な動作で最短の回数分動かすことを考えなければいけないでしょう。

それよりも「繰り返し」の思考方法を使えば、60%くらいのうまさの掃く動作でも現実的な範囲で繰り返しているうちにほぼ目的の結果が得られます。

学校教育で取り上げられるプログラミング的思考というのは、こういうところに役立つのかもしれませんね。

何らかのマニュアルを作るというのもプログラミング的思考の要素らしいですし、プログラミングに慣れていけば、いつかそういうスキルに近づくのかもしれません。

まあ私は箒を掃いているときにFor文を思い出すまでプログラミング歴10年くらいかかりましたけどね。