ネピア数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

を追加すれば全体のプログラムが完成する。