• ベストアンサー

EXCEL SUM関数で合計が違う

以前次のような質問がありました。 QNo.2266177 EXCEL SUM関数で合計値が違う場合 質問者:purepop 教えてください。 EXCELのSUM関数で合計値が違う場合があるのですが、 何が原因で起こるのでしょうか? また、どうすれば直るのでしょうか? ------------------------------------- 私も同じような現象が起こり,困ってしまい,教えてを調べましたが,上の質問には,解決に直接繋がる回答がありませんでした。 ただ,文字列セルは無視されるということです。 ところが,整数だけ入力されてセルが,どうも文字列と認識されているようなのです(セルの表示形式を小数第1位表示の数値にしても,コンマ以下が示されることなく,整数値のままでした)。 それらのセルの値は,他人からカット&ペーストでもらったものです。 数値は,上の入力エリアには,文字列「'3」ではなく,数値「3」と表示されています。 しかたなく,他のセルで当該セル*1をして,値のみ当該セルにコピーすると,小数第1次が0となる,「3.0」と表示でき,合計もただしくなりました。 質問は,このように,「'」がつかない文字列がはいてしまうのはどのようなときでしょうか。  これがわからないと,あぶなくてこまってしまいます。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

表示形式との関連は ●SUM関数では、範囲指定したセルの値が、文字列・空白・スペースのセルは、無視されます(エラーにはならない)。 ●日付のセルは、日付シリアル値の整数として加算されます。 空白 2006/12/23 3 a f 39077 =SUM(D1:D5) ●パーセント表示にしても影響は受けない。 小数点以下の桁数設定も値への影響は受けない。 ●数値を文字列に書式設定すると、文字列の扱いになり、足されない。 ●文字列数字に小数点以下桁数設定は効かない ーーー 結局、この質問の趣旨は (多分)他のエクセルファイル以外からデータ持ってきた場合、エクセルシートではシングルコーテーションが着いてないのに、文字列になるのはどういう場合でしょうか。 ということでしょう。 >質問の標題「EXCEL SUM関数で合計が違う」 を読んだときの印象と、だいぶん違う。 過去問を将来調べる方に無駄な文を読ませることになる。 ーーー アクセスからデータを持ってきたときは、テキストファイルウイザードで各gフィールドの書式設定を文字列か、数値かに正しく設定すれば、正しくなると思う。 LOTUSファイルの場合は、プレフィックスというもので、左詰めが文字の書式設定をかねていたようで、その場合はシングルコーテーションがセル(や数式バー部)に見えないのに、文字列になる(扱いになる)ようです。 =CELL("PREFIX",D1)で判るとおもう。 ーーー 対処法は1をコピーし、形式を選択して貼り付けー演算ー乗算 (または0を加算でも同じ)で同じセルで数値化できます。 もともと数値セルに対し行っても、無害、文字列セルに対しやっても無害です。

mgg02106
質問者

お礼

大変示唆に富んだ回答で,私のマナーを含めて,大変勉強になりました。ありがとうございました。 「見た目には数値セルと判別できない,数値を入れた文字列セルがあり,その場合合計が正しくなくなる」という事実は,ほとんどなにもコンピュータを知らない人に入力を頼む体制でエクセルを使っている職場では,もうパニックです。 実際,コンピュータがおかしいとパニックでした。 その意味で,質問の標題を「EXCEL SUM関数で合計が違う」としたことは,私なりに意味あることだと思うのです。 数値セルの表示とSUM関数の結果のリンクで困っているのですから <読んだときの印象と、だいぶん違う。 <過去問を将来調べる方に無駄な文を読ませることになる。 ではないような気がしますが,いかがでしょう。 よく知っている人でもエクセル生かじりばかりの集まりのド素人職場では,このようなことがいつもネックになっています。 マニュアル本でも,このあたりの実は重大な認識なのに,割と言及されていません。imogasiさんのような適切なアドバイスがいただける,このコーナーのおかげです。このことは,職場全体に流して,今後気をつけてエクセルを利用させていただきます。 ほんとうに助かりました。ありがとうございました。

その他の回答 (4)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.4

文字列を数値に変換するとき、別のセルに数式を書いてその結果を数値で移動させなくてもできます。 空いている適当なセルに”1”を入力 そのセルをコピー 数値に変換したいセルを選択(複数選択可能) 編集 → 形式を選択して貼り付け → 乗算 これでまとめて変換できますよ

mgg02106
質問者

お礼

この手法は使えそうです。ありがとうございました。

noname#204879
noname#204879
回答No.3

[ANo.2この回答へのお礼]に対するコメント、 》 ちょっと「'」がいつつくのか解らなくなりました [ツール]→[オプション]→[移行]で“Lotus 1-2-3 形式のキー操作”がチェックされている Excel で文字列を入力するとそうなります。

mgg02106
質問者

お礼

私の表計算の基本的理解は,LOTUSだったんですね。年が知れます。 私の疑問が解けました。ありがとうございます。

noname#204879
noname#204879
回答No.2

》 「'」がつかない文字列がはいてしまうのはどのようなときでしょうか 私の経験では、Access からエクスポートあるいはコピーしたデータがそのようになったことがあります。

mgg02106
質問者

お礼

さっそくにありがとうございました。 実は,わたしは,文字列を入力したときには,文字列の前に自動的に「'」がつくものだと思っていたのですが,いつもそうなることはなさそうです。 ちょっと「'」がいつつくのか解らなくなりました。 気をつけるしかないでしょうか。

noname#46899
noname#46899
回答No.1

コピー元のデータが文字列だった場合でしょう。

mgg02106
質問者

お礼

さっそくに,ありがとうございました。 実際試してみると,つぎのようなことが解りました。 文字列として入力したセルのデータは,入力後,表示形式を数値に変更しても,数値とはならない。入力したときに文字列なら,再入力しないかぎり,文字列のままである。 直すためには,*1をして,どこかに移し,もとにもどさなけらばならない。 文字列表示形式で数値を入力すると当然文字列になる。そのとき 「2」となり,決して「`2」ではないので,入力時の表示形式を知らなければ,その数値が,本当に数値なのか実は文字列なのか,わからない。 ということが解りました。 いい勉強になりました。ありがとうございました。 でも困りましたね。自分で使うときには,必ず数値表示型にして入力できますが,他人から数値データを貰ったとき不安ですね。

関連するQ&A