ネピア数eを計算するEXCELマクロ
ネピア数(自然対数の底)eは
1 1 1 1 1
e = ― + ― + ― + ― + ― + ・・・
0! 1! 2! 3! 4!
で定義される無理数である。ただし、k! はkの階乗すなわち1・2・3・・・kであり、0! は1である。
Excelのワークシートの任意の場所に、近似的にネピア数を求めるための項数nを入力し、その右隣
のセルに計算結果を出力するマクロを作成する。なお、項数nまで計算するとは、上記定義式で
1/(n+1)! 以降の項を無視した1/0!+1/1!+・・・+1/n! を計算することを意味する。
まず、1/k!を計算するプログラムを考える。1/k!=1/1/2/3/・・・/kであるので、総和を求めるときの
手順を参考にして
s = 1
s = s / 1
s = s / 2
s = s / 3
:
s = s / k
とすればよいことに気付くであろう。ただし、第1行目で s=1 としたのは総和を求めるときに s=0
としたことに対応している。この手順をプログラム化すれば
s = 1
For i = 1 To k
s = s / i
Next i
となる。これがネピア数の第k項を計算するプログラムであり、kを1からnまで変えてそれぞれのk
で計算されたsを総和すれば近似的ネピア数が計算されることになる。なお、1/0!=1 を初項とすれば
よいことにも気付くであろう。したがって、計算プログラムは次のようになる。
e = 1
For k = 1 To n
s = 1
For i = 1 To k
s = s / i
Next i
e = e + s
Next k
上記プログラムの前にnの読み込み
n = ActiveCell
後に結果の出力
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell = e
を追加すれば全体のプログラムが完成する。
|