[[20171018111918]] 『mod関数について』(mirumiru) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『mod関数について』(mirumiru)

教えていただけないでしょうか

MOD関数について
A| B   | =MOD(B、A)
6| -1245| 3
6| 1245 | 3
6| -61 | 5
6| 61 | 1

61と言う値のとき 正負で値がなぜ変わるのでしょうか
不思議でありません

下記の様にしているのですが
=IF(SIGN(B1)=1,MOD(B1,$A1),MOD(B1*(-1),$A1)*(-1))

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 -61から-66まで5だからじゃないですか?

 61は60まで1

 MOD関数のヘルプに参考になりそうな記述がありましたが、私には解説できません・・・。
(カリーニン) 2017/10/18(水) 11:50

 >61と言う値のとき 正負で値がなぜ変わるのでしょうか 

 正負で同じになるハズと思うのが間違いです。 
 こう云う関係ですよ。
  ↓
  行  _A_  __B__  __C__  _D_  _E_  __F__  __G__
   1  A    B      結果        A    B      結果 
   2    6  1242      0          6  -1242     0 
   3    6  1243      1          6  -1243     5 
   4    6  1244      2          6  -1244     4 
   5    6  1245      3          6  -1245     3 ←たまたま「1245」が同じだったに過ぎません。
   6    6  1246      4          6  -1246     2 
   7    6  1247      5          6  -1247     1 
   8    6  1248      0          6  -1248     0 

(半平太) 2017/10/18(水) 11:52


カリーニン様
有難う御座います

半平太様
有難う御座います

これでは 正負の割り算余りを出す関数では
学校で教わる演算では不適合になってしまいますね
仕組みを教えていただき有難う御座います
(mirumiru) 2017/10/18(水) 11:58


=IFERROR(ROUNDDOWN(B1/$A1,0),0)*A1 + =MOD(B1、A1) =B1

になりませんものね
(mirumiru) 2017/10/18(水) 12:03


 「余り」とは何かって話になりますね。

 そもそも、マイナス値に余りは無い、と主張する質問者が昔いました。

 学校では、マイナス値を均等に割って、割り切れない分を余りとしていた様な気がします。
 そうなると、余りがプラスの数値になることはあり得ないです。

 さて、mirumiruさんの考える「余り」とは?

(半平太) 2017/10/18(水) 12:40


 ヘルプによると、
 MOD(n, d) = n - d*INT(n/d)

 ということなので、
 今回の場合に当てはめると
 =B1-A1*INT(B1/A1)

 ってことは、
 >=IF(SIGN(B1)=1,MOD(B1,$A1),MOD(B1*(-1),$A1)*(-1))
 は

 =B1-A1*TRUNC(B1/A1)
 でもイケるのかな?

(白茶) 2017/10/18(水) 12:46


半平太様
色々有難う御座います

学校では、マイナス値を均等に割って、割り切れない分を余りとしていた様な気がします。
 >そうなると、余りがプラスの数値になることはあり得ないです。

私の記憶では以下の様かと思いますけど
学校では 絶対値で計算して後符号調整
そんなことは 同でもいいですが
正負どちらでも割り算をした時の余りに関して 絶対値としても値が違う
ここは数字の並びを 時系列見たいに並べた時は確かに MOD関数の値を示しますが
実際は そのようには考えないのが、現実と思います

MOD関数は 負の値と正の値時の計算には成り立たない事が
理解できました 
実は 結構前から 不思議でしょうがなかった事でした
本当に有難う御座いました  今後共宜しくお願いいたします

白茶様
有難う御座います
TRUNC 関数を知らなかったので この方が 整数時はスペルも短いし桁指定もないから
楽ですね  又教えてもらった式でも対応できました

有難う御座います 
今後共宜しくお願いいたします
(mirumiru) 2017/10/18(水) 13:16


 >正負どちらでも割り算をした時の余りに関して 絶対値としても値が違う 

 絶対値の使い方に関して、mirumiruさんの記述を正しく理解していないかもしれないですが、

 今回の場合(割る方がプラスと決まっている場合)なら、私はこうしますね。→ =SIGN(B2)*MOD(ABS(B2),A2)

(半平太) 2017/10/18(水) 14:47


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.