この記事では【Excel】エクセルのsumで合わない、0になる(足し算が計算されない、文字列、循環参照、自動と手動計算など)原因と解決策!について解説していきます。
SUM関数にて計算されない原因は多数ありますが、その中でも下記のようなものが特に多いのではないでしょうか。
,文字列が入っている(もしくは形式が文字列)
・循環参照
・数値と認識されていないセルを計算
それでは、サンプルデータを用いて原因と解決方法を解説しましょう。
エクセルのsum関数にて計算されない(0になる、数値や時間)時の対策【計算が合わない:オートSUMの計算が合わない:足し算で0になる:循環参照】
下記サンプルは各店舗の売上を示しており、全店舗の合計売上を求めようとしている場面となります。
しかし、ご覧のように全店舗の合計売上が計算されていません(SUM関数で計算されずに0が表示)
ここで、セルB6を確認してみましょう。
該当のセルにカーソルを当てるとどのような入力がされているかを確認することができます。
よく見てみると、SUM関数の引数として自身、つまりセルB6が含まれてしまっています。
これは「循環参照」と言われる状態で、エクセルにおいて計算ができない原因の1つであります。
エクセルでは一部の特殊な関数を除き、自身を参照することはできないのです。
意図する動作をさせるには数式を「=(B2:B5)」としましょう。
これでSUMにて計算できない状況が解決されました。
エクセルのsum関数にて0になる(数値や時間)時の対策【計算が合わない:オートSUMの計算が合わない:足し算で0になる:文字列が原因】
こちらも各店舗の合計の売上を求めようとしているところです。
前例とは異なり、SUM関数の参照的は間違っていませんが、やはり0が出力されています。
SUM関数の仕様について解説すると、指定した範囲の合計値を求める際に使用し、
=SUM (数値1, [数値2], …)
と入力します。
ここで分かる通り、当関数はあくまで「数値」しか扱えず、文字列はいかなる場合でも0とみなされます。
今回のケースでは「○○千円」と入力していることで文字列とみなされ、0が出力されていたということになります。
解決方法は書式設定により「○○千円」と表示させるよりないでしょう。
まずは「千円」を外してみましょう。
これでSUM関数が想定している動作をします。
次に各店舗及び合計売上を選択した状態で右クリックします。
文字列(千円)の表示を残したい場合
コンテキストメニューが開いたら「セルの書式設定」を選択します。
「セルの書式設定」ダイアログが開くので、分類で「ユーザー定義」を選択し、種類に「0千円」と入力します。
サンプルを確認して求めている表示になっているか確認しましょう。
OKを押すと、「千円」が付与された状態でも正しく計算されます。
「千円」は表示のみで、セルに入っているのは数値であるため、SUM関数が正常に動作します。
エクセルのsum関数にて計算が合わない時の対策【計算が合わない:オートSUMの計算が合わない:足し算で0になる:文字列が原因】
下記サンプルではDATAとして用意されたd1~d5の合計値を求めようとしています。
SUM関数の参照先も間違っていませんし、単位等も付与していないので正しく計算されるはずですが、そうはなっていません。
セルの中身を確かめてみましょう。
F2を押すとセルを編集状態にすることができますが、よく見ると、1の後ろに何かがいるのがわかります。
実はこの見えない文字の正体は「タブ文字」です。
CSVファイルなどの他のファイルからデータをインポートした時にこのようなことが発生する場合があります。
この場合は区切り位置指定ウィザードで解決可能です。
リボンより「データ」–「区切り位置」をクリックします。
下記ダイアログにて「コンマやタブの区切り文字…」にチェックを入っていることを確認し、完了を押します。
これにより、「(数値)(タブ文字)」となっていたものはそれぞれ別のセルに格納されることになり、数値とみなされるようになったセルに対し、SUM関数は所定の動作をするようになります。
まとめ エクセルで足し算合計が合わない、できない、0になる時の対策【文字列がなど】
この記事では「エクセルのsum関数にて計算が合わない時の対策【計算が合わない:オートSUMの計算が合わない:足し算で0になる:文字列が原因】」について解説しました。
「正しく計算されない」には必ず理由があり、かつ解決方法があります。
この記事で述べてきた事例を知識として蓄積していくことで、少々のトラブルでは動じない頼もしい人材になることができるでしょう。
コメント