• ベストアンサー

エクセルで数字の文字列を計算させたくないのですが、うまく出来ません。良い方法はないでしょうか?

エクセル2003で、下記のようにセルに入力したとします。    A   B   C 1  10   20 2  11  ’21 3  13   14 4 ※B2は「’」をつけて数字の文字列として認識させています。 B4のセルに、=SUM(B1:B3)とすると、うまく34となってくれますが、 C2のセルに、=A1+B2とすると、32となってしまいます。 当方としては、B2を文字と認識してほしいので、求めている答えは11です。 数字の文字列を文字列のまま処理して、計算させない方法はあるでしょうか? 皆様、ご教授願います。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

> =A1+B2とすると、32となってしまいます 31じゃないですか? > B2を文字と認識してほしいので、求めている答えは11です。 A1が10だから、答えは10では? =A1+B2とすると、数値化できる文字列は数値とされてしまうので =SUM(A1,B2) でいかがでしょう?

4201139
質問者

お礼

早い回答ありがとうございます。 確かに文面を見ると31ですね。 本当は、=A2+B2と書きたかったんです。 混乱させてすみませんでした。 他の回答者様からも回答がありましたが「+」では、だめなんですね。 知りませんでした。SUM関数でやればよかったんですね。 問題解決です。 ありがとうございました。

その他の回答 (3)

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

+演算子を使っては出来ないでしょう。 エクセルは表計算ソフトで、数の計算は重視している。 ですから数字文字でも数値化する力は絶対的。MSはそれが良いと思ったのでしょう。そのほかに日付化の強制力も強烈。 ーー 例データ B2:B4 1 "22 "34 他のセルに =IF(ISNUMBER(B2:B4),B2:B4,0) と入れて、SHIFT+CTRL+ENTERを同時押しする。 SUMPRODUCT関数でも出来ると思う。 結果 1(B2だけ足しこみ) 上記のように難しく考えなくても、=SUM()関数を使えばよいのだが。

4201139
質問者

お礼

回答ありがとうございます。 >+演算子を使っては出来ないでしょう。 >エクセルは表計算ソフトで、数の計算は重視している。 >ですから数字文字でも数値化する力は絶対的。 知りませんでした。参考になります。 SUM関数以外でもできるんですね。 今回はSUMで処理しますが、他の機会に使ってみようと思います。 ありがとうございました。

  • Hachi5592
  • ベストアンサー率36% (252/698)
回答No.3

SUM関数では形式が文字列の場合、対象から外しますが、セル加算では 加算の対象とします。 そこで質問のC2セルには「=SUM(A1,B2)」とすれば求める値が得られます。

4201139
質問者

お礼

回答ありがとうございます。 問題解決できました。 またなにかありましたら、よろしくお願いいたします。

  • kazz_925
  • ベストアンサー率22% (2/9)
回答No.2

sum()は関数なので、文字列を除去しますが、A1+B2は演算なのでエラーとなるはずです⇒'21だと数値として扱いますが、文字そのもの(aとかb)を入れるとエラーになりますよね。 横計算もsum()等の関数を使用すれば、除去出ると思います。

4201139
質問者

お礼

回答ありがとうございます。 演算は数字文字列を除去できないんですね。 参考になります。ありがとうございました。

関連するQ&A