Excelでセルに値を入力していると、数値が文字列として入力されたり、文字列が数値として入力されてしまうケースがあります。データの型が正しくないと、整列時やフィルター使用時、関数使用時に問題が発生する原因になります。
Excelには、数値と文字列を変換する様々な機能や関数が用意されており、簡単な操作で一括でデータの型を変換することができます。
本記事では、Excelで数値を文字列する方法、文字列を数値に変換する方法について詳しく紹介します。内容の手順は、Excel2016/2019を想定しています。
この記事の内容
数値を文字列に変換する方法
数値が入力されているセルの値は、以下の方法で文字列に変換することができます。一括で数値に変換したい場合は、『方法2: TEXT関数で変換する』以降の方法を参考にしてください。
方法1: セルの先頭にアポストロフィーを追加する
数値の先頭にアポストロフィー(')を追加すると、数値が文字列として入力されます。この方法は一括で変換することはできませんが、修正箇所が少ない時に便利です。
- 数値セルをクリックし、値を入力できる状態にします。
- 数式バーで数値の先頭をクリックし、アポストロフィー(')を追加します。
1234567 → '1234567
- アポストロフィーは、一般的な日本語キーボードであれば「Shift」キーを押しながら「7」を押すと入力できます。
- 電話番号などの先頭が0の値の場合は、数値で入力していると先頭の0が消えてしまいます。文字列として修正する場合は、数値の手前に「'0」を入力してください。
- Enterキーを押して操作を確定すると、文字列として入力されます。
- 文字列に変換された場合は、セルの左上に三角マークが付きます。
- 文字列に変換された場合は、セルの左上に三角マークが付きます。
方法2: TEXT関数で変換する
TEXT関数を使用することで、セルの数値を文字列に変換することができます。TEXT関数は、単純に文字列に変換するだけでなく、単位や表示桁数等を設定できるのが特徴です。
TEXT関数を使用して、既に入力済みの数値を文字列に変換するには、以下の手順で操作します。
- 数値セルの右隣の列の「見出し(B,C...)」を右クリックし「挿入」を選択して、新しい空白列を追加します。
- 既に右隣の列が空白行の場合は、この操作は必要ありません。
- 追加した空白列に、TEXT関数の数式を数値セルを指定して入力します。
=TEXT(数値セル, "@")
- 数値セルがA1にある場合は、「=TEXT(A1, "@")」と入力します。
- 数値を直接指定して、「=TEXT(100, "@")」のように入力することもできます。
- 数式を入力できたらEnterキーを押すと、空白セルに文字列に変換された値が表示されます。
- 数値セルが複数ある場合は、数式を入力したセルの右下の端を下方向にドラッグして列全体にコピーします。
- または、数式を入力したセルを右クリックして「コピー」して貼り付けることでも同様の操作ができます。
- 空白列に全ての数値セルを文字列に変換した値が表示されます。
- この状態で文字列として表示されますが、入力した値は数式になっています。入力した値自体を文字列に変換したい場合は、続けて以降の操作を行ってください。
- 文字列に変換したセル全体をドラッグで選択し、右クリックして「コピー」を選択します。
- 選択中のセルを再度右クリックして「形式を選択して貼り付け」を選択します。
- 「値」を選択して「OK」をクリックします。
- 選択中のセルの値が文字列に置き換わります。
TEXT関数の@の部分を書き換えることで、任意の書式を指定して数値を文字列に変換することもできます。書式等の詳しい情報については、以下の公式ヘルプを参照してください。
方法3: 文字列と連結して変換する
数値を連結演算子(&)を使って空白の文字列("")と連結することで、文字列に変換することもできます。
また、文字列のゼロ("0")と連結することで、先頭の0が消えてしまった電話番号などの値を補完して変換することもできます。
数値を文字列と連結して変換する具体的な手順は、以下の通りです。
- 数値セルの右隣の列の「見出し(B,C...)」を右クリックし「挿入」を選択して、新しい空白列を追加します。
- 既に右隣の列が空白行の場合は、この操作は必要ありません。
- 追加した空白列に、空の文字列と数値セルを連結する数式を入力します。
=""&数値セル
- 数値セルがA1にある場合は、「=""&A1」と入力してます。
- 文字列の0と連結する場合は、「="0"&A1」と入力します。
- 数値セルが複数ある場合は、数式を入力したセルの右下の端を下方向にドラッグして列全体にコピーします。
- または、数式を入力したセルを右クリックして「コピー」して貼り付けることでも同様の操作ができます。
- 空白列に全ての数値セルを文字列に変換した値が表示されます。
- この状態で文字列として表示されますが、入力した値は数式になっています。入力した値自体を文字列に変換したい場合は、続けて以降の操作を行ってください。
- 文字列に変換したセル全体をドラッグで選択し、右クリックして「コピー」を選択します。
- 選択中のセルを再度右クリックして「形式を選択して貼り付け」を選択します。
- 「値」を選択して「OK」をクリックします。
- 選択中のセルの値が文字列に置き換わります。
方法4: 区切り位置指定ウィザードを使って変換する
数値を文字列に修正する箇所が多い場合は、区切り位置指定ウィザードを使うと選択範囲の列を一括で文字列に変換できます。
区切り位置指定ウィザードを使って数値を文字列に変換するには、以下の手順で操作します。
- 変換したい列の「見出し(A,B...)」をクリックするか、変換したいセルをドラッグして選択状態にします。
- ただし、複数の列にまたがって選択することはできません。例えばA列とB列を文字列に変換したい場合は、それぞれの列を変換す必要があります。
- 列またはセルを選択したら、ウィンドウ上部にある「データ」タブを開きます。
- リボンメニュー内にある「区切り位置」をクリックします。
- 区切り位置指定ウィザードウィンドウが表示されたら、「次へ」をクリックします。
- もう1度「次へ」をクリックします。
- 「列のデータ形式」を「文字列」に変更して「完了」をクリックします。
- 選択したセルの数値がすべて文字列に変換されます。
方法5: セルの書式設定を変更する
数値セルを文字列の書式で表示したい場合は、セルの書式設定を変更する方法が簡単です。セルが未入力の状態であれば、セルの書式設定を変更することで数値を文字列として入力できるようになります。
セルの書式設定を文字列に変更するには、以下の手順で操作します。
- 数値セルをクリックして選択するか、複数の数値セルをドラッグで選択します。
- 選択したセルを右クリックして「セルの書式設定」を選択します。
- 「表示形式」タブを開き、左のリストから「文字列」を選択して「OK」をクリックします。
- セルの書式設定が文字列に変更されます。
ただし、この方法は既にセルに入力済みの数値を文字列に変換することはできない点に注意してください。書式設定を変更すると、数値が左側に整列されて見た目上は文字列に変わりますが、セルの左上に三角のマークが表示されないため文字列に変換されていないことがわかります。
入力済みの数値自体を文字列に変換したい場合は、別の方法で変換してください。
文字列を数値に変換する方法
文字列が入力されているセルの値は、以下の方法で数値に変換できます。全ての方法で、数値を一括で変換することができます。
方法1: 数値に変換する機能を使う
文字列セルの左上に三角のマークが表示されている場合は、「数値に変換する」を選択すれば簡単に数値へ変換できます。具体的な手順は、以下の通りです。
- 「三角マークの付いている文字列セル」をクリックして選択します。
- 修正したいセルが複数ある場合は、ドラッグで対象のセルの範囲を選択してください。
- セルの近くに表示される「黄色のビックリマーク」をクリックします。
- メニューが表示されたら「数値に変換する」を選択します。
- セルの値が文字列から数値に変換されます。
文字列セルの左上に三角マークが表示されない場合は、以下の設定を確認してください。
- ウィンドウ左上にある「ファイル」をクリックします。
- 画面左下の「その他」→「オプション」をクリックします。
- Excelのオプションウィンドウが表示されたら、左ペインの「数式」を選択します。
- 右ペインで、「エラーチェック」グループの中にある「バックグラウンドでエラーチェックを行う」にチェックを入れて、「無視したエラーのリセット」をクリックします。
- 「OK」ボタンをクリックしてオプションウィンドウを閉じます。
以上の設定で、文字列セルに三角マークが表示されます。設定を行なっても三角マークが表示されない場合は、他の変換方法を試してください。
方法2: VALUE関数で変換する
VALUE関数を使って文字列を数値に変換できます。VALUE関数は、「%」や「時間」等の単位が付いた数値を変換したい時に便利です。
VALUE関数を使って文字列を数値に変換するには、以下の手順で操作します。
- 数値セルの右隣の列の「見出し(B,C...)」を右クリックし「挿入」を選択して、新しい空白列を追加します。
- 既に右隣の列が空白行の場合は、この操作は必要ありません。
- 追加した空白列のセルに、VALUE関数で文字列セルを指定した数式を入力します。
=VALUE(文字列セル)
- 文字列セルが複数ある場合は、数式を入力したセルの右下の端を下方向にドラッグして列全体にコピーします。
- または、数式を入力したセルを右クリックして「コピー」して貼り付けることでも同様の操作ができます。
- 空白列に全ての文字列セルを数値に変換した値が表示されます。
- 入力した値自体を数値に変換したい場合は、続けて以降の操作を行ってください。
- 文字列に変換したセル全体をドラッグで選択し、右クリックして「コピー」を選択します。
- 選択中のセルを再度右クリックして「形式を選択して貼り付け」を選択します。
- 「値」を選択して「OK」をクリックします。
- 選択中のセルの値が数値に置き換わります。
方法3: 1で乗算して変換する
セルの文字列を「形式を選択して貼り付け」の機能を使って1で乗算することで、簡単に数値に変換することもできます。
この方法で文字列を数値に変換するには、以下の手順で操作してください。
- 使用していない適当なセルに「1」と入力します。この1は数値として入力してください。
- 「1」を入力したセルを右クリックして「コピー」を選択します。
- 文字列セルをクリックして選択するか、ドラッグして範囲で選択します。
- 選択範囲を右クリックして、「形式を選択して貼り付け」を選択します。
- 「演算」の設定で「乗算」を選択して「OK」をクリックします。
- セルの入力内容が数値に変換されます。
方法4: 区切り位置指定ウィザードを使って変換する
区切り位置指定ウィザードを使うことで、文字列の書式設定を削除して数値に変換することができます。具体的な手順は、以下の通りです。
- 変換したい列の「見出し(A,B...)」をクリックするか、変換したいセルをドラッグして選択状態にします。
- 複数の列にまたがって選択することはできません。
- ウィンドウ上部の「データ」タブを開きます。
- リボンメニュー内にある「区切り位置」をクリックします。
- 区切り位置指定ウィザードが表示されたら、「次へ」をクリックします。
- もう1度「次へ」をクリックします。
- 「列のデータ形式」を「G/標準」に変更して、「完了」をクリックします。
- 選択したセルの文字列がすべて数値に変換されます。
ただし、元のセル設定によってはセルの書式設定が「文字列」のまま残ってしまうことがあります。
確認と修正のため、現在選択されているセルを右クリックし、「セルの書式設定」を選択してください。「表示形式」で「文字列」が選択されている場合は、「標準」または「数値」に変更します。
方法5: セルの書式設定を変更する
文字列セルを数値として表示したい場合は、セルの書式設定を変更します。また、未入力のセルの書式設定を変更した場合は、数値として入力できるようになります。
ただし、数値を文字列に変換する方法と同じで、この方法では既に入力してある値自体を数値に変換することはできないので注意してください。
セルの書式設定を数値に変更するには、次の手順で操作してください。
- 文字列セルをクリックして選択するか、複数の文字列セルをドラッグで選択します。
- 右クリックして「セルの書式設定」を選択します。
- 「表示形式」タブを開き、左のリストから「数値」または「標準」を選択して「OK」をクリックします。
- セルの書式設定が数値に変更されます。
以上の手順で、セルの書式設定を数値に変更することができます。