貨幣の枚数を計算する

ある金額に対して、貨幣の枚数を計算で求める場合、どうすればいいのでしょう?
例として、28,346円という金額でやってみましょう。


【考え方】
28,346円で,1000円札が何枚必要かを考えてみます。
まず,取り除きたいのは,20,000円の部分です。
計算でするには,元の金額を20000で割った,余りを求めればよさそうです。
そうすれば,8,346円の部分だけが残ります。

ですが,8,346円の中には,5,000円札があります。
これも取り除きたいですね。
これも,同じように5000で割った,余りを求めると,3,346円の部分だけが残ります。

これは,最初から5000で割ってもいいですね。

つまり,まとめると,『求めたい金額の,1つ上の金額で割った余りを,基にする』ということです。
そして,3,346円を1000で割った商を求めれば,3枚と答えが得られます。


下は,完成した表です。



【注意事項】
・¥マークが表示されているセルは,セルの書式設定の表示形式を「会計」にしてあります。
 (数値の頭に,¥を付けているわけではありません。)


セルに入っている数式は,次の通りです。


 INT関数: INT( 数値 )
   ・数値の小数点以下を,取り除きます。

 MOD関数: MOD( 被除数 , 除数 )
   ・被除数を除数で割った,余りを求めます。


【2000円札がある場合】
2000円札が入ってくると,1000円札の枚数を求めるのが,ちょっと複雑になります。
2000円札の枚数を求めるところまではいいですが,
1000円札を求めるためには,5000円の余りを求め,さらに2000円の余りを求めて,それから必要な1000円の枚数を求める処理になります。(右側の表の数式を参照してください。)
このあとは,左側の表と同じでいいです。

今までのように,『1つ上の金額で割った余り』という方法が使えないのです。
例えば,6000円を扱った場合,
1000円札の枚数を求めようと,いきなり2000円で割ると,3枚という答えが返ってきます。
そして,1000円札の枚数が,0枚になってしまうのです。
実際は,5000円札1枚と,1000円札1枚なのに。(この方が,総枚数も少ない。)
したがって,面倒でも,『5000円の余りを求め,さらに2000円の余りを求めて,それから必要な1000円の枚数を求める』という処理が必要になります。