- 数値が文字列として表示されているので、並べ替えがうまくいかない
- 「0123」と表示させたいが、頭のゼロが消えるため文字列に変換したい
このようなお悩みをお持ちですか?
この記事を読むことで、文字列と数値を相互変換する方法がわかり、上記の悩みが解消されます。
-著者情報-
名前:Utatane
Excel使用歴:15年以上
ひとこと:初心者だった当時に戻った気持ちになって解説いたします
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
実演パソコンのスペック(ソフトやバージョンによっては、表示や結果が異なる場合があります)
- OS:Windows11 Home 64bit
- Excel:Microsoft Office Home and Business 2021
Excelで文字列と数値を相互変換する方法
まずは文字列から数値へ変換する方法を解説いたします。
文字列→数値
エラーインジケーターから変換
エラーインジケーターとは、セル左上に表示される緑色の三角マークで、
入力されたデータに数式のエラーや注意すべき点があることを知らせるものです。

数値が文字列として表示されている場合、エラーインジケーターが表示される場合があります。
エラーインジケーターがあるセルを選択(範囲選択)すると、右側に△!が表示されるのでクリックします。

一覧の中から「数値に変換する」を選択します。

エラーインジケーターが解消され、文字列が数値に変換されました。

エラーインジケーターが表示されているセルなら範囲選択することで、まとめて変換できます。
VALUE関数で変換
「VALUE」は、文字列を数値に変換することができる関数です。

()内の引数に文字列が入ったセルを参照することで、数値に変換されます。
引数については下記記事をご参考ください。
セルの参照については下記記事で詳しく解説しております。
計算で変換
文字列表示となった値は、計算をすることで数値表示に変換できる場合があります。
「A1+0」や「A1*1」などのように、値を変えない計算を試してみてください。

区切り位置機能で変換
区切り位置機能は、本来セル内の文字列を分割するのに使われるのですが、文字列を数値に変換することもできます。
変換したいセルを選択したら、上部メニューの「データ」→「区切り位置」をクリックします。

何もせず、「完了」をクリックします。

選択したセルが数値に変換されました。

数値→文字列
ここからは、数値を文字列に変換する方法を紹介いたします。
表示形式を「文字列」に変更
文字列に変換したいセルを選択したら、上部メニューの「ホーム」→「標準」右の「v」をクリックします。

一覧の中から「文字列」を選択します。

表示形式が「文字列」に変更されました。

これで「0123」などと入力しても先頭の「0」は消えません。

「’」を先頭に追加
数値の先頭に「’(クォーテーション)」をつけることで、文字列に変換することができます。

「&””」で変換
セルの数値に「&””」を付けることで、文字列に変換できます。
例えばB1セルに「=A1&””」と入力すると、A1セルの数値が文字列になってB1セルに表示されます。

TEXT関数で変換
TEXT関数を使うことで数値を文字列に変換できます。

()内の引数に「セル名」と「表示形式」を指定してください。
ゼロの数は桁数を表しています。
通常は1桁の「”0″」でOKですが、「”0000″」とすることで「0123」や「0001」など、先頭にゼロを表示させることができます。

文字列と数値を判別する方法
ここからは、セルの値が数値なのか文字列なのかを判別する方法を紹介いたします。
目視で判別
数値が文字列として扱われている場合、エラーインジケーター(セル左上の三角系)が表示されます。

また、左寄せで表示されている数値は、文字列として扱われている可能性が高いですが、書式設定にもよるので目視での判別は困難です。
そんなときは、次項の関数を使ってみてください。
ISNUMBER関数で判別
ISNUMBER関数は、()内の引数に指定した値が数値なら「TRUE」を、文字列なら「FALSE」を返してくれます。

ISTEXT関数で判別
ISTEXT関数は、()内の引数に指定した値が文字列なら「TRUE」を、数値なら「FALSE」を返してくれます。
(ISNUMBER関数とは逆)

よくあるトラブルと解決法
先頭の0が消える
「0123」などと表示したいのに、「123」というように先頭の「0」が消えてしまう場合は、数値を文字列に変換する必要があります。
数値→文字列の項を参考に、状況に合った方法をお試しください。
CSVを読み込むと先頭の0が消える
CSVを通常に開いたり読み込んだりすると、文字列として保存していた「0123」なども数値として扱われ、先頭の0が消える場合があります。
以下の手順を実行することで、0を表示させることができます。
新しく作成したExcelファイルを開いたら、上部メニューの「データ」→「テキストまたはCSVから」をクリックします。

開きたいCSVを選択し、「インポート」をクリックします。

CSVファイルの中身が表示されますので、右下「データ変換」をクリックします。

「Power Queryエディター」が表示されますので、先頭の0を保持したい列の左上「123」をクリックします。
「123」ではなく「ABC」と表示されていれば、そのままこちらまでスキップしてください。

一覧の中から「テキスト」を選択します。

「列タイプの変更」画面が表示されますので、「現在のものを置換」をクリックします。

「123」が「ABC」に変わったら、「閉じて読み込む」をクリックします。

これで先頭の0を保持することができました。

長い桁の数値である「1.2E+14」なども回避することができます。
最後に
Excelで文字列と数値を相互変換する方法について解説いたしました。
当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
少し難易度は上がりますが、VBA(マクロ)を使うことで、自動的に変換を行うことができます。
また、さらに難易度は上がりますが、Python(openpyxl)の力を借りれば、一瞬で変換を終わらせることができます。
さらなる時短を手に入れたい場合は、ご活用ください。
これら記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!