• ベストアンサー

EXCELで千円札が3枚入る金種表の作り方

Excelで作成した金種表で、千円札が必ず3枚入るようにしたいのです。 (例:2万円→1万円札×1枚+5千円札×1枚+千円札×5枚)というように。 二千円札は必要ありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (260/624)
回答No.8

失礼しました 1千円の式に誤りがありました =FLOOR(A2-FLOOR(A2-3000,5000),1000) これまでの式は総計が3千円以下は配慮していません 3千円以下も対象とするときは1万円~1千円の式に 条件式を追加して全てを記述します。 1万円=IF(A2<3000,0,FLOOR(A2-3000,10000)) 5千円=IF(A2<3000,0,FLOOR(A2-3000-FLOOR(A2-3000,10000),5000)) 1千円=IF(A2<3000,FLOOR(A2,1000),FLOOR(A2-FLOOR(A2-3000,5000),1000)) 五百円=FLOOR(A2-FLOOR(A2,1000),500) 百円 =FLOOR(A2-FLOOR(A2,500),100) 五十円=FLOOR(A2-FLOOR(A2,100),50) 十円 =FLOOR(A2-FLOOR(A2,50),10) 五円 =FLOOR(A2-FLOOR(A2,10),5) 一円 =A2-FLOOR(A2,5)

aregura
質問者

お礼

無知な私のためにお時間を割いていただきありがとうございました。 関数式もコピペですぐに使え、大変助かりました。 他にもご協力いただいた皆様に感謝いたします。

その他の回答 (7)

noname#204879
noname#204879
回答No.7

再び[No.4へのお礼]へのコメント、 [No.4]の Sheet1 における式を次のように変更すれば、Sheet1 のK列以右および Sheet2 も不要になります。 私が最初からそうすれば良かったですね。m(__)m B2: =INT((INT(A2/D$1)-3)*D$1/B$1) C2: =INT(MOD((INT(A2/D$1)-3)*D$1,B$1)/C$1) D2: =INT(MOD((INT(A2/D$1)-3)*D$1,C$1)/D$1)+3 E2: =INT(MOD($A2,D$1)/E$1) セル E2 を右方へズズーッとドラッグ&ペースト

aregura
質問者

お礼

無知な私のためにお時間を使っていただき本当にありがとうございました。 いろんな関数の勉強になりました。

noname#204879
noname#204879
回答No.6

[No.4へのお礼]へのコメント、 》 シートは2つ作らないと難しい… そんなことはありません。 Sheet2 の部分を Sheet1 のK列以右に作成すれば、 シートは1つで済むし、式中の Sheet1!、Sheet2! も消えて見た目の式もスッキリします。

aregura
質問者

お礼

ありがとうございます。

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.5

五百円以下は単純です 五百円=FLOOR(A2-FLOOR(A2,1000),500) 百円 =FLOOR(A2-FLOOR(A2,500),100) 五十円=FLOOR(A2-FLOOR(A2,100),50) 十円 =FLOOR(A2-FLOOR(A2,50),10) 五円 =FLOOR(A2-FLOOR(A2,10),5) 一円 =A2-FLOOR(A2,5)

aregura
質問者

お礼

ありがとうございました。 さっそく計算式を入れてみましたが 硬貨が発生したときに合計金額が変わってしまいます。

noname#204879
noname#204879
回答No.4

[No.2]bin-chanさんのアイディアを拝借しました。 添付図参照 Sheet2!A2: =INT(Sheet1!A2/A$1) Sheet2!B2: =INT(MOD(Sheet1!$A2,A$1)/B$1) セル Sheet2!B2 を右方へズズーッとドラッグ&ペースト Sheet1!B2: =INT((Sheet2!A2-3)*D$1/B$1) Sheet1!C2: =INT(MOD((Sheet2!$A2-3)*D$1,B$1)/C$1) Sheet1!D2: =INT(MOD((Sheet2!$A2-3)*D$1,C$1)/D$1)+3 Sheet1!E2: =Sheet2!B2 セル Sheet1!E2 を右方へズズーッとドラッグ&ペースト ただし、Sheet1 のA列の金額は三千円以上とします。

aregura
質問者

お礼

ありがとうございました。 シートは2つ作らないと難しいのですね。 チャレンジしてみます。

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.3

セルA2の合計を金種別に分解します 1万円=FLOOR(A2-3000,10000) 5千円=FLOOR(A2-3000-FLOOR(A2-3000,10000),5000) 1千円=A2-FLOOR(A2-3000,5000)

aregura
質問者

お礼

ありがとうございました。 私の説明不足でした。 500円以下の硬貨も発生します。 この場合の関数はどう入力すればよいのでしょうか?

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

#1です。11,000円の場合に困るので訂正します。 1)1円~千円までで金種表を作る。   1円~5百円まではそのまま採用。 2)千円の枚数から3引いて10以上なら一万円の枚数を整数で求める。 3)2)の残りが5以上なら五千円は1枚。余り+3が千円の枚数。   2)の残りが5未満なら五千円は0枚。余り+3が千円の枚数。 で、千円、5千円、一万円の枚数が決定。

aregura
質問者

お礼

早くの回答、修正と本当にありがとうございます。 具体的に計算式はどのように入れたらよいでしょうか。 情けないのですが、知識がなくお手上げ状態です。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> 千円札が必ず3枚入るようにしたいのです。 2,999円だったらどうするの? 1)1円~千円までで金種表を作る。 2)千円の数値を元に、5の剰余を考える。   3、4なら、5千円、一万円の枚数を整数で求める。   0、1、2でなら一万円の枚数を整数で求めはするが、5千円については何もしない。

aregura
質問者

お礼

早くの回答ありがとうございます。 具体的に計算式はどのように入れたらよいでしょうか。 知識がなく困っております。。。

関連するQ&A