🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel POWER & SQRT — べき乗・累乗根と演算子優先順位の落とし穴

|

Excel POWER & SQRT — べき乗・累乗根と演算子優先順位の落とし穴

TL;DR — 数値をべき乗するために、Excel は互換に使える 3 つの手段を用意しています。 ^ 演算子=2^10)、POWER(number, power) 関数、そして ½ 乗という特定の指数 専用の SQRT(number) です。この 3 つは まったく同じ計算 をするので、読みやすさで 選べば十分です。累乗根は 分数の指数 にすぎません。立方根なら ^(1/3) です。ほぼ全員が ハマる優先順位の落とし穴が 2 つあります。=-3^2-9 ではなく 9、そして =27^1/33 ではなく 9 を返すのです。指数は必ずカッコで囲みましょう。負数の SQRT#NUM! になります。

=2^10             ' -> 1024      ^ 演算子
=POWER(2, 10)     ' -> 1024      関数形式(結果はまったく同じ)
=SQRT(144)        ' -> 12        平方根 = ^(1/2)
=27^(1/3)         ' -> 3         立方根 — カッコに注意
=POWER(B2/A2, 1/5) - 1   ' -> 5年 CAGR(正体は累乗根)

べき乗や累乗根は電卓の領分に思えますが、スプレッドシートの上では、生の数値が並んだ列を 成長率・距離・標準偏差へと変えてくれます。関数そのものは単純です。人がつまずくのは、 一見正しそうな 数式をこっそり間違いにしてしまう演算子優先順位の 2 つのルールのほうです。 この 2 つさえ押さえれば、Excel のこの一角はまるごと信頼できるものになります。

この記事で学べること

  • 考え方の軸:^POWERSQRT1 つの演算の 3 つの顔 にすぎない
  • 累乗根は分数の指数 であること — そして CUBEROOT 関数は存在しないこと
  • =-3^2 = 9 の落とし穴:単項マイナスは ^ より強く結合する
  • =27^1/3 = 9 の落とし穴:^/ より強く結合する
  • SQRT(-4)#NUM! になる理由と、SQRT(ABS(x)) という対処
  • 覚えておく価値のある唯一の数式:CAGR としての POWER

考え方の軸:1 つの演算、3 つの顔

べき乗は 1 つの発想 — ある数値をそれ自身で 指数 回だけ掛け合わせる — でしかなく、 Excel はそれを 1 ビットも違わない同じ結果を返す 3 通りの方法で提供しています。

=5^3            ' -> 125
=POWER(5, 3)    ' -> 125
=5*5*5          ' -> 125

つまり、どれを選ぶかは正しさの問題ではなく、あくまで使い勝手の問題です。数式が読みやすい まま収まる手早いインライン計算には ^ 演算子 を使いましょう(=radius^2*PI())。指数 そのものが計算結果やセル参照で、むき出しの ^ が込み入った式の中に埋もれてしまう場面では POWER の出番です。数式の途中に埋もれた base^(rate/12) より、POWER(base, rate/12) のほうがずっと読みやすいはずです。そして SQRT は、最もよく使う指数 ^(1/2) に名前を付けた だけのショートカットにすぎません。ここに学ぶべき深い魔法はありません — ただし、入力した 計算が Excel の 実行する 計算と一致するかどうかを決める、2 つの優先順位ルールがあります。

累乗根は分数の指数(そして CUBEROOT は存在しない)

押さえておく価値のある発想の飛躍が 1 つあります。累乗根とは、指数が分数のべき乗 だという ことです。平方根は ½ 乗、立方根は ⅓ 乗、そして n 乗根は 1/n 乗です。Excel が SQRT と 演算子だけあれば足りるのは、まさにこのためです — あとはすべて分数から導かれます。

=SQRT(144)          ' -> 12    ½ 乗に名前を付けたもの
=144^(1/2)          ' -> 12    同じものを式で書き下したもの
=27^(1/3)           ' -> 3     立方根
=32^(1/5)           ' -> 2     5 乗根
=POWER(32, 1/5)     ' -> 2     5 乗根の関数形式

