• ベストアンサー

VBAで除算の商・・・

VBAで除算の商を求めるには「10 \ 5」などと表記しますよね。 しかし、わからないことがあるんです。 5 \ 2.5 = 2 3 \ 1.5 = 1 上記の式っておかしくないですか? 両方とも2で割り切れるのにもかかわらず、下の式は「1」が返っている・・・・・・。 そもそも除算の商ってどういうことなのでしょうか? お時間のあるときで結構ですので、ご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 私の個人的な意見ですが、この「\」の算術演算子というのは、本来、データ型が決められていると思うのです。Excelのワークシートの感覚で、全部、Double型で計算するわけではないのですね。(個人的な意見と言わないと、決まりごとなど、偉そうなことを言うなとお叱りを受けましたので、ことわりを入れておきます。でも、人間ってミスする動物だと思いますね。ベテランと自負している方でも、何人も、この手のミスしています。) × 5 \ 2.5 = 2 × 3 \ 1.5 = 1 VB6やVBA では、こういう書き方は、基本的にないと覚えておいたほうがよいと思うのです。 >除算を実行する前に、数式はバイト型 (Byte)、整数型 (Integer)、または長整数型 (Long) の式に丸められます。 ヘルプにはこう書かれていますが、Double 型やSingle型を代入してしまうと、実務ではミスが発生しやすくなるということです。私たちは、必ずしも、コーディング中で、この演算子の中の「偶数丸め」を把握できるわけではありません。そこだけを、特記して、こういうメカニズムだということは可能ですが、実際は、データ型で、把握しておくしかないと思うのです。それに、実務では、このような生の数字のリテラル値を入れるわけではありませんし。 (私の経験的な意見で、中には、天才型の人もいらっしゃって、コードをみただけで、内部の値を把握できる人もいらっしゃいますから、それが絶対的だというわけではありません。) 逆に言ったら、この「\」と 「Mod」の算術演算子は、小数点を含む数値は代入できないと思っていたほうがよいと思います。 5 は、Integer 型。2.5は、Single/Double型 ret  = 5 \ 2.5 では、うまくいかないということです。 こういう場合は、 Dim ret As Double ret  = 5 / 2.5 となりますね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

