Excelで作業していて、「見た目は数字なのに合計されない」「SUMしても0になる」といった経験はありませんか。その原因の多くは、セルの中身が「数値」ではなく「文字列」として扱われていることにあります。特に、Webサイトや基幹システムからコピペしたデータ、CSVを取り込んだデータで頻繁に起こるトラブルです。
この記事では、文字列として入ってしまった数字をまとめて数値に変換する4つの方法を、それぞれの向いている場面とあわせて紹介します。マウス操作だけで終わる初心者向けの手軽なワザから、大量データを一瞬で処理する実務向けのテクニックまで網羅しているので、自分のケースに合った方法がきっと見つかります。
▲ Excel サンプル
そもそもなぜ「文字列の数字」になるのか
Excelでは、セルの左上に緑色の三角マーク(エラーインジケーター)が表示されていたり、数字がセルの左寄せになっていたりする場合、その数字は文字列として認識されています。通常、数値は右寄せで表示されるので、この左寄せ・右寄せの違いが見分けるポイントです。
文字列のままだと、SUM関数で合計できなかったり、並べ替えが正しくできなかったり、VLOOKUPで一致しなかったりと、さまざまな不具合の原因になります。だからこそ、早めに数値へ変換しておくことが大切です。
迷ったときの早見表
まずは自分の状況に合う方法を選びましょう。
| こんなときは | おすすめの方法 |
|---|---|
| とにかく簡単に済ませたい(初心者) | 方法1:エラーマークから変換 |
| エラーマークが出ない・大量データ | 方法2:形式を選択して貼り付け |
| 数式で柔軟に処理したい | 方法3:VALUE関数 |
| 1列まるごと高速で処理したい | 方法4:区切り位置ウィザード |
方法1:エラーマークから一括変換する(最も手軽)
こんな人向け:マウス操作だけで手早く済ませたいExcel初心者
もっとも簡単なのが、Excelの機能をそのまま使う方法です。
なお、セル左上の「緑色の三角マーク」はエラーインジケーターと呼ばれる目印で、範囲を選択すると、その近くに操作用の黄色い警告ボタン(!マーク)が現れます。クリックするのはこの警告ボタンです。
- 変換したい数字のセル範囲をすべて選択します
- 選択範囲の近くに表示される「!」マーク(警告ボタン)をクリックします
- メニューから「数値に変換する」を選びます
これだけで、選択したセルの文字列数字がすべて数値に変わります。マウス操作だけで完結するため、初心者にもっともおすすめの方法です。
ただし、警告ボタンが表示されない場合(設定でオフにしている、緑三角が出ないケース)にはこの方法が使えません。その場合は次の方法を試してください。
方法2:「形式を選択して貼り付け」で演算する
こんな人向け:エラーマークが出ない大量データを一気に処理したい人
エラーマークが出ないときに便利なのが、「形式を選択して貼り付け」で加算・乗算を利用するテクニックです。原理は「文字列に0を足す(または1を掛ける)と、Excelが自動的に数値として計算する」というものです。
- 空いているセルに「1」と入力し、そのセルをコピーします
- 変換したい数字の範囲を選択します
- 右クリックして「形式を選択して貼り付け」を開きます
- 「演算」の項目で「乗算」を選び、OKをクリックします
すると、範囲内の数字がすべて「1を掛けた結果」=数値に変換されます。最後に、入力した「1」のセルは削除して構いません。
この方法は大量のデータでも一瞬で処理でき、実務でも非常によく使われます。ひとつ注意したいのは、選択範囲に文字列の見出し(項目名)を含めないことです。数値化できない見出しが混じると「#VALUE!」エラーになってしまうため、変換対象の数字だけを選ぶのがコツです。
方法3:VALUE関数で数値化する
こんな人向け:数式を使って柔軟に、元データを残したまま変換したい人
数式を使って変換したい場合は、VALUE関数が便利です。文字列を数値に変換する専用の関数です。
例えばA2セルに文字列の数字が入っている場合、隣の空きセルに次のように入力します。
=VALUE(A2)
あとはこの数式を下方向にコピーすれば、列全体を一気に変換できます。変換後の値を元の列に戻したいときは、数式セルをコピーして、「値の貼り付け」で上書きすればOKです。
VALUE関数は全角の数字も数値に変換してくれますが、単位や余計な空白、パーセントや日付のような特殊な表記が混じった文字列だとエラーになることがあります。その場合は、後述のTRIM関数やSUBSTITUTE関数と組み合わせると、より確実に変換できます。
方法4:区切り位置ウィザードを使う
こんな人向け:1列まるごとを数秒でまとめて数値化したい人
意外と知られていませんが、「区切り位置」機能を使うと1列まるごとをスピーディに数値化できます。本来はデータを分割する機能ですが、分割せずにそのまま「完了」を押すだけで、型の変換だけが走る仕組みを利用します。
- 変換したい数字が入った1列を選択します
- リボンの「データ」タブ →「区切り位置」をクリックします
- ウィザードが開くので、そのまま「次へ」→「次へ」と進みます
- 最後の画面で「完了」をクリックします
これで、選択列の文字列数字がすべて数値に変換されます。設定を何も変えず「完了」を押すだけなので、慣れると数秒で終わります。1列単位でまとめて処理したいときに最適です。
変換前に空白や記号を取り除くコツ
数字の前後に半角・全角スペースが入っていたり、「1,000円」のように単位が付いていたりすると、上記の方法でもうまく変換できないことがあります。
そんなときは、まずTRIM関数で余分なスペースを削除したり、SUBSTITUTE関数で「円」や「,」を空文字に置き換えたりしてから、VALUE関数で数値化するとスムーズです。
=VALUE(SUBSTITUTE(SUBSTITUTE(A2,"円",""),",",""))
このように関数を組み合わせれば、単位付きの文字列でも一括で数値に変換できます。
まとめ
文字列として入った数字を数値に変換する方法を4つ紹介しました。
- 方法1:エラーマークから変換 → もっとも手軽
- 方法2:形式を選択して貼り付け(乗算)→ 大量データに強い
- 方法3:VALUE関数 → 数式で柔軟に処理
- 方法4:区切り位置ウィザード → 1列を高速処理
迷ったらこの2つを覚えておけば十分です。ちょっとした修正なら初心者は方法1、日々の実務で大量データを扱うなら方法2が頼りになります。
状況に応じて使い分ければ、「合計できない」「並べ替えできない」といったトラブルから解放されます。データの前処理はExcel作業の基本です。ぜひ今回の方法をマスターして、日々の集計作業を効率化してください。
関連記事
- Excel「形式を選択して貼り付け」値のみで数式が壊れないコツ|3つの必須ワザ
- Excelで書式変更が反映されない!原因別に一括で直す3つの方法
- Excelで時間を15分・30分単位で丸める方法|切り上げ・切り捨て(CEILING/FLOOR)
- Excel給与計算で「400円」になる謎を解決|時給×勤務時間の正しい数式
- 【コピペOK】Excel勤怠表の作り方|出退勤を入れるだけで残業時間が自動計算
あわせてチェック
この記事を読んだ方におすすめ
現場で役立つタブレット&Excelデータ連携・活用ガイド 入力業務を10倍効率化… ¥2,618
立山秀利/著本詳しい納期他、ご注文時はご利用案内・返品のページをご確認ください出版社名翔泳社出版年月2016年05月サイズ271P 24cmISBNコード9784798143477コンピュータ アプリ…
楽天市場で詳細を見る → 現場で役立つタブレット&Excelデータ連携・活用ガイド 入力業務を10倍効率化…