Excel VBA 数学教室ではアフィリエイトプログラムを利用して商品を紹介しています。

【Excel】等差数列と等差級数

数学の中でも数列は Excel の操作感覚にぴたりと合う分野といってよいでしょう。相対参照で同じ演算を作用させ続けるオートフィル機能とは、まさに数列そのものです。まず簡単に等差数列について復習し、そのあと実際に Excel に数列を計算させてみましょう。

初項 $a_1$ に同じ数 $d$ を順に足していった数列
 \[a_1,\quad a_1+d,\quad a_1+2d,\quad a_1+3d,\:\cdots\:\]
のことを等差数列とよびます。このとき、$d$ は公差とよばれます。 その規則性から明らかに、$n$ 番目の項、すなわち一般項は
 \[a_n=a_1+(n-1)\,d\tag{1}\]
と表せます。また $m$ 番目の項は $a_m=a_1+(m-1)\,d$ と表せるので、$a_n$ から $a_m$ を差し引くと、
 \[a_n-a_m=(n-m)\,d \tag{2}\]
というように、任意の二項間の関係が得られます。たとえば、初項 1 に順次 3 を加える数列
 \[1,\ 7,\ 10,\ 13,\ 20,\ \cdots\]
の一般項は、
 \[a_n=1+(n-1)\;3=3n-2\]
と表すことができます。またその項数は
 \[3n-2=88\]
より、$n=30$ となります。

等差数列の各項の総和
 \[S_n=a_1+a_2+a_3+\:\cdots\:+a_n\]
等差級数 とよび、末項を $l$ として次式で表すことができます。
 \[\begin{align*}S_n&=\frac{n(a_1+l)}{2}\tag{3}\\[6pt]S_n&=\frac{n}{2}\{2a_1+(n-1)\,d\}\tag{4}\end{align*}\]
【(3)(4)の証明】等差数列の和を書き下すと
 \[S_n=a_1+(a_1+d)+(a_1+2d)+\:\cdots\:+(l-2s)+(l-d)+l\]
と表せます。これを逆順にして
 \[S_n=l+(l-d)+(l-2d)+\:\cdots\:+(a_1+2d)+(a_1+d)+a_1\]
と書いて両式を足し合わせてみると、
 \[2S_n=(a_1+l)+(a_1+l)+(a_1+l)+ \:\cdots\:+(a_1+l)\]
と同じ形の項が \(n\) 個揃うので、
 \[S_n=\frac{n(a_1+l)}{2}\]
という表式が得られます。ここで末項 $l$ は
 \[l=a_1+(n-1)\,d\]
なので、
 \[S_n=\frac{n}{2}\{2a_1+(n-1)\,d\}\]
と表すこともできます。たとえば、自然数を $1$ から $n$ まで順に足し合わせると
 \[1+2+3+\:\cdots\:+n=\frac{n(n+1)}{2}\]
となります。また奇数を $1$ から $2n-1$ まで足し合わせると
 \[1+3+5+\:\cdots\:+2n-1=\frac{n}{2}(1+2n-1)=n^2\]
となります。偶数を $1$ から $2n$ まで足し合わせると
 \[2+4+6+\:\cdots\:+2n=\frac{n}{2}(2+2n)=n(n+1)\]
のようになります。

【Excel】等差数列の作成

基本的に Excel で数列を計算する場合は初項 $a_1$ と公差 $d$ さえ分かっていればよく、一般項は必要ありません。また、第 $n$ 項までの等差数列の和は公式 (4) を使って計算できますが、Excel では各セルごとに順次和を求めていくので、
 \[S_n=S_{n-1}+a_n\]
という関係式を使います。たとえば第 4 項までの和 $S_4$ は次のように求めることができます:
 
ExcelSnとanの関係

それでは新しいシートを用意してください。初項 $1$, 公差 $2$ の等差数列を計算させてみます。下図を参照に数列番号 n と一般項 $a_n$、そして数列の和 $S_n$ を表す見出しを作っておきます。n の下(セル A2 以降)には 1 から 10 までの番号を用意しておきましょう。また、初項 $a_1$ および公差 $d$ を入力する項目も用意しておきます。セル B2 にはセル F2 を絶対参照する

=$F$2

と入力しておきます。数列が 1 項しかなければ和は $a_1$ に等しいので、セル C2 には

=B2

と入力します。
 
Excel初項と公差を入力

さて、セル B3 には「1 つ前のセルに公差 d を加えた」データを入れます。「1 つ前のセル」は相対参照で、公差 $d$ は絶対参照にしなければならないので、

=B2+$F$3

と入れておきます。そして右下隅をダブルクリックすると、末項までこの関係が保持されたデータが入り、一般項 $a_{n}$ のデータが一瞬で完成します。
 
Excel等差数列データ

次はこの数列の和を計算するために、さきほどの公式 (4)
 \[S_n=S_{n-1}+a_n\]
を用います。「1 つ前のセルに左隣のセルを加える」というデータを作ります。相対参照で

=C2+B3

と入力します。右下隅をダブルクリックして数列の和のデータが入ります。
 
Excel数列総和データ

ちゃんと合っているのかどうか不安な人は検算しておきましょう。
 \[1+3+5+7+9+11+13+15+17+19=20\times 5=100\]
合ってますね! 次は初項を 2、公差を 4 に変えてみます。
 
Excel初項と公差を変える
 
一般項と和が一瞬で計算され直しました。
 
Excel は自由度の高い計算ソフトですから、同じ数列計算シートでも人によって仕様が異なる可能性があります。たとえば初項と公差の入力項目を用意せずに セル B2 に「1」を入れて、B3 には

=B2+2

としても計算上は問題ありません。しかしこれでは何がパラメータなのか分かり難いうえに、公差を変えようとしたときに、セル B3 の式を書き直さなければならなくなってしまいます。色々な数列を調べたいと思ったときに、これではストレスが溜まるばかりですね。Excel でシートを作るさいには可能な限り「データの1部を変えて対応するデータを全て変化させる」という仕様にすることが大切です。これは数学に限らず会社で作成する見積書などでも同じことです。また、VBA と連動させるような複雑なシートならいっそう重要になってきます。「どの部分がパラメータで、対応する可変データはどこなのか」を分かりやすく構成する、ということを常に意識してください。

「連続データの作成」機能による等差数列の生成

Excel の「連続データの作成」機能を使って、等差数列を生成することもできます。例として、初項 5、等差 3 の等差数列を生成してみましょう。下図のように、A 列に項数を適当に用意して、セル B2 に初項 5 を入力しておきます。
 
Excelによる等差数列ワークシートの作成準備

次に「ホーム」タブの右隅にある「フィル」アイコン (↓ のようなマーク) をクリックして、「連続データの作成」を選択します。
 
Excelの連続データの作成機能を選択
 
「範囲」の「列」と「種類」の「加算」にチェックを入れて、「増分値」に 3 を入力します。設定した値以下でデータを止めるのが「停止値」です。大きめに適当な値を入れておきましょう。ここでは 99 に設定しておきます。
 
[Excel]範囲を列、種類を加算に設定
 
「OK」ボタンをクリックするか、[Enter] キーを押すと、下図のように等差数列が完成します。
 
ワークシートに初項5、等差3の等差数列が完成

エクセルや数学に関するコメントをお寄せください