[Excel VBA]剰余演算子であるModの考え方

 

久しぶりのExcel記事です。

剰余演算子(割り算の余りを求める演算子)であるModの考え方を書いていきます。

 

予想していた結果と違う???

 

普段、割り算の余りを求めたいってなったときに、以下のような結果を求めますよね。

 

  1.  9    ÷ 4.5 = 2   余り 0
  2.  7    ÷ 2.8 = 2   余り 1.4
  3.  8    ÷ 0.4 = 20 余り 0
  4.  9.5 ÷ 2.5 = 4   余り 0.5

 

これをExcel VBA のMod演算子を使用して式にすると、結果として下記のような割り算の余りが返ってくるはずです。

 

  1.  9    Mod 4.5 → 0
  2.  7    Mod 2.8 → 1.4
  3.  8    Mod 0.4 → 0
  4.  9.5 Mod 2.5 → 0.5

 

しかし、実際にイミディエイトウィンドウを使用して計算させると以下のように意外な結果が返ってきます。

 

  1.  9    Mod 4.5 → 1
  2.  7    Mod 2.8 → 1
  3.  8    Mod 0.4 → 0除算エラー
  4.  9.5 Mod 2.5 → 0

 

全然違いますよね。整数では正しく余りが求められるのに不思議です。

なぜ、このような結果が返ってくるのでしょうか。

それらの原因をこれから説明したいと思います。

 

Excel VBA の Mod の考え方

 

ExcelVBAのModといえば割り算の余りが返ってくる演算子であると皆さん認識されていると思います。

これはあながち間違えではありません。しかし、このModの計算に小数が入ってくると少々考え方が変わります。

 

Microsoftの説明では以下のように解説がされています。

剰余演算子は、数式 number1 を number2 で除算し、その余りを演算結果 result として返します。このとき浮動小数点数は整数に丸められます。たとえば、次に示す式では、変数 A (演算結果 result) の値は 5 になります。

 

A = 19 Mod 6.7

一方または両方の式が Null 値のときは、演算結果 result も Null 値になります。Empty 値を持つ式は、0 として処理されます。

 

これを見て分かることは浮動小数点数は整数に丸められるということ。

この中で浮動小数点数というのは小数点第一位以下を表します。

そして、【整数に丸められる】というのは四捨五入に近い意味を表します。

四捨五入に近いというのがミソで、四捨五入とは少しだけ違います。

【整数に丸められる】では、小数点以下の数値が0.5である時に1の位が偶数になるように切り捨てor切り上げられるのです。

四捨五入では0.5であれば常に切り上げられるので注意が必要です。

 

例)

  1. 3.5 → 4 (切り上げ)
  2. 6.5 → 6 (切り捨て)

 

この切り捨て切り上げ方式を銀行型丸めといいます。

 

では実際に、上記Microsoftの説明にある計算式、19 Mod 6.7 の結果を整数に丸めてみましょう。

 

19 Mod 6.7 = 5.6 →(整数に丸める)→ 6

 

しかし、Microsoftの説明では結果は【5】となっていますね。

ここでも違いがあります。ではどうして結果に違いが出るのでしょうか。

 

このMod(剰余演算子)では、計算式の結果を整数にまとめるのではなく、計算する前に計算式にある小数を整数にまとめるからです。

 

つまり、、、

19 Mod 6.7 →(整数に丸める)→ 7 = 5

ということなのです。

 

結論として、Excel VBAのMod(剰余演算子)では【計算式の小数を整数に丸めてから割り算の余りを求める】ことになります。

 

対応策

 

VBAで割り算の余りを求めるときに計算式の小数を整数に丸めたくない、ちゃんと余りを出してほしい!という方も多いでしょう。その方たちへの対応策を用意しました。

 

【Excel VBA で割り算の余りを求める関数 Modulo】

 

このコードをExcelの標準モジュールに貼り付けて以下のようなコードを書くと変数aに【5.6】が返ってきます。

 

【コード : 19÷6.7 の余りを求める】

変数a = Modulo(19,6.7)

 

他の割り算も試してみて下さい。求めていた結果が返ってくるはずです。

 

 

説明は以上となります。

いかがだったでしょうか?

 

不明な点があればお気軽にお問い合わせください!

では、ノシ


