数学の中でも 数列 は Excel の操作感覚にぴたりと合う分野といってよいでしょう。相対参照で同じ演算を作用させ続けるオートフィル機能とは、まさに数列そのものです。まず簡単に 等差数列 について復習し、そのあと実際に Excel に数列を計算させてみましょう。
初項 (first term) $a_1$ に同じ数 $d$ を順に足していった数列
\[a_1,\quad a_1+d,\quad a_1+2d,\quad a_1+3d,\: \cdots \:\]
のことを 等差数列 (arithmetric sequence) とよびます。このとき、$d$ は 公差 (common difference) とよばれます。 その規則性から明らかに、$n$ 番目の項、すなわち一般項 (general term) は
\[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\]
を 等差級数 (arithmetric series) とよび、末項を $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$ は次のように求めることができます:
それでは新しいシートを用意してください。初項 1, 公差 2 の等差数列を計算させてみます。下図を参照に数列番号 n と一般項 $a_n$、そして数列の和 $S_n$ を表す見出しを作っておきます。n の下(セル A2 以降)には 1 から 10 までの番号を用意しておきましょう。また、初項 $a_1$ および公差 $d$ を入力する項目も用意しておきます。セル B2 にはセル F2 を絶対参照する
=$F$2
と入力しておきます。数列が 1 項しかなければ和は $a_1$ に等しいので、セル C2 には
=B2
と入力します。
さて B3 に入るべきは 1 つ前のセルに公差 d を加える というデータです。「1 つ前のセル」は相対参照で、公差 $d$ は絶対参照にしなければなりませんから、
=B2+$F$3
と入れておきます。そして右下隅をダブルクリックすると、末項までこの関係が保持されたデータが入り、一般項 an のデータが一瞬で完成します。
次はこの数列の和を計算するために、さきほどの公式 (4)
\[S_n=S_{n-1}+a_n\]
を用います。ですから、1 つ前のセルに左隣のセルを加える というデータを作ります。相対参照で
=C2+B3
と入力します。右下隅をダブルクリックして数列の和のデータが入ります。
ちゃんと合っているのかどうか不安な人は検算しておきましょう。
\[1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 20\times 5=100\]
合ってますね! 次は初項を「 2 」、公差を「 4 」に変えてみます。
一般項と和が一瞬で計算され直しました。
Excel は自由度の高い計算ソフトですから、同じ数列計算シートでも人によって仕様が異なる可能性があります。たとえば初項と公差の入力項目を用意せずに セル B2 に「 1 」を入れて、B3 には
=B2+2
としても計算上は問題ありません。しかしこれでは何がパラメータなのか分かり難いうえに、公差を変えようとしたときに、セル B3 の式を書き直さなければならなくなってしまいます。色々な数列を調べたいと思ったときに、これではストレスが溜まるばかりですね。Excel でシートを作るさいには可能な限り「データの1部を変えて対応するデータを全て変化させる」という仕様にすることが大切です。これは数学に限らず会社で作成する見積書などでも同じことです。また、VBA と連動させるような複雑なシートならいっそう重要になってきます。「どの部分がパラメータで、対応する可変データはどこなのか」を分かりやすく構成する、ということを常に意識してください。
「連続データの作成」機能による等差数列の生成
Excel の「連続データの作成」機能を使って、等差数列を生成することもできます。例として、初項 5、等差 3 の等差数列を生成してみましょう。下図のように、A 列に項数を適当に用意して、セル B2 に初項 5 を入力しておきます。
次に「ホーム」タブの右隅にある「フィル」アイコン (↓ のようなマーク) をクリックして、「連続データの作成」を選択します。
「範囲」の「列」と「種類」の「加算」にチェックを入れて、「増分値」に 3 を入力します。設定した値以下でデータを止めるのが「停止値」です。大きめに適当な値を入れておきましょう。ここでは 99 に設定しておきます。
「OK」ボタンをクリックするか、[Enter] キーを押すと、下図のように等差数列が完成します。
エクセルや数学に関するコメントをお寄せください