CUBEROOT 関数を探し回る人がいますが、そんな関数はありません — 必要ないのです。^(1/3)そのまま 立方根だからです。この考え方(累乗根 = 1/n 乗)があれば、新しい関数名を覚えなく ても、どんな数のどんな累乗根でも求められます。そしてこの考え方は、この記事で最も重要な警告 への布石でもあります。その警告は、ひとえに カッコをどこに置くか の話です。

優先順位の落とし穴 #1:=27^1/3 は 3 ではなく 9

立方根のつもりで =27^1/3 と入力すると、Excel は 9 を返してきます。壊れているわけでは ありません — ^ 演算子は / より強く結合する ので、Excel は 27^1/3(27^1)/3、 つまり 27/3 = 9 と読むのです。あなたが 意図した 分数の指数は、一度も実現していません。

直し方はカッコを 1 組加えるだけで、そしてこれは省略できません。

=27^1/3      ' -> 9     誤り:(27^1)/3 として計算される
=27^(1/3)    ' -> 3     正しい:指数は 1/3

ルール:指数そのものが式である場合 — 分数、引き算、何かで割ったセル — は必ずカッコで囲む こと。 これは「n 乗根の数式が大きくずれている」の原因第 1 位です。しかもエラーではなく それらしい 数値を返すため、何も警告してくれません。指数のカッコが煩わしく感じるなら、まさに そこが POWER(27, 1/3) の値打ちの出しどころです。関数形式なら指数がはっきり区切られた引数に なり、落とし穴そのものが消えます。

優先順位の落とし穴 #2:=-3^2 は −9 ではなく 9

Excel に移ってきたプログラマーや数学の学生を、ことごとくつまずかせる Excel 特有のクセが これです。

=-3^2       ' -> 9      Excel:単項マイナスは ^ より強く結合する
=-(3^2)     ' -> -9     おそらく意図していたのはこちら
=0-3^2      ' -> -9     引き算なら通常どおり

標準的な数学の記法でも、ほぼすべてのプログラミング言語でも、-3^2 は「3 の 2 乗の符号を 反転したもの」= -9 を意味します。Excel だけが例外で、単項マイナスを先に適用し-3 を 2 乗して +9 にします。ですから、教科書や Python スクリプト、同僚の頭の中の常識からコピー してきた数式が、こっそり符号を反転させてしまうことがあるのです。

防御策は習慣です。べき乗しようとしている底の前にマイナス記号があるときは、(-x)^n が 欲しいのか -(x^n) が欲しいのかを口に出して決め、それに合わせてカッコを付ける こと。 これは 先頭の マイナスにのみ影響する点に注意してください — =5-3^2 は期待どおり 5-9=-4 です。そこでのマイナスは符号反転ではなく引き算だからです。

負数の SQRT は #NUM! — そして ABS という橋渡し

SQRT は実数しか扱わないため、負の入力を受け付けません。

=SQRT(-4)          ' -> #NUM!
=SQRT(ABS(-4))     ' -> 2       大きさ(絶対値)の平方根をとる

値が負になり得るのに、その大きさの累乗根が欲しいときは、ABS で 囲んで入力を必ず非負にします。同じ制約は、負の底の分数乗にも当てはまります。=(-8)^(1/3)#NUM! を返します — −8 の実数としての立方根は −2 であるにもかかわらず、です。Excel は分数乗を 対数を通じて評価しますが、対数は負数に対して定義されていないためです。きれいな回避策は、 ABS & SIGN ガイドの「符号と大きさ」の発想を借ります。

=SIGN(-8) * ABS(-8)^(1/3)    ' -> -2    負数の奇数乗根を正しく求める

覚えるべき唯一の数式:CAGR としての POWER

このページから実用的なものを 1 つだけ持ち帰るなら、これにしてください。年平均成長率(CAGR) — 「どんな一定の年率なら開始値を終了値に変えられるか」という誠実な問い — は n 乗根であり、 POWER はそれを 1 行で書き表します。

=POWER(EndValue / StartValue, 1 / Years) - 1
=POWER(2200000 / 1000000, 1/5) - 1     ' -> 0.1706  5 年で約 17.1% の CAGR

