いまさら聞けないExcelの使い方講座

【Excel】文字列として保存された「0001」「0002」などの数字を「数値」に変換するテク

「20230621」といった区切りの「/」がない日付を「日付」として扱うことも可能

ほかのアプリからコピペしたデータの整形が面倒

数値への変換はエクセルの標準機能が便利

 ほかのアプリから貼り付けたデータなどは、セルの表示と実際のデータ型が一致していないことがよくあります。セルの内容は数字でも、表示形式が[文字列]になっていたり、「0001」や「1-1」のような表示のために、先頭に「'」を追加していたりすることもありますね。

[No]列には先頭に「'」が追加されており(①)、[登録日]は「yyyymmdd」と区切り文字がない(②)状態です

 このような状態の表で、「'」を手作業で削除するのは大変です。また、日付のセルを編集状態にして「yyyymmdd」に「/」を入力していく作業は避けたいところです。

 どちらもエクセルの機能で簡単に変換可能です。よく使われるテクニックなので、ぜひ覚えておいてください。

冒頭に桁合わせの「0」が付いた数字を数値に変換するには

エラーインジケーターから数値に変換する

 セルの左上に表示される緑色の三角形のことを「エラーインジケーター」と呼びます。「セルのデータが間違っているのでは?」という注意喚起です。周囲のセルに入力されている数式と異なっていたり、数字が「文字列」として入力されていたりする時に表示されます。

 エラーインジケーターが表示されている場合の数値への変換は簡単です。ここでは「0001」という表示を保ちたいので、書式設定もあわせて設定し直してみます。

エラーインジケーターの表示されているセルを選択します(③)。[!]のアイコン(④)をクリックして、[数値に変換する](⑤)を選択します
数値に変換されて先頭の「0」が非表示になりました。セルを選択したまま[Ctrl]+[1]キーを押します(⑥)。[ユーザー定義](⑦)を選択して[種類]に「0000」と入力します(⑧)。[OK](⑨)をクリックします
数値に変換して先頭に「0」を表示できました

[区切り位置指定ウィザード]を利用する

 先ほどと同様、データの先頭に「'」が入力されていますが、すでにエラーインジケーターを非表示にした状態です。この場合はクリックする[!]がないので、[区切り位置指定ウィザード]を利用しましょう。このテクニックはエラーインジケーターが表示されていても使えます。

セルを選択して(⑩)、[データ]タブ(⑪)にある[区切り位置](⑫)をクリックします
[区切り位置ウィザード]が表示されました。[コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ](⑬)が選択されていることを確認して[次へ](⑭)をクリックします
[タブ](⑮)にチェックが付いていることを確認して[次へ](⑯)をクリックします
[G/標準](⑰)が選択されていることを確認して[完了](⑱)をクリックします
数値に変換されました。先ほどと同様にセルの表示形式を整えれば先頭の「0」を表示できます

元のデータを残して数値に変換する

 元のデータは残したまま、文字列の数字を「数値」に変換したい場合は、2つの方法があります。エクセルの仕様を利用して、セルの値に「1」を掛けて数値として認識させます。なお、以下の操作では「スピル」を利用していますが、セルの値×「1」でオートフィルしても構いません。

「=A2:A21*1」と入力(⑲)して、[Enter]キーを押します
元のデータを参照した計算結果は数値として扱われます

 文字列を数値に変換できるVALUE関数を利用しても構いません。

「=VALUE(A2:A21)」と入力(⑳)して、[Enter]キーを押します
VALUE関数によって、文字列が数値に変換されました

日付の文字列を数値に変関する

 日付データが「yyyymmdd」となっている時も[区切り位置指定ウィザード]が有効です。「1/3」「2/3」の画面は先ほどと同様。[コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ][タブ]を選択して操作を進めます。「3/3」の画面で[日付]を選択します。

日付データが入力されたセルを選択して[区切り位置指定ウィザード]を呼び出します。「1/3」「2/3」の画面は[次へ]をクリックして進めておきます。「3/3」の画面で[日付](㉑)を選択して[完了](㉒)をクリックします
日付データに「/」が追加されました

手動の修正は避けよう

 セルをひとつずつ編集状態にしてカーソルを移動、データを修正の作業を繰り返すのは時間の無駄です。エクセルの標準機能で解決できることが多いので、ぜひマスターしてください。