数字を入力したのに、SUMで足しても「0」のまま——それは、その数字がExcelに「文字列(文字あつかい)」として保存されているサインです。結論から言うと、次の3つのどれかで、たいてい今すぐ直せます。
- 緑の三角マークで一括変換:セルを選ぶ→左に出る
!マークをクリック→「数値に変換する」を選ぶ。 - 区切り位置で数値化:列を選択→[データ]→[区切り位置]→そのまま[完了]。列まるごと数値に戻ります。
- 数式で変換:空いたセルに
=VALUE(A1)、または=A1*1と入力。
この記事では、40代から事務やデスクワークでExcelを使うあなたのために、「数値が文字列になって合計できない」トラブルの直し方を、コピペで動く数式つきでやさしく解説します。原因の見分け方から、逆に「文字列のまま残したい」ときの表示形式まで、つまずきやすいところを先回りで潰していきます。

なぜ合計できない? 数値なのに「文字列」扱いになる3つの原因
見た目は同じ数字でも、Excelの中では「計算できる数値」と「ただの文字」の2種類があります。文字あつかいになっていると、SUMやSUMIFで足しても無視されて0になってしまいます。まずは、なぜそうなるのか。原因は大きく次の3つです。
原因1:先頭に見えないアポストロフィ(’)が付いている
セルに '123 のように、頭にアポストロフィ(’)を付けて入力すると、Excelは「これは文字です」と判断します。このアポストロフィは画面には表示されません。他のシステムからコピペしたデータや、csvを開いたときに、知らないうちに付いていることがよくあります。
原因2:セルの「表示形式」が文字列になっている
セルの表示形式(セルの書式)が「文字列」に設定されていると、あとから数字を入れても文字あつかいのまま計算されません。伝票番号や社員番号を扱うシートで、あらかじめ文字列に設定されていたセルに、うっかり金額を入れてしまったときなどに起こります。
原因3:前後に空白や全角文字が混じっている
数字の前後にスペースが入っていたり、123 のように全角で入力されていると、Excelはうまく数値と認識できないことがあります。Webサイトや基幹システムからコピーした値に、目に見えない空白(改行やタブ)が混ざっているのもよくある落とし穴です。
見分け方:3秒でできるチェック
そのセルが文字列かどうかは、次の3つで見分けられます。
- 左寄せになっている:Excelは数値を自動で右寄せ、文字を左寄せにします。何もしていないのに数字が左に寄っていたら文字列のサインです。
- セルの左上に緑の三角マークが出ている:「数値が文字列として保存されています」というExcelからの注意サインです。
=ISNUMBER(A1)がFALSEを返す:一番確実な方法です。空いたセルに入れて、TRUEなら数値、FALSEなら文字列です。
いちばん速い直し方:緑の三角マークで一括変換
緑の三角マーク(エラーインジケータ)が出ているなら、これが最短ルートです。マウス操作だけで、数式もいりません。
- 直したいセルをまとめて選択します(列見出しをクリックして列ごと選んでもOK)。
- 選択範囲の左上に出るビックリマーク(
!)をクリックします。 - メニューから「数値に変換する」を選びます。
これだけで、選んだセルが一気に数値へ変わり、緑の三角も消えます。直したあとに、となりのセルで =SUM(範囲) を計算し直せば、今度はきちんと合計されるはずです。
もし緑の三角マークが表示されない場合は、[ファイル]→[オプション]→[数式]→「文字列形式の数値、またはアポストロフィで始まる数値」にチェックが入っているか確認してください。ここがオフだと、注意マークが出ない設定になっています。
列まるごと直す:区切り位置ウィザードで数値化
緑の三角が出ない、あるいは大量のデータをまとめて直したい——そんなときに、実はいちばん頼りになるのが「区切り位置」です。本来はデータを分割する機能ですが、列を数値へ戻す裏ワザとしてとても優秀です。手順はかんたんです。
- 直したい1列を選択します(区切り位置は1列ずつが基本です)。
- [データ]タブ →[区切り位置]をクリックします。
- ウィザードが開いたら、何も変えずに[次へ]→[次へ]→[完了]を押すだけ。
これで、その列の文字列が一括で数値に変換されます。先頭のアポストロフィも、文字列の表示形式も、余分な空白も、まとめてリセットされるのが強みです。「緑の三角を1つずつ消すのが面倒」というときは、この方法がいちばん速くて確実です。
csvを開いたら数字が文字列だった、を防ぐ
基幹システムや会計ソフトから出したcsvをExcelで開くと、数字が文字列になっていることがよくあります。原因は、csvの中で数字がクォートで囲まれていたり、先頭に空白が入っていたりするためです。開いたあとに直すなら、これまで紹介した「区切り位置」や「=VALUE()」でそのまま数値化できます。
そもそも文字列にならないように取り込みたいときは、ダブルクリックで開くのではなく、[データ]タブ→[テキストまたはCSVから]で読み込むのがおすすめです。読み込み時のプレビュー画面で、各列のデータ型を「整数」や「10進数」に指定できるので、最初から数値として取り込めます。毎月同じ形式のcsvを扱うなら、この方法にしておくと、あとから直す手間そのものがなくなります。
数式で直す:VALUE・掛け算・TRIMのコピペ集
元データはさわらず、別のセルで数値化したいときは数式が便利です。そのままコピペして、A1 の部分をあなたのセルに変えて使ってください。
基本:文字列を数値に変える
いちばんシンプルなのが VALUE 関数です。文字あつかいの数字を、計算できる数値に変換します。
=VALUE(A1)
じつは、1を掛ける・0を足すだけでも同じ効果があります。Excelが「計算しよう」として、自動的に数値へ変換してくれるからです。
=A1*1
=A1+0
=--A1
最後の =--A1(マイナスを2つ)は、慣れると一番速い書き方です。マイナスのマイナスでプラスに戻るので、値はそのままで数値化だけができます。
空白や改行が混じっているとき
前後の空白や、見えない改行・タブが原因の場合は、TRIM と CLEAN で掃除してから数値化します。TRIM は余分なスペース、CLEAN は印刷できない文字(改行など)を取り除く関数です。
=VALUE(TRIM(CLEAN(A1)))
全角の数字が混じっているときは、JISではなくASC関数で半角に直してから数値化します。
=VALUE(ASC(A1))
変換した結果を「値」で貼り直す
数式で数値化できたら、その列をコピーし、元の列に[形式を選択して貼り付け]→[値]で貼り直すと、数式なしのきれいな数値表になります。これで、変換用に作った作業列は削除できます。数式のまま残すと、元データを消したときに一緒に消えてしまうので、実務では「値で貼り直し」までをワンセットにすると安心です。

