[Excel] べき乗の計算

 
 この記事に掲載されている計算例をダウンロードできます:
 ≫ サンプルワークシートをダウンロードする
 

[Excel] べき乗と指数法則

 実数 (あるいは複素数) $a$ を $n$ 回掛ける演算を $a^n$ と表記し、$a$ を底、$n$ を 指数 とよびます。また、$a^n$ の形で表される数を $a$ の べき乗 とよびます。たとえば、$2$ を $5$ 回掛ける演算を $2^5$ で表します。累乗とよぶこともありますが、累乗は指数 $n$ を整数に限定した演算です。後述するように、一般にべき乗の指数は有理数や実数、さらには複素数まで拡張できます。

キャレットによる、べき乗演算

 Excel では 「^」の記号を使ってべき乗を計算できます。「^」はキャレット (caret) とよばれる記号で、元々は校正で脱字挿入に使われていました。「^」の前に底 $a$、後ろに指数 $n$ を記述します。たとえば、$2^5$ を計算したいときはセルに

=2^5

と入力します (32 が返ります)。指数 $n$ が $0$ のときは、$0$ 以外の実数 $a$ に対して $a^0=1$ と定義されています。$100^0$ を Excel に計算させてみましょう。セルに

=100^0

と入力すると 1 が返ります。$0^0$ は分野によって定義が異なりますが、Excel では「=0^0」は #NUM! エラーを返すようになっています。

 指数 $n$ が負の値のとき、$a^n$ は $1$ を $a$ で $n$ 回除算した演算として定義されます (ただし、$a\neq 0$)。すなわち、
 
\[\begin{align*}
a^{-1}=&\frac{1}{a}\\[6pt]
a^{-2}=&\frac{1}{a^2}\\[6pt]
a^{-3}=&\frac{1}{a^3}\\[6pt]
&\vdots\\[6pt]
a^{-n}=&\frac{1}{a^n}\end{align*}\]
のように定義されています。たとえば、$4^{-3}$ は $1$ を $4$ で $3$ 回割る ($1/4$ を $3$ 回掛ける) 演算です。Excel で計算してみましょう。

=4^(-3)

と入力すると 0.01563 を得ます。

 $n$ を有理数まで拡張してみましょう。$a^{1/n}$ は $a$ の $n$ 乗根、すなわち $a^n=1$ の解として定義されます。たとえば、$a^{1/2}$ は $a$ の平方根、$a^{1/3}$ は $a$ の立方根です。一般に $a^{1/n}$ を $a$ の累乗根とよびます。Excel で $27^{1/3}$ を計算してみましょう。

=27^(1/3)

と入力すると 3 を得ます。$a$ が負数の場合、$n$ 乗根が定義できない場合があります。$a^3=-27$ の解は $-3$ なので、$(-27)^{1/3}$ は $-3$ です。
 しかし、$a^2=-25$ の解は実数範囲に存在しないので、$(-25)^{1/2}$ は定義できません。実際、キャレットを用いて

(-729)^(1/2)

を計算させると #NUM! を返します。
 ただし、扱う範囲を複素数まで拡張すると、$a^2=-25$ の解 $5i$が存在するので、$(-729)^{1/2}$ を定義できます。複素数まで拡張されたべき演算は後述する IMPOWER関数を使って実行できます (詳細は記事の後半を参照してください)。

 指数 $n$ を無理数まで拡張すれば、$n$ はすべての実数で定義されたことになります。このとき、一般に指数を $x$ で表します。$10^\sqrt{2}$ を計算してみましょう。

=10^(2^0.5)

 戻り値は 25.95 です。この値は $10^1=10$ と $10^2=100$ の間にあります。有理指数を使って、もう少し範囲を狭めると、$10^{1.3}=19.95$ と $10^{1.5}=31.62$ の間にあります。
 とはいえ、実際にはコンピュータで無理数は扱えません。「=2^0.5」のような演算は、無理数 $\sqrt{2}$ の近似値である有理数を返していて、「=10^(2^0.5)」は $a^n$ で $n$ が有理数である場合のべき乗演算です。厳密な意味では、数値計算においては指数 $n$ を無理数に拡張できないばかりでなく、扱える桁数に制限がつくので、すべての有理数が扱えるわけでもありません。
 

