Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
割る数が割られる数より小さい場合のmod関数
投稿日時: 20/10/05 12:10:59
投稿者: ぜんだまん
メールを送信

https://excel-ubara.com/excel-answer/EXCELVBA604A.html
の問題の答え2の式で
 
Cells(i, 5) = Cells(i, 2) Mod Cells(i, 3)
という部分がありますが、これを実際の数値に置き換えた場合
 
5 = 5 mod 16
 
となるのはどうしてでしょうか?
 
どうしても割り算の0.3125を元に考えてしまいます。
 
考え方を噛み砕いて解説おねがいします。

回答
投稿日時: 20/10/05 12:44:11
投稿者: simple

噛み砕いているか疑問ですが、
商が0 で、余りが 5 だからじゃないですか?

回答
投稿日時: 20/10/05 12:48:31
投稿者: WinArrow
投稿者のウェブサイトに移動

余りを求める時、
分子の方が分母より大きい場合、常に答えは「分子」となります。
 
まず、分子/分母で「商」を求めます。
商に分母を掛けて、分子から引き算します。
その答えがあまりです。
 
分母の方が大きいと「商」h「0」になるから、分子から0を引くことになります。
分子が「5」なので分母が「5」より大きいと、「5」となるわけです。
 

回答
投稿日時: 20/10/05 12:52:06
投稿者: WinArrow
投稿者のウェブサイトに移動

申し添えておきますが、
これ名VBAだからではないですよ。
単純な算数の世界です。
 

投稿日時: 20/10/05 14:02:55
投稿者: ぜんだまん
メールを送信

WinArrow様、simple様 回答ありがとうございます。
 
simple様
>商が0 で、余りが 5 だからじゃないですか?
それがどういうことかわからないのです。
 
WinArrow様
>分母の方が大きいと「商」h「0」になるから、分子から0を引くことになります。
そういう決まりがあったのですね。知りませんでした。
これは1+1が2になると同じ法則として覚えなければならないことだと
判断してそのまま覚えます。