数字を合計したのに、結果が「0」になる。並べ替えをしたら、順番がおかしい。そんなときは、セルの数字が、数値ではなく、文字列として入力されている可能性があります。見た目は同じ数字でも、文字列のままでは、計算に使えません。
この記事では、文字列の数字を、数値に変換する4つの方法を、図解で説明します。あわせて、文字列になっているかを見分ける方法と、変換してもうまくいかないときの原因も、まとめます。
文字列になっているかを見分ける方法
数値と文字列は、見た目だけでは、区別しにくいことがあります。次の特徴があれば、文字列として入力されている可能性が高いです。
| 見分けるポイント | 数値の場合 | 文字列の場合 |
|---|---|---|
| セルの中の位置 | 右に寄る | 左に寄る(配置を変えていない場合) |
| セルの左上 | 何も出ない | 緑色の三角が出ることがある |
| 合計(SUM関数) | 数字が足される | 無視されて、0になる |
| 「ホーム」タブの表示形式 | 「標準」や「数値」 | 「文字列」 |
「表示形式」が「標準」でも、数字の前に、アポストロフィ(’)がついていたり、全角の数字になっていたりすると、文字列として扱われます。
方法1|緑の三角から、まとめて数値に変換する
手順1|数値に変換したいセルの範囲を選ぶ

手順2|選んだ範囲の左上、または隣に表示される、黄色い「!」のボタンをクリックする

手順3|メニューから「数値に変換する」を選ぶ

選んだ範囲の文字列が、すべて数値に変わります。最も手軽な方法で、数が多いときも、一度に変換できます。緑の三角が、セルの左上に出ているときに、使えます。

方法2|「区切り位置」で、まとめて変換する
緑の三角が出ていないときは、「区切り位置」の機能を使います。もともとは、文字を区切る機能ですが、変換だけを行って、完了すると、数値に変わります。
手順1|数値に変換したい列を、列番号をクリックして選ぶ

手順2|「データ」タブをクリックして、「区切り位置」をクリックする

手順3|「区切り位置指定ウィザード」の画面で、そのまま「完了」をクリックする

選んだ列の文字列が、数値に変換されます。1列ずつしか実行できないので、複数の列を変換したいときは、列ごとに行います。
方法3|VALUE関数で、数値に変換する
VALUE(バリュー)関数は、文字列の数字を、数値に変換する関数です。元のデータを残したまま、別のセルに、数値に変換した結果を、入れたいときに使います。
=VALUE(A2)
A2に入っている文字列の数字が、数値に変わります。変換した結果を、別のセルに表示するので、元のデータは変わりません。変換したあとの数値を、そのまま使いたいときは、結果をコピーして、「値」で貼り付けます。
「=A2*1」や「=A2+0」のように、数式で計算しても、数値に変換できます。VALUE関数と同じ結果になります。
方法4|貼り付けの「乗算」で、まとめて変換する
手順1|空いているセルに「1」と入力して、そのセルをコピーする(Ctrl+C)

手順2|数値に変換したいセルの範囲を選ぶ

手順3|選んだ範囲の上で、右クリックして、「形式を選択して貼り付け」を選ぶ

手順4|「乗算」を選んで、「OK」をクリックする

選んだ範囲のすべてが、「1」を掛けた値になり、数値に変換されます。数式を使わずに、元のセルを、そのまま変換できるのが利点です。作業が終わったら、「1」を入力したセルは、削除します。
| 方法 | 手軽さ | 元のセルを残せる? | 向いている場面 |
|---|---|---|---|
| 緑の三角 | いちばん手軽 | 残せない(上書き) | 緑の三角が出ているとき |
| 区切り位置 | 手軽(列ごと) | 残せない(上書き) | 緑の三角が出ていないとき |
| VALUE関数 | 少し手間 | 残せる(別のセルに出す) | 元のデータを、残したいとき |
| 貼り付けの乗算 | 少し手間 | 残せない(上書き) | セルの範囲が、飛び飛びのとき |
変換してもうまくいかないときの原因
上の方法で変換しても、数値にならないときは、数字以外の文字が、混ざっていないかを、確認します。
| 原因 | 見分け方 | 対処 |
|---|---|---|
| 全角の数字 | 数字が、横に広く見える | ASC関数で、半角にする。「=VALUE(ASC(A2))」 |
| 前後のスペース | 文字の前後に、空白がある | TRIM関数で、スペースを取り除く。「=VALUE(TRIM(A2))」 |
| 見えない文字(改行など) | セルの中で、改行されている | CLEAN関数で、取り除く。「=VALUE(CLEAN(A2))」 |
| 桁区切りの全角カンマ | 「1,000」のように、全角のカンマが入っている | 置換で、全角のカンマを消す |
| 単位がついている | 「280円」のように、文字が入っている | 置換で、「円」を消してから、変換する |
文字が混ざっているときは、VALUE関数だけでは、エラー(#VALUE!)になります。TRIM関数や、ASC関数と、組み合わせて、変換します。
表示形式を「文字列」にしているとき
セルの表示形式が、「文字列」になっていると、あとから数字を入力しても、文字列として扱われます。その場合は、先に表示形式を変えてから、入力し直します。
手順1|対象のセルの範囲を選ぶ

手順2|「ホーム」タブの「数値の書式」で、「標準」を選ぶ

手順3|数字を、もう一度入力し直す(または、セルをダブルクリックして、Enterキーを押す)

表示形式を、「標準」に変えただけでは、すでに入力した文字列は、数値に変わりません。セルを編集状態にして、確定する操作が必要です。
もう一歩進める|文字列と数値の応用
数値を、文字列に変換する
逆に、数値を、文字列にしたいときは、TEXT関数を使います。「=TEXT(A2,”0″)」のように書くと、数値が文字列になります。電話番号や、郵便番号のように、先頭の0を、残したいときに、便利です。
数値かどうかを、判定する
セルが、数値なのか、文字列なのかを、調べたいときは、ISNUMBER関数を使います。「=ISNUMBER(A2)」と書くと、数値のときは「TRUE」、文字列のときは「FALSE」と表示されます。
緑の三角を、表示しないようにする
緑の三角が、気になるときは、「ファイル」→「オプション」→「数式」の、「エラーチェック」で、設定を変えられます。「文字列形式の数値、またはアポストロフィで始まる数値」のチェックを外すと、三角が出なくなります。
文字列と数値の変換に関するよくある質問
変換すると、先頭の「0」は消えますか?
消えます。数値に変換すると、「001」は「1」になります。先頭の0を残したいときは、変換せず、文字列のままにするか、表示形式の「ユーザー定義」で、桁数をそろえます。
電話番号を、数値に変換してもいいですか?
おすすめしません。電話番号は、計算に使わず、先頭の0が必要なので、文字列のままにしておきます。
あわせて読みたい:エクセルで掛け算をする方法
まとめ
- 合計が0になる、並べ替えがおかしいときは、数字が文字列になっている
- 緑の三角があれば、「数値に変換する」でまとめて変換できる
- 緑の三角がなければ、「区切り位置」か、貼り付けの「乗算」
- 元のデータを残したいときは、VALUE関数
- うまくいかないときは、全角、スペース、見えない文字がないかを確認する


コメント