指数法則

 べき乗演算では以下の 指数法則 が成り立ちます。

\[\begin{align*}
&a^x a^y=a^{x+y}\tag{1}\\[6pt]
&(a^x)^y=a^{xy}\tag{2}\\[6pt]
&(ab)^x=a^xb^x\tag{3}\end{align*}\]

 $x,\ y$ が整数のとき、上の公式はほとんど自明です。たとえば、
 
\[10^2 \cdot 10^3
=(10 \times 10) \times (10 \times 10 \times 10)
=10^5=10^{2+3}\]
が成り立つことはすぐにわかります。しかし、上の公式は任意の実数 $x,\ y$ について成立します。直感的には理解しにくいですが、指数に無理数を含んだ
 
\[10^2 \cdot 10^{\sqrt{3}}=10^{2+\sqrt{3}}\]
のような式も成り立っています。Excel で左辺と右辺を別々に計算して、計算結果が等しくなることを確認しておきましょう。入力数式を見やすくするために、平方根は SQRT関数を使って求めます。左辺を計算するために

=10^2*10^SQRT(3)

と入力すると、5395.74 が表示されます。また、右辺を計算するために

=10^(2+SQRT(3))

と入力しても、5395.74 が返ります。
 

POWER関数

 キャレット演算子の代わりに POWER関数を用いて べき乗 を計算することもできます。POWER関数は

=POWER(底, 指数)

のように記述します。たとえば $3^2$ を計算したいときは

=POWER(3,2)

と入力します (9 が返ります)。11 の 3 乗根を計算するには

=POWER(11,1/3)

と入力します (戻り値は 2.223)。POWER関数を使う利点は計算式を見やすくするということです。たとえば演算子だけで

=A1^2*5^(0.2)*cos(A1)

のように複雑な数式を書くと非常に見づらいですが、

=POWER(A1,2)*POWER(5,0.2)*cos(A1)

とすれば、入力式の意味をすぐに読み取ることができます。
 

EXP関数

 自然対数の底 $e=2.718...$ (ネイピア数) のべき乗を計算するときは EXP関数を使って

=EXP(指数)

と入力します。$e$ を底、指数に 1 を指定して

=EXP(1)

と記述すると $e$ の値 (2.718 ...) が得られます。

=EXP(1/2)

とすると $e$ の平方根 1.648 ... が返ってきます。
 

IMPOWER関数

 キャレット演算子やPOWER関数では、底や戻り値が複素数であるようなべき乗を扱うことはできません。複素数まで拡張されたべき乗演算は IMPOWER関数を用いて実行します:

=IMPOWER(底, 指数)

 底には数値または文字列形式で表された複素数を指定できます (複素数を指定する場合は引数をダブルクォーテーションで括ってください)。たとえば、$(1+i)^3$ を計算したい場合は

=IMPOWER("1+i",3)

と入力します (戻り値は "-2+2i")。底、指数ともに実数であっても、戻り値が虚数や複素数となることもあります。たとえば、$-25$ の平方根は $5i$ です。Excel で確かめてみましょう。

=IMPOWER(-25,0.5)

 戻り値は "3.06287113727155E-16+5i" となって、実数部に僅かな誤差が生じます ("E-16" は $10^{-16}$ を表しています)。
 

[VBA] べき乗の計算

 VBA でべき乗計算するときには、キャレット演算子「^」を使います。

Sub power_calculation_1()

  '-1.5の3乗を表示
  Debug.Print (-1.5) ^ 3

End Sub

-3.375

 底がネイピア数 e であるときは、Exp 関数を使って計算できます。

Sub power_calculation_2()

  'eの1.8乗を計算
  Debug.Print Exp(1.8)

End Sub

6.04964746441295

 ≫ エクセル数学講座トップページ

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください