「多項式やべき級数の計算をスプレッドシートでやりたいけど、POWER関数を何個も並べるのは面倒だな……」。そんな場面に出くわしたことはありませんか?
項数が増えるほど数式が長くなり、どこかの係数を間違えてもなかなか気づけません。もっとスマートにべき級数を計算できたら便利ですよね。
そんなときに使うのがスプレッドシートのSERIESSUM関数です。この記事では4つの引数の意味から多項式の計算、テイラー展開の近似計算まで解説します。
SERIESSUM関数とは?スプレッドシートでべき級数の和を求める関数
SERIESSUM関数(読み方: シリーズサム)は、べき級数の和を返す関数です。「SERIESSUM」は「Series(級数)+ Sum(合計)」の略です。
べき級数とは、ある数 x のべき乗に係数を掛けたものを足し合わせた式のことです。数学で書くと次のような形になります。
a1 × x^n + a2 × x^(n+m) + a3 × x^(n+2m) + ...
ちょっとむずかしく見えますが、やっていることはシンプルです。「x を何乗かして、係数を掛けて、全部足す」だけですよ。
SERIESSUM関数にできることをまとめると、次のとおりです。
- べき級数の和をワンステップで計算する
- 多項式(ax^2 + bx + c など)の値を求める
- テイラー展開で三角関数や指数関数の近似値を計算する
- POWER関数を何個も並べる手間を省く
NOTE
SERIESSUM関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
SERIESSUM関数の書き方(構文と引数)
基本構文
=SERIESSUM(x, n, m, 係数)
4つの引数すべてが必須です。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | べき級数の底(入力値) |
| n | 必須 | 最初の項のべき指数 |
| m | 必須 | べき指数の増分(項が進むごとに指数がm ずつ増える) |
| 係数 | 必須 | 各項の係数を並べた配列またはセル範囲 |
べき級数と引数の対応関係
4つの引数がべき級数のどこに対応するか、表で整理するとわかりやすいです。
| 項番 | 数式 | べき指数 | 係数 |
|---|---|---|---|
| 第1項 | a1 × x^n | n | a1(係数配列の1番目) |
| 第2項 | a2 × x^(n+m) | n + m | a2(係数配列の2番目) |
| 第3項 | a3 × x^(n+2m) | n + 2m | a3(係数配列の3番目) |
| … | … | … | … |
TIP
係数の配列は低次の項から順番に並べるのがポイントです。たとえば 3x^2 + 2x + 5 なら、定数項の 5 から並べて
{5, 2, 3}と指定しますよ。
SERIESSUM関数の基本的な使い方
シンプルな多項式を計算する
多項式 3x^2 + 2x + 5 に x = 2 を代入した値を求めてみましょう。
=SERIESSUM(2, 0, 1, {5, 2, 3})
引数の意味を分解すると、次のとおりです。
| 引数 | 値 | 意味 |
|---|---|---|
| x | 2 | xに2を代入 |
| n | 0 | 最初の項は x^0(= 定数項) |
| m | 1 | べき指数は1ずつ増える(0, 1, 2, …) |
| 係数 | {5, 2, 3} | x^0の係数5、x^1の係数2、x^2の係数3 |
展開すると 5 × 2^0 + 2 × 2^1 + 3 × 2^2 = 5 + 4 + 12 = 21 です。
手計算でも 3(4) + 2(2) + 5 = 12 + 4 + 5 = 21 なので、結果が一致しますね。
係数をセル範囲で指定する
係数が多い場合は、セルに入力しておくと管理がラクです。
A1からA4に係数が入っているとします。
| A列(係数) | |
|---|---|
| 1行目 | 1 |
| 2行目 | -3 |
| 3行目 | 2 |
| 4行目 | 5 |
=SERIESSUM(3, 0, 1, A1:A4)
これは 1 × 3^0 + (-3) × 3^1 + 2 × 3^2 + 5 × 3^3 = 1 – 9 + 18 + 135 = 145 を返します。
係数をセルで管理すると、値を変えるだけで結果が自動更新されるので便利ですよ。
SERIESSUM関数の活用例
テイラー展開でsin(x)を近似計算する
テイラー展開を使えば、三角関数の値をSERIESSUM関数で近似計算できます。sin(x) のテイラー展開は次の式です。
sin(x) ≈ x - x^3/3! + x^5/5! - x^7/7!
これをSERIESSUM関数で表すと、次のようになります。
=SERIESSUM(PI()/6, 1, 2, {1, -1/6, 1/120, -1/5040})
| 引数 | 値 | 意味 |
|---|---|---|
| x | PI()/6 | 30度(ラジアン) |
| n | 1 | 最初の項は x^1 |
| m | 2 | べき指数は2ずつ増える(1, 3, 5, 7) |
| 係数 | {1, -1/6, 1/120, -1/5040} | 各項の係数(1/1!, -1/3!, 1/5!, -1/7!) |
結果は約 0.5 です。sin(30度) = 0.5 なので、4項でほぼ正確な近似値が得られます。
TIP
項数を増やすほど精度が上がります。SIN関数の結果と比べて誤差を確認してみてください。
e^xを近似計算する
指数関数 e^x のテイラー展開も同じ要領です。
e^x ≈ 1 + x + x^2/2! + x^3/3! + x^4/4!
=SERIESSUM(1, 0, 1, {1, 1, 1/2, 1/6, 1/24})
| 引数 | 値 | 意味 |
|---|---|---|
| x | 1 | e^1を計算 |
| n | 0 | 最初の項は x^0 |
| m | 1 | べき指数は1ずつ増える |
| 係数 | {1, 1, 1/2, 1/6, 1/24} | 1/0!, 1/1!, 1/2!, 1/3!, 1/4! |
結果は約 2.708 です。EXP関数で =EXP(1) を計算すると約 2.718 なので、5項でもかなり近い値が出ます。項数を増やせばさらに精度が上がりますよ。
POWER関数・SUMSQ関数との違い
べき乗や二乗の合計を扱う関数は他にもあります。使い分けを整理しておきましょう。
| 関数 | 用途 | 特徴 |
|---|---|---|
| SERIESSUM | べき級数の和 | 係数・初期指数・増分を指定して一括計算 |
| POWER | 1つのべき乗計算 | x^n を1つだけ返す。複数項の合計は手動 |
| SUMSQ | 平方和 | 各値の2乗の合計。べき指数は2固定 |
| SUMPRODUCT | 配列の積の合計 | 対応する要素の積を合計する。べき乗なし |
SERIESSUM関数は「べき乗 + 係数 + 合計」を1つの関数でまとめて処理できるのが強みです。POWER関数を何個も並べて足し算する手間がなくなりますよ。
よくあるエラーと対処法
#N/Aエラー
引数が不足していると発生します。SERIESSUM関数は4つの引数すべてが必須です。
=SERIESSUM(2, 0, 1) → #N/Aエラー(係数が未指定)
=SERIESSUM(2, 0, 1, {3}) → 正常(結果: 3)
4つの引数がそろっているか確認してみてください。
#VALUE!エラー
引数に数値以外の値を指定すると発生します。
=SERIESSUM("abc", 0, 1, {1, 2}) → #VALUE!エラー
=SERIESSUM(2, 0, 1, {1, 2}) → 正常(結果: 5)
x, n, m には数値を、係数には数値の配列を指定しましょう。
結果が想定と違う
係数の並び順を間違えているケースが多いです。SERIESSUM関数の係数は低次の項から並べます。
たとえば 3x^2 + 2x + 5 の場合、次のようになります。
× 間違い: =SERIESSUM(2, 0, 1, {3, 2, 5}) → 3×1 + 2×2 + 5×4 = 27
○ 正しい: =SERIESSUM(2, 0, 1, {5, 2, 3}) → 5×1 + 2×2 + 3×4 = 21
係数の順番を確認してみてください。
まとめ
SERIESSUM関数は、べき級数の和を1つの関数で計算できる関数です。
この記事のポイント
- 構文は
=SERIESSUM(x, n, m, 係数)で、4つの引数すべてが必須 - べき級数とは「x のべき乗に係数を掛けて足し合わせた式」のこと
- 係数は低次の項から順に並べる(定数項 → 1次 → 2次 → …)
- 多項式の値をワンステップで計算できる
- テイラー展開を使えばsin(x)やe^xの近似計算もできる
- POWER関数を何個も並べる代わりに使うと数式がスッキリする
関連する数学関数
SERIESSUM関数の使い方がわかったら、以下の関数もあわせてチェックしてみてください。数学系の計算の幅が広がりますよ。
