No.1ベストアンサー
- 回答日時:
演算子が計算される優先順序の違い,言い換えるなら単純に設計に違いです。
ワークシートの計算における順番:
--エクセルのヘルプより抜粋-----------
1 つの数式で複数の演算子を使用する場合、次の表に示した順序で計算が実行されます。数式に同順位の演算子が含まれる場合 (たとえば、乗算演算子と除算演算子が含まれる場合)、左から右の順に計算が実行されます。
: (コロン)
(スペース 1 つ)
, (カンマ)
参照演算子
– 負の値 (-1 など)
% パーセンテージ
^ べき算
* または / 乗算または除算
+ または - 加算または減算
& 文字列の結合または連結
= < > <= >= <> 比較演算子
------------
以上によりマイナス負号が先に計算され(-2),その2乗が計算されます。
VBAの計算における順番:
--VBAのヘルプより抜粋-----------
異なる種類の演算子が 1 つの式の中で使われている場合、算術演算子、比較演算子、論理演算子の順序で評価されます。(中略) 算術演算子および論理演算子は、次に示す順序で評価されます。
算術演算子
指数演算 (^)
マイナス符号 (-)
乗算と除算 (*、/)
整数除算 (\)
剰余演算 (Mod)
加算と減算 (+、-)
文字列連結 (&)
---------
以上により2乗(^2)が先に計算され,そのマイナスが計算結果になります。
有難う御座います。
ワークシートで正しく計算させるには以下のようにする必要があるようですね。
=-((2)^2);-4
=((-2)^2);4
またワークシートの式をそのままVBAに渡すときは要注意ですね。
純粋に数学的な表記が出来ないのは不便・・というか利用者にとっては殆どバグに近いような気がします
なぜそうなっているのか・・という新たな疑問が持ち上がります
因にMACのNumbersやOpen Officeのスプレッドシートも同じ仕様でした。
No.2
- 回答日時:
VBAに関することは知りませんが…
Excel 2002 のヘルプ「演算子の優先順位」によれば、次のように記載されています。
演算子 内容
----- --------
– 負の値 (-1 など)
% パーセンテージ
^ べき算
* または / 乗算または除算
+ または - 加算または減算
従って、私は次のように理解しています。
=10-2^2 あるいは =0-2^2 の場合、「-」は減算を意味しているので、それぞれ 6 あるいは -4 を返します。つまり、=10-(2^2) あるいは =0-(2^2) と同じこと。
しかし、=-2 の「-」は直後の数値が負であることを意味しているので、式 =-2^2 は =(-2)^2 と同じ計算をするために 4 が返るのだ、と。
有難う御座います。
VBAとワークシートで「演算の優先順位」の仕様が異なる事にすごく違和感があります。
仕様に注意し数学的表記通りに演算されていないという事があるという事を肝に銘じます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【有効数字について】 授業で、...
-
もしコンピューターが2進数か...
-
1秒は何ミリ秒とか、単位変換の...
-
16bitはダイナミックレンジが97...
-
ラジアンの変換について
-
エクセル2010で2進数の計算をす...
-
【エクセル】四捨五入・二捨三...
-
かけ算(わり算)と足し算(引き算...
-
Excelの累乗について式とVBAで...
-
有効数字について
-
文字の容量(サイズ)についての...
-
EXCELでの16進数取り出し、上...
-
プログラム言語FortranとCの違...
-
KBのMB違いって
-
実行計画の「COST」と「BYTE」...
-
テキストの半角文字を全部削除...
-
32bit = 4GB(バイト)?
-
携帯電話の略語であるMBって英...
-
ワードの改行について
-
マトリックスサイズが512×512で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【有効数字について】 授業で、...
-
Excelの時刻の不思議
-
もしコンピューターが2進数か...
-
1TBHDDに音楽ファイルは何ア...
-
16bitはダイナミックレンジが97...
-
エクセル2010で2進数の計算をす...
-
かけ算(わり算)と足し算(引き算...
-
VBAで時間の型と計算方法教えて...
-
有効数字は最後答えを出すとき...
-
【エクセル】四捨五入・二捨三...
-
1秒は何ミリ秒とか、単位変換の...
-
ブルーレイディスクの容量に関...
-
ラジアンの変換について
-
進数の計算について質問です。 ...
-
8進数 8進数の47+32の答えを 8...
-
符号付の整数8ビット…
-
Excelの累乗について式とVBAで...
-
有効数字
-
有効数字の計算
-
12万の5%はいくらですか?
おすすめ情報