考え方の軸に沿って読み解いてみましょう。全体の成長倍率は End/Start1/Years の指数は、 その倍率の Years 乗根をとって 1 年あたりの倍率を求めます。1 を引けば、その倍率がパーセン テージに変わります。べき乗と累乗根が、実際の財務の仕事をこなしているわけです。(同じ答えを 得る、もう 1 つの対数を使う方法もあり、EXP, LN & LOG ガイドで 扱っています — 年率ではなく 年数 のほうを求めたいときに便利です。)

判断のポイント

どれを使うかで悩みすぎないことです。手早いインラインのべき乗には ^、指数が計算結果 だったり数式がすでに込み入っていたりするときは POWER、½ 乗にはその名を冠した SQRT この 3 つが答えで食い違うことはありません。ここでの失敗は決して「間違った」関数を選んだこと が原因ではなく — 2 つの優先順位ルールが原因です。ですから、それを無効化する習慣を身につけ ましょう。むき出しの数値でない指数は必ずカッコで囲む。マイナスで始まる底は必ずカッコで 囲む。 この 2 つの反射神経で、これから出会うべき乗・累乗根のバグはほぼすべて防げます。 そして、範囲全体の繰り返しの掛け算を求めようとして、つい手が伸びたときは、それ用に PRODUCT と SUMPRODUCT があることを思い出してください。

ExcelMaster が役立つ場面

このページの落とし穴は、まさに数式アシスタントが肩代わりすべき類のものです。 ExcelMaster に「この開始値と終了値から 5 年の CAGR を計算して」と伝えれば、指数を 正しくカッコで囲んだ POWER(End/Start, 1/Years)-1 を書いてくれます — ^1/3 のような 取りこぼしはありません。「C 列の立方根」や「距離 √(dx²+dy²)」を頼めば、優先順位ルールが 要求するとおりにすべてのカッコを配置し、データが負になり得るときは ABS で負の入力を守り ます。あなたは欲しい結果を説明するだけ。演算子優先順位の地雷原は ExcelMaster が引き受けます。

よくある質問

Excel の POWER 関数とは何ですか?

=POWER(number, power)numberpower でべき乗します — =POWER(2, 10)1024 を 返します。これは ^ 演算子の関数形式です(=2^10 も同じ結果になります)。指数が計算結果や セル参照で、長い数式の中では ^ が読みにくくなる場合に POWER を使いましょう。

Excel で平方根や立方根を計算するには?

平方根には =SQRT(number) を使います。例:=SQRT(144)12。立方根は、指数をカッコで 囲んで ⅓ 乗します。=27^(1/3)3、または =POWER(27, 1/3) です。任意の n 乗根は =number^(1/n) です。専用の CUBEROOT 関数はありません — 分数の指数があらゆる累乗根を カバーします。

Excel で =27^1/3 が 3 ではなく 9 になるのはなぜですか?

^ 演算子は / より優先順位が高いため、Excel は 27^1/3(27^1)/3 = 9 と評価します。 分数の指数は必ずカッコで囲む必要があります。=27^(1/3) なら立方根の 3 を返します。指数 そのものが式であるときは、いつでもカッコで囲みましょう。

Excel で =-3^2 が -9 ではなく 9 を返すのはなぜですか?

Excel では単項マイナスが ^ 演算子より強く結合するため、=-3^2(-3)^2 = 9 と読まれ ます — 標準的な数学やほとんどのプログラミング言語とは逆です。「3 の 2 乗の符号を反転した もの」が欲しいときは =-(3^2) と書けば、-9 を返します。

Excel で負の数の平方根をとるには?

SQRT は実数しか扱わないため、負の入力に対して #NUM! を返します。大きさ(絶対値)の 平方根が欲しいときは =SQRT(ABS(number)) を使います。負の値の奇数乗根(立方根など)には、 符号を保つために =SIGN(number)*ABS(number)^(1/n) を使いましょう。

検証環境

検証環境: Excel 365 (Windows 11) — 最終確認 2026-07-10。

関連ガイド: Excel ABS & SIGN · Excel EXP, LN & LOG · Excel ROUND · Excel SUMPRODUCT