ある金額に対して、貨幣の枚数を計算で求める場合、どんな方法があるか?
例として、28,346円という金額でやってみよう。
(1) 「枚数を求めたい貨幣」で何枚取れるか数え、それが5枚1組あるいは2枚1組になるか調べる方法。
| 貨幣 | セル | 計算式 | 枚数 | 考え方 |
| A1 | 12345 | |||
| 10000 | A2 | =INT(12345/10000) | 2 | 10000円が何枚取れるか |
| 5000 | A3 | =MOD(INT(A1/5000),2) | 1 | 5000円が何枚取れるか調べ、2枚1組になるか調べる |
| 1000 | A4 | =MOD(INT(A1/1000),5) | 3 | 1000円が何枚取れるか調べ、5枚1組になるか調べる |
| 500 | A5 | =MOD(INT(A1/500),2) | 0 | 500円が何枚取れるか調べ、2枚1組になるか調べる |
| 100 | A6 | =MOD(INT(A1/100),5) | 3 | 100円が何枚取れるか調べ、5枚1組になるか調べる |
| 50 | A7 | =MOD(INT(A1/50),2) | 0 | 50円が何枚取れるか調べ、2枚1組になるか調べる |
| 10 | A8 | =MOD(INT(A1/10),5) | 4 | 10円が何枚取れるか調べ、5枚1組になるか調べる |
| 5 | A9 | =MOD(INT(A1/5),2) | 1 | 5円が何枚取れるか調べ、2枚1組になるか調べる |
| 1 | A10 | =MOD(A1,5) | 1 | 5円を取れるだけ取った、残りが1円の枚数 |
※ MOD関数 → 割り算の余りを求める INT関数 → 小数部分を切り捨てる)
まず、もとの金額から求めたい貨幣が何枚取れるか調べる。
そして、今度はそれが●枚1組になるか調べて、出てきた余りが必要な枚数。
5円であれば、2枚1組で10円になるので、取れた枚数を2で割った余りが、必要な5円の枚数になる。
ただ、この考え方では、2000円札を含んだ枚数は求めることができません。
なぜなら、6000円の場合に2000円が3枚という答えがでますが、実際は5000円と1000円で2枚になるからです。
(2) 「枚数を求めるのに必要な部分」を取り出して,計算する方法。
| 貨幣 | セル | 計算式 | 枚数 | 考え方 |
| A1 | 12345 | |||
| 10000 | A2 | =INT(12345/10000) | 2 | (省略) |
| 5000 | A3 | =INT(MOD(A1,10000)/5000) | 1 | 10000円を取れるだけとり、残りから5000円が何枚取れるか |
| 1000 | A4 | =INT(MOD(A1,5000)/1000) | 3 | 5000円を取れるだけとり、 残りから1000円が何枚取れるか |
| 500 | A5 | =INT(MOD(A1,1000)/500) | 0 | 1000円を取れるだけとり、残りから500円が何枚取れるか |
| 100 | A6 | =INT(MOD(A1,500)/100) | 3 | 500円を取れるだけとり、残りから100円が何枚とれるか |
| 50 | A7 | =INT(MOD(A1,100)/50) | 0 | 100円を取れるだけとり、残りから50円が何枚とれるか |
| 10 | A8 | =INT(MOD(A1,50)/10) | 4 | 50円を取れるだけとり、残りから10円が何枚とれるか |
| 5 | A9 | =INT(MOD(A1,10)/5) | 1 | 10円を取れるだけとり、残りから5円が何枚取れるか |
| 1 | A10 | =MOD(A1,5) | 1 | (省略) |
| 2000円札を含む場合 | ||||
| 2000 | A11 | =INT(MOD(A1,5000)/2000) | 1 | 5000円を取れるだけとり、残りから2000円が何枚取れるか |
| 1000 | A12 | = INT(MOD(MOD(A1,5000),2000)/1000) | 0 | 5000円を取れるだけとり、残りから2000円を取り、 その残りから1000円が何枚とれるか |
※ MOD関数 → 割り算の余りを求める INT関数 → 小数部分を切り捨てる)
まず、もとの金額から、求めたい貨幣の一つ上の金額を取れるだけとる。
すると余りが出てくるから、この中で求めたい貨幣の枚数を計算すればいい。
例えば、1000円の枚数を知りたいのであれば、3346円の中で計算すればいい。
(追記)
商の整数部分を求める関数に、QUOTIENT関数があります。
これをINT関数の代わりに使うこともできます。
ただし、アドインで分析ツールを使えるようにしないと使えない関数なので、今回はINT関数を使いました。