• ベストアンサー

エクセル SUM関数について

こんばんは。 SUM関数を使ったときに、指定した範囲が空白にもかかわらず、その合計は0になるようですが、これを空白のままにしておくにはどうしたらよろしいでしょうか。 というのも、SUMで合計したものの総合計を平均するのが目的なのですが、SUMの合計に0が入っていると平均値に影響してしまいます。 アドバイスお願いします。

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

  • ベストアンサー
  • cristalle
  • ベストアンサー率55% (44/80)
回答No.3

A1~A10のSAM関数の場合、 =IF(SUM(A1:A10)<>0,SUM(A1:A10),"") とIF関数を使うと、例え空白でも0表示になりません

paochi
質問者

お礼

ご回答ありがとうございました。 本当にいろいろなやり方があるものですね。 これにひとつも気づかなかった自分もまだまだ未熟ですが、これを期にエクセルの知識を深めていきたいと思います。 (マクロへの道は遠すぎるかな^^;) またアドバイスをお願いすることもあるかもしれませんが、そのときはご教授の程よろしくお願い致します。 ありがとうございました!

その他の回答 (6)

  • comv
  • ベストアンサー率52% (322/612)
回答No.7

補足の補足になっちゃいますが(^^; IF()関数の書式は #6 eub55さんの書かれた通りで 論理式上はeub55さんの方が解り易いかもしれませんね! 論理式上で 答えが  真=TRUE と同様の反応をする数値は 0以外  偽=FALSE と同様の反応をする数値は 0 です。 結果 私の記載したものは、eub55さんが記載したものと 真偽が逆の処理になり  COUNT()の結果が 0以外(範囲に数値がある)真→式  COUNT()の結果が 0  (範囲に数値がない)偽→"" と処理分岐します。 なので、処理分岐の記載が入れ替わっていますが結果は同じ処理をします。 注:シート関数の場合です。   VBA(マクロ)上では数値の正負で真偽となるようです

paochi
質問者

お礼

ご回答ありがとうございました。 本当にいろいろなやり方があるものですね。 これにひとつも気づかなかった自分もまだまだ未熟ですが、これを期にエクセルの知識を深めていきたいと思います。 (マクロへの道は遠すぎるかな^^;) またアドバイスをお願いすることもあるかもしれませんが、そのときはご教授の程よろしくお願い致します。 ありがとうございました!

  • eub55
  • ベストアンサー率39% (58/147)
回答No.6

No.5のCOMBさんの補足なのですが、 SUMで合計値を出すセルに =IF(COUNT(合計を出したい範囲)=0,"",SUM(合計を出したい範囲)) と言う風に入力されたらいかがでしょうか? IF関数というのは =IF(論理式,真の場合,偽の場合) と言う風に式を組み立てると 『もし、"論理式"が満たされているときは"真の場合"の結果を出し、"論理式"が満たされていないのであれば"偽の場合"の結果を出しなさい』というようなことができます。 この場合、 論理式→COUNT(範囲)=0 …もし、合計を出したい範囲の中に数値を入力しているセルが0個であるならば、 真の場合→"" …何も表示しない。(空白を表示させる) 偽の場合→SUM(範囲) …合計を出したい範囲の合計を計算して出力しなさい。 というような式になります。 ほかにも考え方はあると思いますが、私のほうはここまでで。 がんばってください。

paochi
質問者

お礼

ご回答ありがとうございました。 本当にいろいろなやり方があるものですね。 これにひとつも気づかなかった自分もまだまだ未熟ですが、これを期にエクセルの知識を深めていきたいと思います。 (マクロへの道は遠すぎるかな^^;) またアドバイスをお願いすることもあるかもしれませんが、そのときはご教授の程よろしくお願い致します。 ありがとうございました!

  • comv
  • ベストアンサー率52% (322/612)
回答No.5

こんばんは! SUM()で合計したセルが複数ありそれを対象にAVERAGE()関数で平均の計算をしているのでしょうか! であれば  =SUM(範囲)の式を  =IF(COUNT(範囲),SUM(範囲),"") としてみて下さい!

  • msik
  • ベストアンサー率36% (35/97)
回答No.4

4  2 6 4 データがない場合件数として計算しない場合で、「0」の場合は計算する。 セルA1に「4」、B1に「なし」、C1に「2」、D6に「6」を入力。 E1に「=SUM(A1:D1)/COUNT(A1:D1)」で平均値を出しています。

paochi
質問者

お礼

ご回答ありがとうございました。 本当にいろいろなやり方があるものですね。 これにひとつも気づかなかった自分もまだまだ未熟ですが、これを期にエクセルの知識を深めていきたいと思います。 (マクロへの道は遠すぎるかな^^;) またアドバイスをお願いすることもあるかもしれませんが、そのときはご教授の程よろしくお願い致します。 ありがとうございました!

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.2

単純な方法としてIF関数を使えば良いでは・・・  =IF(SUM(範囲)<>0,SUM(範囲),"") こんな感じです。

paochi
質問者

お礼

ご回答ありがとうございました。 本当にいろいろなやり方があるものですね。 これにひとつも気づかなかった自分もまだまだ未熟ですが、これを期にエクセルの知識を深めていきたいと思います。 (マクロへの道は遠すぎるかな^^;) またアドバイスをお願いすることもあるかもしれませんが、そのときはご教授の程よろしくお願い致します。 ありがとうございました!

  • se-ichi06
  • ベストアンサー率25% (109/427)
回答No.1

SUM関数を使わずに普通に=A1+C1+・・・のように指定したセルを合計する計算を行えばよろしいのではないでしょうか?

paochi
質問者

お礼

ご回答ありがとうございました。 本当にいろいろなやり方があるものですね。 これにひとつも気づかなかった自分もまだまだ未熟ですが、これを期にエクセルの知識を深めていきたいと思います。 (マクロへの道は遠すぎるかな^^;) またアドバイスをお願いすることもあるかもしれませんが、そのときはご教授の程よろしくお願い致します。 ありがとうございました!

関連するQ&A