下図のようなEXCELの表があります。
金種計算で、1行目は1万円、5千円、千円・・・10円と入っており、
A2は計算したい金額(97810)を入れています。
B2セルの式=INT($A2/B1)、C2セルの式=INT(MOD($A2,B1)/C1)で、C2セルの式はD2~H2に複写しています。
EXCELで得た計算結果(2行目)は正しいと思うのですが、
D2,F2,H2の計算結果と、自分で計算した結果があいません。
ここを詳しく教えて頂けないでしょうか。
宜しくお願い致します!
INT関数:整数部を返す MOD関数:剰余を返す
| A | B | C | D | E | F | G | H |
1| |10000| 5000| 1000| 500| 100| 50 | 10|
2|97810| 9| 1| 2| 1| 3| 0| 1|
B2は、98710÷10000=9.7810→整数部を返すので「9」
C2は、97810÷10000=9.7810→剰余7810÷5000=1.562
→整数部を返すので「1」
D2は、97810÷5000=19.562→剰余562÷1000=0.562
→整数部を返すので「0」???
E2は、97810÷1000=97.810→剰余810÷500=1.62
→整数部を返すので「1」
F2は、97810÷500=195.62→剰余62÷100=0.62
→整数部を返すので「0」???
G2は、97810÷100=978.10→剰余10÷50=0.2
→整数部を返すので「0」
H2は、97810÷50=1956.2→剰余2÷10=0.2
→整数部を返すので「0」???
No.6ベストアンサー
- 回答日時:
No.1です。
>例えばH2は、97810÷50=1956.2で、この剰余を小数点以下だと思い込んで、
>剰余を「2」って勘違いしてしまってる訳ですよね?
こういうことになりますね。
>小数点まで計算して割り切ってしまったから、変な勘違いを起こしたのかな。。。
>MOD関数を使った計算を自分で計算するときは、
>小数点まで割らずに、余りを出せばよかったのですよね?
剰余を考えるときには、整数の範囲で考えてください。
No.5
- 回答日時:
脇から失礼します。
>MOD関数を使った計算を自分で計算するときは、
小数点まで割らずに、余りを出せばよかったのですよね?
→そのとおりです。
MOD(11,3)=2 ・・・11を3で割ったときの剰余
です。
整数の範囲で(割算の)「答え」と「余り」を出してください。
No.4
- 回答日時:
質問の主旨と違ってごめんなさい。
私は金種計算をVBAでやってます。参考までに載せておきます。
私も理屈では関数式で出来ると思います。しかし
下記で「中間金額」に当たる金額を表現する式が長くなって、いやだったのでVBAにしました。
他のワークエリア(結果として使わないが記憶させるセル)をつかったりすれば少し簡単になるかも。
質問ではどう解決されたのでしょうか。私の質問文の見方が悪いのか、見えてきません。
下記をVBEの標準モジュールに貼りつけて実行してみて下さい。たった13行で、あと2行は減らせますが。
Cells(i,j)は第i行、第j列のセルの値を表します。
B1:J1に金種金額を入れておきます。2000円除き9種。
Sub 金種計算1()
人数 = 3 '仮に3人
For i = 2 To 人数 + 1
枚数 = 0
中間金額 = Cells(i, 1)
For j = 2 To 10
中間金額 = 中間金額 - 金種 * 枚数
金種 = Cells(1, j)
枚数 = Int(中間金額 / 金種)
Cells(i, j) = 枚数
Next j
Next i
End Sub
人数をA列のデータ行の数から割り出す方法も在りますが
略。
No.1
- 回答日時:
>D2は、97810÷5000=19.562→剰余562÷1000=0.562
>→整数部を返すので「0」???
97810÷5000=19.562
剰余は、5000×19=95000なので、2810
2810÷1000=2.81
→整数部を返すので「2」
>F2は、97810÷500=195.62→剰余62÷100=0.62
>→整数部を返すので「0」???
97810÷500=195.62
剰余は、500×195=97500なので、310
310÷100=3.1
→整数部を返すので「3」
>H2は、97810÷50=1956.2→剰余2÷10=0.2
>→整数部を返すので「0」???
97810÷50=1956.2
剰余は、50×1956=97800なので、10
10÷10=1
→整数部を返すので「1」
どうも、5が絡んだ時の剰余の計算に勘違いがあったようですね。
丁寧なご回答ありがとうございます!
あと1つだけ教えてくださいm(T-T)m
言われているとおり、とんでもない勘違いをしておりました(泣)
例えばE2は、97810÷1000=97.810→剰余810÷500=1.62
→整数部を返すので「1」ですが、
この【剰余】が、小数点以下の「810」と一致しているので、
5が絡んだ時の剰余も
例えばH2は、97810÷50=1956.2で、この剰余を小数点以下だと思い込んで、
剰余を「2」って勘違いしてしまってる訳ですよね?
↑人様に聞くのはおかしな話ですが、こんがらがってしまいまして。。。
97810÷50は小数点まで計算しなければ、商1956、余10になるので、
剰余は「10」となるんですよね。
小数点まで計算して割り切ってしまったから、変な勘違いを起こしたのかな。。。
MOD関数を使った計算を自分で計算するときは、
小数点まで割らずに、余りを出せばよかったのですよね?
↑情報処理系の資格を取るのに、自分で計算しないといけないので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) エクセルで特定のセルのみを任意のタイミングで更新する方法 1 2023/06/23 21:23
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- 数学 数II 剰余の定理と因数定理 整式P(x)をxで割った余りが-4,x-2で割った余りが7である。 P 2 2022/07/03 13:38
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- FX・外国為替取引 ロスカットまでいくらまで耐えられる 1 2022/07/01 17:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
パワーポイントの表
-
音声マークを一括非表示にしたい。
-
パワーポイント「スライドショ...
-
PowerPointのアニメーションで...
-
PowerPointで、作成されたファ...
-
you tubeにパワポで作った動画...
-
PowerPointVBAでスライドマスタ...
-
USBとは?至急です! 大学でプ...
-
パワーポイントで、全てのスラ...
-
パワーポイント2016でデザイン...
-
PowerPointで、線を点滅した感...
-
パワーポイントをプロンプター...
-
PowerPointについて質問です。 ...
-
PowerPointの箇条書きの既定の...
-
PowerPoint で動画を再生中に表...
-
パワーポイントでの印刷時の枠...
-
パワーポイント2019 図の透...
-
office2019プロダクトキー紛失
-
パワーポイントpowerpointでユ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワポで曲がった両矢印の簡単...
-
音声マークを一括非表示にしたい。
-
パワーポイント「スライドショ...
-
パワーポイントの表
-
PowerPointでスライドマスタの...
-
エクセル・パワーポイントなど...
-
PowerPointVBAでスライドマスタ...
-
PowerPointのアニメーションで...
-
PowerPointで、作成されたファ...
-
エクセルでA3の大きさに資料...
-
ExcelのグラフをPowerPointに貼...
-
パワーポイントで資料を作る時 ...
-
パワーポイントのアニメーショ...
-
【パワーポイントのフォントが...
-
プレゼン時のポインター
-
PowerPoint2010、2021のスライ...
-
パワーポイントで、全てのスラ...
-
パワーポイントで説明しながら...
-
PowerPointのオプションの設定...
-
PowerPointの背景について
おすすめ情報