逆に「文字列のまま残したい」ときの表示形式の使い分け
数値化がいつも正解とは限りません。先頭の0を消したくない場合は、あえて文字列のままにしておく必要があります。代表的なのが次のようなデータです。
- 電話番号:
090...の先頭0が、数値だと消えてしまう。 - 郵便番号・社員番号・伝票番号:
001のような桁ぞろえを保ちたい。 - 製品コード:数字と記号が混ざっていて、計算はしない。
こうした「計算しない数字」は、先にセルの表示形式を「文字列」に設定してから入力すると、先頭0もそのまま残せます。[ホーム]タブの表示形式ボックスで「文字列」を選ぶか、右クリック→[セルの書式設定]→[表示形式]→[文字列]で設定します。
ポイントは、「そのデータで足し算・引き算をするか?」で判断すること。合計や計算をするなら数値に、番号として並べるだけなら文字列に。この使い分けを覚えておくと、「なぜか合計できない」も「先頭0が消えた」も、どちらも防げるようになります。
それでも合計が合わないときは
文字列を数値に直したのに、まだ合計が合わない——そんなときは、原因が別のところにあるかもしれません。非表示の行が集計に含まれていたり、SUMの範囲がずれていたり、行の挿入で式が追従していなかったり。合計が合わない・ずれるときの原因は、次の記事で7つのパターンに分けて切り分けられます。あわせてどうぞ。

「特定の条件に合う行だけ合計したい」なら、SUMIF・SUMIFSの出番です。文字列トラブルを直したあとの、次の一歩に。

まとめ:文字列トラブルは、原因さえ分かれば怖くない
「数字なのに合計できない」の正体は、ほとんどが「数値が文字列になっている」ことです。直し方は、次の3つを覚えておけば十分です。
- 今すぐ直す:緑の三角マーク →「数値に変換する」。列ごとなら[データ]→[区切り位置]→[完了]。
- 数式で直す:
=VALUE(A1)か=A1*1。空白まじりは=VALUE(TRIM(CLEAN(A1)))、全角は=VALUE(ASC(A1))。 - あえて残す:電話番号や先頭0は、表示形式を「文字列」にしてから入力。
迷ったら、まず =ISNUMBER(セル) で「数値か文字列か」を確かめる。原因が分かれば、直し方は必ず見つかります。
Excelのトラブルは、ひとつ解決するたびに「あ、こういうことか」と腑に落ちていくものです。今日この「文字列の直し方」を覚えたあなたは、もう昨日のあなたより一歩前に進んでいます。焦らなくて大丈夫。あなたのペースで、一緒に一歩ずつ進んでいきましょう。
表をもっと自由に組みたくなったら、参照系の関数「INDIRECT」もおすすめです。


コメント