エクセルで数値を文字列に変換する4つの方法|TEXT関数等
ここでは、エクセルで数値を文字列に変換する方法を4つ解説します。
数値を文字列にするメリット・デメリット、数値を文字列にする関数3つの使い方、そして関数を使わない方法の紹介です。
覚えれば、簡単に数値を文字列に変えることができるようになりますよ。
1.文字列とは?メリット・デメリット
まずは、文字列とは何か、どんなメリット・デメリットがあるのかを見てみましょう。
1-1.文字列とは
文字列とは「入力した文字をそのまま表示する形式」のことです。
例えばエクセルで「01」と入力しても…
通常は数値と認識し、自動的に「1」に変換されてしまいます。
しかし文字列で表示する設定にしておけば、「01」の入力は「01」と表示できます。
1-2.文字列にするメリット
文字列にするメリットは、主に4つあります。
1-2-1.頭のゼロが消えないようにできる
先ほどの例のように、頭にゼロを付けたい時、表示形式を文字列にすることでゼロを付けることができます。
例えば電話番号を「-」なしで入力したい場合などに、特に重宝します。
1-2-2.小数点以下のおしりのゼロが消えないようにできる
同じようにおしりにゼロを付けたい時も、文字列にすればゼロを付けることができます。
1-2-3.16桁以上の数字を入力できる
エクセルでは、標準形式や数値形式の場合、16桁以上を入力することができません。
例えば「111…」と入力すると、16桁以降は0になってしまうのです。
このような場合、文字列形式にすることで16桁以上の数字を入力できるようになります。
クレジットカード番号などの入力に便利です。
1-2-4.文字中に特定の記号が入力できる
文字中に「/」などの特定の記号がある場合、標準形式や数値形式だと自動で日付に変換されてしまいますが、文字列形式であればそのまま入力できます。
1-3.文字列にするデメリット
対して、文字列にするデメリットは主に2つあります。
1-3-1.計算が正しく行われないことがある
文字列にした場合、ケースによっては正しく計算されないことがあります。
単純な四則演算程度なら問題はなさそうですが、関数を使った場合には特に注意が必要です。
1-3-2.並び順が正しく行われないことがある
例えば同じ「1」でも、数値としての1と文字列としての1では「文字コードが違う」ため、ソートをした時に並びが思ったようにいかないことがあります。
2.4つの方法を詳しく解説
では順に、数値を文字列にする方法を説明していきます。
2-1.TEXT関数を使う方法
まずはTEXT関数を使う方法があります。
2-1-1.基本的な使い方
まず、TEXT関数の数式の形は次の通りです。
「セル番号」には、「文字列にしたい数値が入っているセル番号」を入力します。
TEXT関数は、引数「表示形式」に「”@”」と入力すると、文字列になります。
2-1-2.参照先が空白の場合に空白を表示させる
エクセルの数式は、参照先が空白の場合「0」が返ってきてしまいます。
数値を文字列にしつつ、空白は空白として表示させたい時には、例のように「セル番号」の後ろに「&""」と付けると、セルが空白の時でも「0」と表示させず空白になります。
数式の形は、次の通りです。
例の場合、数式は次のようになります。
=TEXT(A1&"","@")
2-1-3.頭や小数点以下のおしりに0を付ける
頭に0を入れたい場合には、数式の前に「"0"」と「&」を付けます。
例えば「0」を1つ付けたい場合、数式の形は次のようになります。
="0"&TEXT(セル番号,"@")
例の場合、数式は次のようになります。
="00"&TEXT(A1,"@")
また、小数点以下のおしりに0を付けたい場合には、数式の最後に「"0"」と「&」を付けます。
例えば、「0」1つ付けたい場合、数式の形は次の通りです。
例の場合、数式は次のようになります。
=TEXT(A1,"@")&"00"
2-1-4.空白表示+0を付ける
「空白を空白に」と「頭またはおしりに『0』を付ける」を両方行いたい場合には、紹介した2つの方法を組み合わせます。
ただし、
="00"&TEXT(セル番号&"","@")
という数式だと、参照先が空白の時、「00」と表示されてしまいます。
そこでIF関数を組み合わせ、「参照先が空白の場合には空白」という条件式を入れればOKです。
数式の形は、次の通りです。
例の場合、数式は次のようになります。
=IF(A1="","","00"&TEXT(A1&"","@"))
2-2.ASC関数を使う方法
次に、ASC関数を使う方法もあります。
2-2-1.基本的な使い方
まず、ASC関数の数式の形は次の通りです。
「セル番号」に、「文字列にしたい数値が入っているセル番号」を指定します。
ASC関数は「全角(2バイト)の英数カナ文字を半角(1バイト)の文字に変換する関数」ですが、数値を指定すると文字列にしてくれます。
これは、引数の指定が参照先のみなので使いやすいですね。
2-2-2.参照先が空白の場合に空白を表示させる
ASC関数はこのままで、参照先が空白の場合には空白を返してくれます。
例の場合、数式は次のようになります。
=ASC(A1)
2-2-3.頭や小数点以下のおしりに0を付ける
頭に0を入れたい場合には、数式の前に「"0"」と「&」を付けます。
例えば、「0」を1つ付けたい場合、数式の形は次の通りです。
例の場合、数式は次のようになります。
="00"&ASC(A1)
また、小数点以下のおしりに0を付けたい場合には、数式の最後に「"0"」と「&」を付けます。
数式の形は、次の通りです。
例の場合、数式は次のようになります。
=ASC(A1)&"00"
2-2-4.空白表示+0を付ける
ASC関数はそのままで空白表示をしてくれるので、「空白を空白に」と「頭またはおしりに『0』を付ける」を両方行いたい場合には、2-2-3の数式と同じでOKです。
例の場合、数式は次のようになります。
="00"&ASC(A1)
2-3.SUBSTITUTE関数を使う方法
続いて、SUBSTITUTE関数を使う方法もあります。
2-3-1.基本的な使い方
まず、SUBSTITUTE関数の数式の形は次の通りです。
「セル番号」に、「文字列にしたい数値が入っているセル番号」を指定します。
SUBSTITUTE関数は「文字列中の指定された文字を他の文字に置き換える関数」で、こちらも数値を指定すると文字列に変換してくれます。
ただ、関数自体の文字数が多く、引数も多い(「,」は省略できない)ので、文字列の変換には使いにくいですね。
2-3-2.参照先が空白の場合に空白を表示させる
SUBSTITUTE関数はこのままで、参照先が空白の場合には空白を返してくれます。
例の場合、数式は次のようになります。
=SUBSTITUTE(A1,,)
2-3-3.頭や小数点以下のおしりに0を付ける
頭に0を入れたい場合には、=の後に「"0"」と「&」を付けます。
例えば、「0」を1つ付けたい場合、数式の形は次の通りです。
例の場合、数式は次のようになります。
="00"&SUBSTITUTE(A1,,)
また、小数点以下のおしりに0を付けたい場合には、数式の最後に「"0"」と「&」を付けます。
数式の形は、次の通りです。
例の場合、数式は次のようになります。
=SUBSTITUTE(A1,,)&"00"
2-3-4.空白表示+0を付ける
SUBSTITUTE関数もそのままで空白表示をしてくれるので、「空白を空白に」と「頭またはおしりに『0』を付ける」を両方行いたい場合には、2-3-3の数式と同じでOKです。
例の場合、数式は次のようになります。
="00"&SUBSTITUTE(A1,,)
2-4.関数以外の方法
最後に、関数以外の方法もあります。
2-4-1.基本的な使い方
まず、数式の形は次の通りです。
「セル番号」に、「文字列にしたい数値が入っているセル番号」を指定します。
参照先の後ろに「&""」と入力すれば、参照先の値を文字列にして返してくれます。
これは、ASC関数とともに使いやすい形ですね。
2-4-2.参照先が空白の場合に空白を表示させる
この数式はこのままで、参照先が空白の場合には空白を返してくれます。
例の場合、数式は次のようになります。
=A1&""
2-4-3.頭や小数点以下のおしりに0を付ける
頭に0を入れたい場合には、=の後に「"0"」と「&」を付けます。
例えば、「0」を1つ付けたい場合、数式の形は次の通りです。
例の場合、数式は次のようになります。
="00"&A1&""
また、小数点以下のおしりに0を付けたい場合には、数式の最後に「"0"」と「&」を付けます。
数式の形は、次の通りです。
例の場合、数式は次のようになります。
=A1&"00"
2-4-4.空白表示+0を付ける
この数式もそのままで空白表示をしてくれるので、「空白を空白に」と「頭またはおしりに『0』を付ける」を両方行いたい場合には、2-3-3の数式と同じでOKです。
例の場合、数式は次のようになります。
="00"&A1&""
3.どの方法がおすすめか
以上、エクセルで数値を文字列に変換するやり方を4つ紹介しました。
どれを使うかは好みになりますが、他の人が分かりやすいのは「TEXT関数」、入力しやすく使いやすいのは「ASC関数」か「&""」ではないでしょうか?
以上、参考になれば幸いです。