• ベストアンサー

セルを分けた合計で0を非表示にしたい

一桁ごとにセルがわかれた数を合計表示する際、画像のような関数を使いました。 合計の一番先頭のセルには、 =int((e4+e5)/10)) と入れてみました。 e4+e5が10を越える場合は正しく表示できますが、10未満の場合は画像のように0が表示されてしまいます。 どのようにしたら0がなくなるのか、ご教示お願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

その計算じゃ、下の桁からの繰上りが考慮できていませんが。 簡単な例 D6: =MID(TEXT(SUMPRODUCT($E$4:$H$4+$E$5:$H$5,10^(4-COLUMN($A$1:$D$1))),"?????"),COLUMN(A1),1) 右にコピー

beach_ch
質問者

お礼

ご回答頂きありがとうございました。 教えて頂いたとおりにやってみたらできました!! 先頭の0も表示されませんし、私の希望していた形です。 本当に助かりました。ありがとうございました!

beach_ch
質問者

補足

こちらの関数の中の、A1とD1はどういう意味ですか? ここには本来文字列が入ります。(これは領収書の用紙です。)

その他の回答 (6)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.7

>A1とD1はどういう意味ですか? セルの値は参照していないので,特に気にする必要はありません。 COLUMN関数を使って数字の1から4までを作り,計算に利用します。ただの算数魔法の呪文と思ってください。 どうしても気になるようなら,A4からD4にしてもかまいませんし,数式の仕組みを紐解いてE4からH4を使う数式に改造して利用することもできます。 #もし,何を計算しているのか理解したいときは,ご利用のエクセルのバージョンが不明のご相談ですが,新しいエクセルを使っているなら数式タブの「数式の検証」を利用して勉強してみてください。

beach_ch
質問者

お礼

補足に対してのご回答、ありがとうございます! 特に意味がないとのことで了解しました。 一度できたものをコピーして下の方に作ってみたら(セル番地も変えたのですが)、###となってエラーになってしまったので、他に書き換えるところがあるのかなと思って質問してみました。 関数の検証というのがあるんですね、Excelは新しいバージョンなので、確認・勉強してみます。 ありがとうございました。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>合計の一番先頭のセルには、 =int((e4+e5)/10)) と入れてみました。 その数式は正しくないでしょう。 下位(右側のセル)からの繰り上がりも考慮して次の数式に変更してください。 D6=INT(SUMPRODUCT(H4:H5+G4:G5*10+F4:F5*100+E4:E5*1000+D4:D5*10000)/10000) E6=INT(SUMPRODUCT(H4:H5+G4:G5*10+F4:F5*100+E4:E5*1000)/1000) >どのようにしたら0がなくなるのか、ご教示お願い致します。 条件付き書式で数式を使用して文字の色をセルの塗りつぶしの色と同じ色(白)にすれば良いでしょう。 D6セルに対しては次の数式を使います。 =SUMPRODUCT(H4:H5+G4:G5*10+F4:F5*100+E4:E5*1000+D4:D5*10000)<10000 E6セルについては次の数式を使います。 =SUMPRODUCT(H4:H5+G4:G5*10+F4:F5*100+E4:E5*1000)<1000 F6~H6まで上記の例を応用すれば良いでしょう。

beach_ch
質問者

お礼

ご回答頂きありがとうございました。 今回たくさんのデータを反映させて領収書を作るため、色の塗り潰しをその都度するのは大変で(>_<) No.3さんの関数でうまく表示することができました。 ありがとうございました。

  • msMike
  • ベストアンサー率20% (364/1805)
回答No.5

添付図参照 1.セル D6 に次式を入力して、此れを右方にズズーッとドラッグ&ペースト __=IF(MOD(SUM(E7,D4:D5),10),MOD(SUM(E7,D4:D5),10),IF(AND(D4="",D5=""),"",0)) 2.セル D7 に式 =QUOTIENT(SUM(E7,D4:D5),10) を入力して、此れを右方 __にズズーッとドラッグ&ペースト 3.7行目を非表示に設定

beach_ch
質問者

お礼

ご回答頂きありがとうございました。 教えて頂いたとおりにしてみたのですが、合計が3000円になってしまいました。すみません。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

表示しないだけでいいなら、セルの書式設定をユーザー定義で # としてください。 0自体をなくすのであれば、既に回答にあるようにIF関数を使うか TEXT関数で、数字自体を文字列化するかですね。 =IF((E4+E5)<10,"",INT((E4+E5)/10)) または =TEXT(INT((E4+E5)/10),"0;;;")

beach_ch
質問者

お礼

ご回答頂きありがとうございました。 非表示のやり方にはそのような方法もあるのですね。 今回たくさんのデータを反映させて領収書を作りたいので、なんとか簡単にできる関数を探していました。 No.3さんのでできました。 ありがとうございました。

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.2

数式を =IF((E4+E5)<10,"",INT((E4+E5)/10)) に変更してみてください。

beach_ch
質問者

お礼

ご回答頂きありがとうございました。 こちらでやってみたのですが、正しく表示できませんでした。すみません(>_<) No.3さんのでできました。

回答No.1

  オプションの中の「ゼロ値」のチェックを外しましょう 値が「0」の時に表示されません  

beach_ch
質問者

お礼

ご回答頂きありがとうございます。 補足質問に書いておりますが、またお力添え頂けることがありましたらよろしくお願いします。

beach_ch
質問者

補足

ご回答頂きありがとうございます。 ゼロ値のチェックはしてみたのですが、先頭以外の0も消えてしまうのですが、どうしたら良いでしょうか?

関連するQ&A

専門家に質問してみよう