Excelのセルに数式
=-3^2
と打ち込んだ場合の答えは-9ではなく9。-(32)じゃなく(-3)2と解釈される。符号を反転させる単項演算子として-を使用したときはべき乗よりも優先度が高く(上から2番目。参照演算子を除けば最強)なる仕様らしい。よって
=1+(-3^2) → 1+((-3)^2) → 10 =A1+(-A2^2) → A1+((-A2)^2) → A1+A2*A2
二項演算子として-を使用した場合はべき乗や乗除よりも優先度が低くなるので、
=1-3^2 → -8 =A1-A2^2 → A1-A2*A2
以下の二式が異なる結果となるのに気づかず10分悩みました…
=A1^2-A2^2 → A1*A1-A2*A2 =-A2^2+A1^2 → A1*A1+A2*A2
これに限らず、Microsoft Officeはおせっかいな機能に時々悩まされる orz
[ 参考 ]
Comments