こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

マルチメディアファイルは削除されたか見つかりません。

投稿日時 - 2011-01-15 11:51:35

QNo.6449093

困ってます

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

データが正の数ならこれでどうでしょう。
画面のように残金がマイナスになると正しく表示しませんが・・・

入力面と表示面は分けた方がすっきりすると思いますので分けてみました。

収入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行目のセルの内容です。あとは下にコピーしてください。

投稿日時 - 2011-01-15 22:18:45

お礼

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

投稿日時 - 2011-01-17 23:11:40

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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に表示させると良いと思います。

投稿日時 - 2011-01-15 15:32:13

お礼

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

投稿日時 - 2011-01-17 23:12:42

ANo.1

A1からデータが入っているとして

A1*100000+B1*10000+C1*1000+D1*100+E1*10+F1

で6桁の数値になります。

投稿日時 - 2011-01-15 13:36:17

お礼

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

投稿日時 - 2011-01-17 23:13:01

あなたにオススメの質問