• ベストアンサー

Excelの出納計算について質問です。

Excelの出納計算について質問です。 画像(見えにくくてすみません)のように、セル一つに対して一桁の数字を入力し、6つのセルを使用して6桁を表したものを関数を使って、収入、支出に応じて残金を計算したいのです。 わかりにくくて申し訳ないんですが、セルを結合しないで計算する方法を教えてください。 よろしくお願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
回答No.3

データが正の数ならこれでどうでしょう。 画面のように残金がマイナスになると正しく表示しませんが・・・ 入力面と表示面は分けた方がすっきりすると思いますので分けてみました。 収入6桁目 =IF(LEN(v2)>=6,INT(MOD((v2),10^6)/10^5),"") 収入5桁目 =IF(LEN(v2)>=5,INT(MOD((v2),10^5)/10^4),"") 収入4桁目 =IF(LEN(v2)>=4,INT(MOD((v2),10^4)/10^3),"") 収入3桁目 =IF(LEN(v2)>=3,INT(MOD((v2),10^3)/10^2),"") 収入2桁目 =IF(LEN(v2)>=2,INT(MOD(v2,10^2)/10),"") 収入1桁目 =IF(LEN(v2)>=1,INT(MOD(v2,10)/1),"") 支出6桁目 =IF(LEN(w2)>=6,INT(MOD((w2),10^6)/10^5),"") 支出5桁目 =IF(LEN(w2)>=5,INT(MOD((w2),10^5)/10^4),"") 支出4桁目 =IF(LEN(w2)>=4,INT(MOD((w2),10^4)/10^3),"") 支出3桁目 =IF(LEN(w2)>=3,INT(MOD((w2),10^3)/10^2),"") 支出2桁目 =IF(LEN(w2)>=2,INT(MOD(w2,10^2)/10),"") 支出1桁目 =IF(LEN(w2)>=1,INT(MOD(w2,10)/1),"") 残金6桁目 =IF(LEN(x2)>=6,INT(MOD((x2),10^6)/10^5),"") 残金5桁目 =IF(LEN(x2)>=5,INT(MOD((x2),10^5)/10^4),"") 残金4桁目 =IF(LEN(x2)>=4,INT(MOD((x2),10^4)/10^3),"") 残金3桁目 =IF(LEN(x2)>=3,INT(MOD((x2),10^3)/10^2),"") 残金2桁目 =IF(LEN(x2)>=2,INT(MOD((x2),100)/10),"") 残金1桁目 =IF(LEN(x2)>=1,INT(MOD((x2),10)/1),"") すべて2行目のセルの内容です。あとは下にコピーしてください。

noname#125057
質問者

お礼

ありがとうございます(>_<) やってみます(^^)

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 画像では良く解らなかったため、仮の話になりますが、例えばSheet1のD1~I1に数字が入力されている場合、別のシートのセル、例えばSheet2の適当なセルに、 =VALUE(Sheet!D1&Sheet!E1&Sheet!F1&Sheet!G1&Sheet!H1&Sheet!I1) という数式を入力しておくと、6桁の数値に変換する事が出来ます。  まずは、同様のやり方で、Sheet1の各数字をSheet2で6桁の数値に変換しておいた上で、一旦、Sheet2内で、収入、支出に応じて残金の計算結果を求めておきます。  そして、例えばSheet2のA1セルに6桁の正の整数が存在している場合には、Sheet1のD1~I1の各セルに、次の様な数式を入力しておくと、6桁の数値の各桁毎の数字を取り出す事が出来ます。 D1セルの数式 =IF(ISNUMBER(Sheet2!A1),IF(Sheet2!A1<10^5,"",(FLOOR(Sheet2!A1,10^5)-FLOOR(Sheet2!A1,10^6))/10^5),"") E1セルの数式 =IF(ISNUMBER(Sheet2!A1),IF(Sheet2!A1<10^4,"",(FLOOR(Sheet2!A1,10^4)-FLOOR(Sheet2!A1,10^5))/10^4),"") F1セルの数式 =IF(ISNUMBER(Sheet2!A1),IF(Sheet2!A1<10^3,"",(FLOOR(Sheet2!A1,10^3)-FLOOR(Sheet2!A1,10^4))/10^3),"") G1セルの数式 =IF(ISNUMBER(Sheet2!A1),IF(Sheet2!A1<10^2,"",(FLOOR(Sheet2!A1,10^2)-FLOOR(Sheet2!A1,10^3))/10^2),"") H1セルの数式 =IF(ISNUMBER(Sheet2!A1),IF(Sheet2!A1<10,"",(FLOOR(Sheet2!A1,10)-FLOOR(Sheet2!A1,10^2))/10),"") I1セルの数式 =IF(ISNUMBER(Sheet2!A1),Sheet2!A1-FLOOR(Sheet2!A1,10),"")  従って、Sheet2で求めた計算結果を、同様のやり方で各桁毎の数字に分解して、Sheet1に表示させると良いと思います。

noname#125057
質問者

お礼

ありがとうございます(>_<)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

A1からデータが入っているとして A1*100000+B1*10000+C1*1000+D1*100+E1*10+F1 で6桁の数値になります。

noname#125057
質問者

お礼

ありがとうございます(>_<)

関連するQ&A

専門家に質問してみよう