こちらの No5 の回答を参考にしてください。 Mod についてですが \演算子についても同じです。 http://oshiete1.goo.ne.jp/qa3456153.html > 5 \ 2.5 = 2 > 3 \ 1.5 = 1 これは、それぞれ  5 \ 2 = 2 余り 1  3 \ 2 = 1 余り 1 を計算していることになります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 0除算を判定したい

    0除算とは例えば10を0で割ったら結果が無限大になるように、ある数を0で割った時に起こる現象です。 しばしばこの0除算に悩まされるので、ある式を代入したらそれが0除算であるかどうかを判定できたらと思いました。 そこで下のような関数を作れたらと思っているのですが、 ある式を見てその結果が0除算であるかを判定する方法はありますでしょうか? int isDivide0( float val ) {   if ( val == 0除算 )     return 1;   else     return 0; } int main() {   isDivide0( 10 / 0 ); } 尚、開発環境はVisual Studio2005です。

  • 商と剰余を同時に求める(C言語)

    C言語についてですが、 整数の除算を行うときに、商と剰余を同時に求めることは可能なは ずなので、1回の演算で両方知りたいのですが、c = a / b;だと商 だけ、d = a % b;だと剰余だけしか分からないです。 1回の演算で両方得たい場合はどう記述すればいいでしょうか?

  • excel vba

    VBAで整数値を取る変数i i/9 の商a、余りb   a、bを表す式を教えてください。

  • VBAのVLOOKUP

    VBAのVLOOKUPについて質問です。 VBAでVLOOKUPの式を作りたいのですが、ネット検索し式を見ても意味がわかりません。 式のSubのしたにCellsと書いている人もいるし、Dim as longから始まっている人もいます。 そもそもDIMの意味がわからないのですが。 どなたかVLOOKUPの式の作り方とそのコマンドの意味を教えていただけないでしょうか

  • VBA初心者です。空白の行を詰めたいです。

    こんにちは。 お仕事上、必要になりましてぜひともご教授願います。 (1)A列に もぐら と書いていない行は全部消すVBAの式 (2)A列に もぐら と書いていない1~500の行は全部消すVBAの式 (3)A列が 空白の200~400行を全て消すVBAの式 を教えてください。似たような式をwebで見つけたのですが イマイチ応用ができませぬ。それと実行に時間も かかってしまうので、ぜひとも解りやすく宜しくお願い致します。 はあ、今夜も徹夜かあ。

  • 私は早稲田の商・政経を志望しているのですが

    私は早稲田の商・政経を志望しているのですが 代ゼミの早大プレの受験型をみたところ商と政経で受験型が違いました そこで質問です!! 時間割をみたところ両方受験するのは無理だと思うのですが もし片方を受験したらもう片方の問題・解説はもらえるのでしょうか?? やはり受けた型の問題・解説しかもらえないのでしょうか? よろしくお願いします

  • 全商簿記の級がわかりません!

    商業学校在籍中に受けた全商簿記の「珠算・電卓実務検定」の合格証を確認していたところ、よくわからないことが出てきたのでどうゆうことなのか、教えていただきたいです! ①2級の合格証が2枚ある 2級の合格証がなぜか2枚ありました。 どちらも日付と開催回数(第○回)、第何号の表記以外はほぼ同じ内容でした。第1○3回開催分と翌第1○4回開催分(詳しい開催回数は伏せさせて頂きます)と表記されています。 合格証が2枚発行されることなどあるのでしょうか? ②1級の合格証? 上記2級合格証の他に1級の合格証がありました。 そしてこちらの開催回数には「第1○3回」開催とあり、日付も2級の「第1○3回」開催と同じものでした。しかし、翌年開催の「第1○4回」で取得した2級の合格証が上記の通り手元にあるので、私は2級なのか1級なのかよくわからなくなってしまいました。 1級合格証には2級と違い「部門:普通計算」という表記もあり、合格証の縁飾りもシンプルなものです。 私は電卓検定は1級なのでしょうか?2級なのでしょうか?

  • 商集合

    数学の問題なんですが、下の式の意味するところがわかりません。 A={{2,3},{4,2},4,5},B={4,{2,3},{5}}について ∀x,y∈A∪B[xRy if and only if(x=y)∨(x∈A∩B∧y∈A∩B)] の関係があるとき|(A∪B)/R|は? という問題で、同値類と商集合が関係するみたいなんですが… これは手の施しようがありません わかりやすく教えて頂けたら嬉しいのですが。 ちなみに答えは5らしいです…

  • excel97のVBAについて

    始めまして、MV3307と申します。 さて下記内容を、VBAでコードを書くつもりですが、マクロ初心者で記載 方法が分からないので是非ご教授お願いいたします。     記 (1)EXCELの"Sheet1"の数式バーに式が表示してあります。 (2)VBAの"コマンドボタン"をクリックして、数式バーの式をTexBoxに取得する。 以上です、宜しくお願いします。    

  • 古物商登録について詳しい方お助けください

    「転売」に関するヘイトのせいか、世の中の古物商登録に対する解釈があべこべな印象を受けます(そもそも転売に対する法律ではないですが)。 色々なサイトの説明を読んだのですが、まだ不安なので以下の解釈に間違いがあれば指摘していただけませんでしょうか? 一次・二次卸業者から私が新品を買います。 その新品は購入した段階から「古物」になりますが、買いの段階では新品であったため、これを転売するのには古物商登録は必要ない。ただし、この転売品を誰かが購入してまた転売するのには古物商登録が必要である。 (ここまではある程度自信ありますが、ここからです) ただし、古物の購入であっても「反復継続していなければ(営利的でない)」、自分のために購入した不用品の処分であれば古物商登録は必要ない。 しかし、古物の購入であり「反復継続が認められる場合」、自分のために購入した不用品の処分とは認められず、古物商登録が必要である。 また、新品の購入である場合は「反復継続が認められる場合」でも、古物商登録は必要ない。 上記の解釈なのですが如何でしょうか。もし異なる場合は、法律の文面も併せて頂けるととても助かります。宜しくお願いいたします。

専門家に質問してみよう