【Excel】べき乗 (累乗)・べき根 (累乗根) と指数法則
実数 (あるいは複素数)
Excel では「^」の記号を使ってべき乗・累乗を計算できます。「^」はキャレット (caret) とよばれる記号で、元々は校正で脱字挿入に使われていました。「^」の前に底
=2^5
と入力します (32 が返ります)。
指数
=100^0
と入力すると 1 が返ります。
指数
のように定義されています。たとえば、
=4^(-3)
と入力すると 0.01563 を得ます。
=27^(1/3)
と入力すると 3 を得ます。
(-729)^(1/2)
を計算させると #NUM! を返します。
ただし、扱う範囲を複素数まで拡張すると、
指数
=10^(2^0.5)
戻り値は 25.95 です。この値は
指数法則
べき乗・累乗演算では以下の 指数法則 が成り立ちます。
が成り立つことはすぐにわかります。しかし、上の公式は任意の実数
のような式も成り立っています。Excel で左辺と右辺を別々に計算して、計算結果が等しくなることを確認しておきましょう。入力数式を見やすくするために、平方根は SQRT関数を使って求めます。左辺を計算するために
=10^2*10^SQRT(3)
と入力すると、5395.74 が表示されます。また、右辺を計算するために
=10^(2+SQRT(3))
と入力しても、5395.74 が返ります。
POWER関数
キャレット演算子の代わりに POWER関数を用いてべき乗を計算することもできます。POWER関数は
=POWER(底, 指数)
のように記述します。たとえば
=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関数
自然対数の底
=EXP(指数)
と入力します。
=EXP(1)
と記述すると
=EXP(1/2)
とすると
IMPOWER関数
キャレット演算子やPOWER関数では、底や戻り値が複素数であるようなべき乗を扱うことはできません。複素数まで拡張されたべき乗演算は IMPOWER関数を用いて実行します:
=IMPOWER(底, 指数)
底には数値または文字列形式で表された複素数を指定できます (複素数を指定する場合は引数をダブルクォーテーションで括ってください)。たとえば、
=IMPOWER("1+i",3)
と入力します (戻り値は “-2+2i”)。底、指数ともに実数であっても、戻り値が虚数や複素数となることもあります。たとえば、
=IMPOWER(-25,0.5)
戻り値は “3.06287113727155E-16+5i” となって、実数部に僅かな誤差が生じます (“E-16” は
【VBA】べき乗・累乗計算
一般的にVBAでは、累乗・べき乗を「^」(キャレット)を使って計算します。たとえば、
Sub PowerSample1()
'キャレットでべき乗を計算
Debug.Print 10 ^ 2
End Sub
'100
ワークシート関数の Power を呼び出してべき乗を計算することもできます。
Sub PowerSample2()
Dim x As Double
'ワークシート関数で13の1.5乗を計算
x = WorksheetFunction.Power(13, 1.5)
Debug.Print x
End Sub
'46.8721665810319
底が複素数であるときは、ワークシート関数の ImPower を呼び出してください。たとえば、
Sub PowerSample3()
Dim a As Variant, b As Variant
'複素数1+2i
a = WorksheetFunction.Complex(1, 2)
'ワークシート関数で(1+2i)^3を計算
b = WorksheetFunction.ImPower(a, 3)
Debug.Print b
End Sub
'-11-2i
戻り値が複素数となるようなべき乗計算においても、WorksheetFunction.ImPowerメソッドは有用です。たとえば、
Sub PowerSample4()
Dim c As Variant
'ImPower関数で-9の平方根を計算
c = WorksheetFunction.ImPower(-9, 0.5)
Debug.Print c
End Sub
'1.83772268236293E-16+3i
エクセルや数学に関するコメントをお寄せください