界隈で有名な仮想通貨取引所一覧
界隈で有名な仮想通貨取引所/販売所一覧を作成しました。
仮想通貨を買う予定のない方はそっとじでお願いします。

数十もの仮想通貨取引所がありますが、個人的にはビットコインFXができる所がオススメ。
主に、bitFlyer(国内)とBitMEX(海外)でビットコインFXができます!

海外の取引所では日本円で仮想通貨は買えないため、以下の流れに従うとスムーズに動けます。

1.国内取引所のいずれか(CoincheckbitFlyerZaif)に登録する。
2.ビットコインを日本円で購入する。
3.購入したビットコインを海外の取引所に送る。
4.ビットコインで欲しいコイン(仮想通貨)を買う。

最近ビットコインの手数料が上がっていますが、ビットコインを買わずにライトコイン等を買って送ることで手数料が抑えられます。

2017年は仮想通貨元年と呼ばれるほど市場が伸びてきている時期で取引所も増えているので、随時更新していきます!

名称説明
BitMEXビットコインFXで有名。レバレッジは最大100倍まで可能。
少額でもうまく行けば大金を稼ぐことも。
アルトコインの先物が10種類ほどありレバレッジも掛けられる。
追証がないため、入金している以上のお金は取られない。
手数料も安く指値注文であれば状況によってはマイナス手数料(ボーナス)にもなる。
日本語にも対応していて、個人的には全取引所中1番のオススメ。
国    :香港
メリット :サーバが落ちにくい。
デメリット:
おすすめ度:★★★★★
bitFlyer国内最大のビットコインFX取引所で、全世界ビットコイン取引量の70%がここのビットコインFX。
日本ではCMで有名で、最近では海外からも注目されている。
ログインしてチャットするとチャットボーナスとしてビットコインが貰えるのもポイント(1日1回)
最近SFD(現物FX乖離縮小計画)が実施された。
国    :日本
メリット :FXのボラが大きく利回りがいい。
デメリット:急な動きで取引量が多くなると重くなりやすい。
おすすめ度:★★★☆☆
Huobi取引所コインであるHuobi Token(HT)で有名になった取引所
最近、登録者数は増加傾向にあり今後有名になるのではと期待されている取引所の1つでもある。
HT持っておくと良いことあるかも?
国    :香港
メリット :アルトコインFXができる。(BCH,ETH,LTC,ETC,EOS,OMG,XRP,DASH,ZEC,IOST,HSR,QTUM)
デメリット:
おすすめ度:★★★★☆
Binance最近設立して1年も経たずに世界一となった取引所。
ここで開催されるコイン投票で上位になると上場されやすいので他取引所で保持しておくといいことあるかも。
フォークコイン(ビットコイン分裂)がいち早く貰える事が多いので欲しい人はBinanceにビットコインを置いておこう。
個人的には取引所コインのBNB(Binance Coin)がおすすめ。
メジャーになりそうなコインが上場されやすい。
国    :中国
メリット :投票によって上場銘柄が決められる。
デメリット:
おすすめ度:★★★★★
KuCoin最近オープンした取引所。
第二のBinanceとしてTwitter界隈で人気があった。
取引所コインであるKCSコインが特に有名。
国    :香港
メリット :KCS保持すると毎日ボーナスが貰える。(僅かに)
デメリット:
おすすめ度:★★★☆☆
BitBank
Trade
BTCFXの取引所。先物が存在する。
BitBank.ccとは別扱いでアカウント登録も別。
最近、他の国内と取引所と比べて相対的に人気が出てきている。
国    :日本
メリット :サーバは軽め。
デメリット:
おすすめ度:★★★★☆
GMO海外為替FXでも有名な日本大手の取引所。
スマホでもサクサク動き、気軽に取引ができることで有名。
ビットコインFXも扱っているが、ユーザ同士取引ではなく取引所との取引なのでスプレッドが存在する。
国    :日本
メリット :銀行等からの入金手数料が無料。サーバは比較的安定。
デメリット:FXのスプレッド(最大75000円)が高い。
おすすめ度:★★☆☆☆
Zaif取引手数料が唯一マイナスの国内取引所。
取引することで0.05%のボーナスがもらえる。
MONAでは国内唯一の取引所。COMSA ICO案件でも有名。
国内で一番多くのアルトコイン(ビットコイン以外のコイン)を扱う。
国    :日本
メリット :他取引所よりアルトコインの上昇率がいい。(ボラが大きい)
デメリット:サーバが落ちやすい。(502 Bat Gateway)
おすすめ度:★★☆☆☆
Coincheck国内で多くのアルトコインを扱っている販売所。
海外の取引所では円で仮想通貨は買えない為、ここでビットコインを買って海外の取引所に送る人が多い。
最近CMに出川哲郎が出てくるようになった。
現在トラブルにより新規口座開設ができない(2018/03/03現在)
国    :日本
メリット :サーバが比較的軽い。落ちない。
デメリット:アルトコインのスプレッドが高い。
おすすめ度:★★☆☆☆
Cryptopia草コイン取引で有名な取引所。
BTC建て以外にLTC,DOGE建てなどがある。
最近UIが軽くなり使いやすくなっている。
ALISも扱っている。
国    :ニュージーランド
メリット :草コインの種類が豊富。上位銘柄は取引量も多く流動性がある。
デメリット:
おすすめ度:★★★★☆
Coin
exchange
ICO系がいち早く上場される取引所の一つ。
ICO系の仮想通貨が欲しい人にはおすすめ。
最近XPで有名になった。ALISも扱っている。
国    :不明
メリット :メジャー?な草コインが多め。
デメリット:取引量は少なめで大量取引には向かない。
おすすめ度:★★★★☆
HitBTCこちらもICO系がいち早く情報される取引所の一つ。
ICO系の仮想通貨が欲しい人は登録しておくと良い。
ICOで買ったDIMCoinがここに上場して暴騰した。
最近Bittrexと同じくらいの取引量になって活発に。
国    :不明
メリット :ICO銘柄がトップの速さで上場されやすい。
デメリット:
おすすめ度:★★★★☆
Yobit草コイン取引所。種類は豊富だが取引量は少なめ。
BTC建て以外にETH,LTC,Waves,Doge建てがある。
FreeCoinsで僅かながら仮想通貨が毎日貰える。
最近新PACが上場された。
国    :ロシア
メリット :BTC建て以外はボラが大きく少ない額で利益が出しやすい。
デメリット:運営不明でGOX危険性大&大量取引に向かない。
おすすめ度:★☆☆☆☆
Poloniex過去に世界最大の取引量を誇っていた。
最近ではあまり使っている人を見かけない。
国    :米国
メリット :比較的メジャーな通貨のみを扱っている。
デメリット:サーバが重い&カスタマーサービスが良くない。
おすすめ度:★☆☆☆☆
Bittrex世界最大の取引量を誇るアルトコイン取引所。
200種もの通貨を扱っている。
現在運営側の事情で新規口座開設ができない。(2018/03/03現在)
国    :米国
メリット :サーバがあまり重くない&取引量が多く確定しやすい。
デメリット:日本語に対応していない。
おすすめ度:★★★★☆
BitfinexIOTAを取り扱っている取引所。
ビットコイン関連のニュースでよく出てくる。
USDTとBTCのレンディングが強いイメージ。
ビットコインFXを牛耳ってる取引所で、他取引所でビットコインFXやっていたとしても、ここのチャートが最重要視するくらい大事な取引所。
国    :香港
メリット :レンディング効率がいい。
デメリット:アルトコインの種類は少なめ。
おすすめ度:★★★☆☆
COSS最近知った取引所
今後有名になるかはわかりません。
国    :ルーマニア
メリット :
デメリット:
おすすめ度:★★☆☆☆
BiBox最近有名になり始めている取引所。
OKCOINとHUOBIの経営陣が立ち上げたらしい。
取引所コインであるBIXが有名。
今後レバレッジ取引に対応予定。
国    :エストニア
メリット :
デメリット:
おすすめ度:★★★☆☆

あおいうえ@仮想通貨小額分散&備忘録

高卒。2011年1社目入社。 2015年3月退職し2社目。 現在はプログラミングスキルを活かし活動中。 様々なことに対する備忘録としてブログを開設。 5月初めに仮想通貨に参入。元本20万円から1か月で130万円の含み益。元本回収完了。現在は含み益のみで廻す。2018年7月Valuに参入。BOTのテスター募集やBOT作成に関する初心者向けの相談などを行っている。 【Valu】 https://valu.is/aoiue

あわせて読みたい

コメントを残す