
Microsoft Excel でテキストとして保存された数値は、必ずしも間違っているわけではありません。例えば、数字で始まる住所(555 Town Street)はテキストとして保存されます。一方、外部ソースから受け取ったデータが数値として保存されるべきなのに、ソース側ではテキストとして保存されていることがよくあります。このような場合、データを使用する前にテキストを数値に変換する必要があります。
参照: すべてのユーザーが習得すべき Excel のヒント 83 選 (TechRepublic)
このMicrosoft Excelチュートリアルでは、テキストとして保存された数値を実数に変換する4つの簡単な方法を紹介します。4つの方法にはそれぞれ長所と短所があるので、すべて知っておくと便利です。
Windows 10 64ビット版でMicrosoft 365を使用しています。すべての問題が解決するまで、Windows 11へのアップグレードは控えることをお勧めします。ご参考までに、デモ用の.xlsxファイルと.xlsファイルをダウンロードできます。最初の方法はExcel Onlineでは機能しませんが、他の3つの方法は機能します。
1. スマートタグを使用する
図Aは、テキスト値の短いリストを示しています。数値が左揃えで先頭にゼロが付いていることから、テキストであることがすぐにわかります。「ホーム」タブの「数値」グループの「書式」設定を確認すると、これらの値はテキストであり、実数として保存されていないことがわかります。私は問題をシミュレートするために、テキスト形式を設定しました。小さな範囲を選択し、「数値」グループの「数値書式」ドロップダウンから「テキスト」を選択するだけで、テキスト形式を設定できます。
図A

個人的には、テキスト値をその場で変換してくれるスマートタグ方式が一番気に入っています。唯一の欠点は、長い値のリストを選択するのが少し面倒なことです。そこで、それを簡単にするショートカットを紹介します。
値を素早く選択するには、最初のセル(B2)を選択し、Ctrl + Shift + 下矢印キーを押します。これにより、連続するすべての値が選択されます(範囲に含まれる空白は必ず考慮してください)。
値を選択した状態で、スマートタグ インジケーター (セルの左上隅にある緑色の三角形) のいずれかをクリックし、次の操作を行います。
- 表示されたスマートタグをクリックします(スマートタグが既に表示されている場合は、三角形をクリックせずにクリックします)。すると、図Bに示すように、考えられる問題の一覧が表示されます。これらのスマートタグはまさに「スマート」です。最初の項目は、数値がテキストとして保存されていることを示しています。これが問題です。次の項目は解決策です。「数値に変換」です。
- 2 番目の項目「数値に変換」を選択すると、図 Cに示すように、選択したすべての値が即座に実数に変換されます。
図B

図C

良くも悪くも、この変換により値は数値ではなく一般値に変換されます。
この簡単な方法を最初に紹介したので、なぜもっと詳しく説明するのか疑問に思うかもしれません。すべての値を一度に選択できるようになったのは比較的新しい機能で、以前はすべての値を一度に変換することはできませんでした。そのため、古いバージョンをお使いの場合は別の解決策が必要です。さらに、あらゆる状況に当てはまる万能な解決策はありません。
2. テキストを列に分割
テキストを列に分割する機能は非常に簡単です。値はそのまま残り、先頭のゼロは削除されますが、値はテキストのままなので、書式を再設定する必要があります。先ほどと同じように値を選択し、以下の操作を行ってください。
- 「データ」タブをクリックし、「データツール」グループの「区切り位置」をクリックします。ウィザードが起動します。
- 最初のペインで、「固定幅」オプションをクリックします。区切り文字はありません。
- 「完了」をクリックします。それだけです。
残念ながら、値は依然としてテキストとして保存されています。値を選択した状態で、以下の操作を行ってください。
- [ホーム]タブをクリックします。
- 「数値書式」ドロップダウン(「数値」グループ内)から、「数値」を選択します(図Dを参照)。この方法では小数点以下の桁数が増えますが、これは不要な場合があります。
- 小数点以下の桁数が必要ない場合は、ドロップダウンから「その他の数値形式」を選択します。
- カテゴリリストで「数値」を選択します。
- 小数点以下の桁数オプションに0 を入力します。
- 選択した値をフォーマットするには、「OK」をクリックします。
図D

これは少し手間がかかります。フォーマットだけを変更すればいいと思うでしょう?残念ながら、そうはいきません。フォーマットは変更できますが、先頭のゼロはそのまま残ってしまいます。
ソース値を保持する必要がある場合、次の 2 つの方法では式と関数を使用します。
3. 表現
ソースデータを保持する必要があることは珍しくありません。その場合、元の値をそのまま変換することは望ましくありません。そのような場合は、次のような単純な式が役立ちます。
=テキスト値 * 1
便利です。図Eは、式を入力した結果を示しています。
=B2*1
セル C2 にコピーし、残りのセルにコピーします。
図E

ご覧のとおり、結果の値には先頭にゼロがありませんが、依然としてテキストとして保存されているため、次の操作を実行して形式を数値に変更します。
- [ホーム]タブをクリックします。
- 「数値書式」ドロップダウン(「数値」グループ内)から「数値」を選択します。この方法では小数点以下の桁数が増えますが、これは不要な場合があります。
- 小数点以下の桁数が必要ない場合は、ドロップダウンから「その他の数値形式」を選択します。
- カテゴリリストで「数値」を選択します。
- 小数点以下の桁数オプションに0 を入力します。
- 選択した値をフォーマットするには、「OK」をクリックします。
両方を実行する関数があるはずだと考えているなら、それが存在します。
4. 値()
VALUE() 関数を使用すると、先頭のゼロを削除するだけでなく、結果の値を特定の形式を持たない「一般」形式にフォーマットするため、手順を省略できます。上記の手順で結果の値を「数値」形式にフォーマットすることもできますが、多くの場合、この手順は必要ありません。
図Fは、入力した結果を示しています。
=値(B2)
それを C2 に移動し、関数を残りのセルにコピーします。
図F

これら4つの方法は、テキストを実数に変換する簡単で素早い方法です。データの種類を把握しておくと、どの方法を使うべきか判断しやすくなります。いずれ、これらすべてを使うことになるかもしれません。