- ベストアンサー
請求書の様式で…
請求書を作成しています。請求書にかかわらず、領収書等にも使用したのですが。エクセルで表を作っているのですが、単価×個数=合計金額と別々のセルにいれて計算させるのは簡単ですが、合計金額には、一の位、十の位、百の位、千の位、万の位…とセルを分けたいのです。 たとえば、合計金額が156,700円とすると、十万のセルに「1」、万のセルに「5」、千のセルに「6」、は百のセルに「7」、十と一のセルは「0」といったように標記させたいのですが、いい方法はありませんか? よろしくお願いします。計算式をIF関数で無理矢理計算式を入れていこうとしましたが、あまりしっくりと来ませんでした。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
レイアウトがわかりませんが、 A列が単価、B列が個数で、C列から右が合計金額だとします。 1行目だとすれば ■ C1セルに ------------------------ =TRIM(LEFT(RIGHT(" "&TEXT($A1*$B1,"#"),7-COLUMN(A1)))) ------------------------ と入れて(↑をコピペしてください )、H1セルまでフィルコピー そのまま必要なだけ下にフィルコピーです。 ◇合計金額の最大桁数を6桁としています。 7桁なら 7-COLUMN(A1)の 7を 8にして I列までコピー 8桁なら 7を 9にして J列までコピーです。 ◇単価×個数の $A1*$B1も実際のセル位置に合わせて必要なら変更してください。 ( 列記号の前に必ず$をつけること ) ◇COLUMN(A1) は右にコピーすることで 1、2、3・・・と変化させるためのものです。 どんな場合でも COLUMN(A1)のままにしておいてください(←←先頭のセルのみ。あとは右に下にコピーするだけ ) ★ セル内の数字は左揃えになるので、気になるようでしたら合計金額のセルはすべて右揃えにしてください。 以上が個々の明細の合計金額です。 ★トータルの合計金額も必要なら次のようにします。 明細が1行目から10行目までだとすれば( A列が単価、B列が個数 ) トータルの合計金額は↓の式で求めることができます。 =SUMPRODUCT(A1:A10,B1:B10) この合計金額も1セルに1桁ずつ入れるなら 最初の式の $A1*$B1を上の式に変えるだけです。 11行目がトータルの合計金額だとすれば ■ C11セルに↓を入れて、H11セルまでコピーです。 ---------------------- =TRIM(LEFT(RIGHT(" "&TEXT(SUMPRODUCT($A1:$A10,$B1:$B10),"#"),7-COLUMN(A1)))) ---------------------- ◇ 最大桁数の変更など注意事項は上と同じ。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
=IF(COLUMN()<=2+10-LEN($A$1),"",MID($A$1,COLUMN()-(2+10-LEN($A$1)),1)) 上記式の中の 2 スタート列(この場合B列)を決める数字 したがって上記式では、B2とかD2とかに上記式を入れて、2+10列(L列)まで式を横方向に複写する。 10 最大桁を決める数字 A1 金額数字を入れるセル。 上記は数字文字列の扱いだが、右詰めに設定するか、*1を掛けて 数値化する =IF(COLUMN()<=2+10-LEN($A$1),"",MID($A$1,COLUMN()-(2+10-LEN($A$1)),1)*1) か適当なほうを選ぶ
お礼
ありがとうございます。このような関数があるのですね。勉強になりました。
- mshr1962
- ベストアンサー率39% (7417/18945)
最大金額が1億の位として 1億の位=MID(TEXT(合計金額のセル,"?????????"),COLUMN(A$1),1) として右方向にコピーしてください。
お礼
いろいろな方法があるのですね。勉強になります。ありがとうございました。
- shikisaito
- ベストアンサー率52% (257/491)
十万のセル=INT(MOD(SIGN(A1)*A1/100000,10)) 万のセル=INT(MOD(SIGN(A1)*A1/10000,10)) 千のセル=INT(MOD(SIGN(A1)*A1/1000,10)) 百のセル=INT(MOD(SIGN(A1)*A1/100,10)) 十のセル=INT(MOD(SIGN(A1)*A1/10,10)) 一のセル=INT(MOD(SIGN(A1)*A1/1,10))
お礼
ありがとうございます。下記の方と同じ方法ですね。勉強になりました。
- keirika
- ベストアンサー率42% (279/658)
A1セルに金額が入力されていると仮定します。 十万・・・=INT(MOD(A1,1000000)/100000) 一万・・・=INT(MOD(A1,100000)/10000) 千・・・・=INT(MOD(A1,10000)/1000) 百・・・・=INT(MOD(A1,1000)/100) 十・・・・=INT(MOD(A1,100)/10) 一・・・・=INT(MOD(A1,10)) ではどうでしょうか?
お礼
ありがとうございます。簡単にできました。このような関数があるのですね。
お礼
非常に細かいご指導ありがとうございます。勉強になります。