データを他のアプリケーションやネットなどから取り込んだり、基幹システムから取り出した際などに、数字が[文字列]になっていて困ることがありますよね。
そこでこの記事では、そんなときに便利な文字列として入力された数字を[数値]にする方法を3つ紹介します。
- 私がよく使う方法で何も覚える必要のない超絶おすすめ法
- Excel本などで紹介されている[VALUE関数]を使う方法
- 計算式が不要な[区切り位置]を使う方法
VALUE関数を使わずに[数値]に変換する
私がよく使う[文字列]として入力された数字を[数値]にする方法です。
2パターンありますが、同じような意味合いなのでお好みでどうぞ。
文字列の数字に「1」を掛ける
まず最初は、[文字列]として入力された数字に「1」を掛けるというものです。
今、B2セル~B4セルに文字列の数字が入力されています。
この文字列の数字に「1」を掛けます。
C2セルに[=B2*1]と入力し確定します(確定する際は、確定後にアクティブセルが下に移動しない[Ctrl + Enter]がおすすめ)。
オートフィル(下図の状態でフィルハンドルをダブルクリック)を使って、C3セル、C4セルに数式をコピーします。
合計欄の計算が正しくなり、文字列だった数字が[数値]になったことがわかります。
文字列の数字に「0」を足す
文字列の数字に「1」を掛けるのと同じ発想です。
B2セル~B4セルに文字列の数字に「0」を足します。
C2セルに[=B2+0]と入力し確定し、同じように数式をコピーします。
※表示形式が[文字列]になり左揃えになることがありますが、[表示形式]を[標準]にすれば正しく表示されます。
VALUE関数を使って[数値]にする
VALUE(バリュー)関数の書式
VALUE(バリュー)関数は、文字列として入力された数字を[数値]に変換する関数です。
引数(ひきすう)には、文字列として入力された数字などを入力します。
書式は[=VALUE( 文字列 )]という形です。
引数の[文字列]の部分には、[数値]のほか、シリアル値という数値の一種である[日付]や[時刻]なども指定できます。
もし数値に変換できない文字列を指定した場合には[#VALUE!]エラーが返されます。
VALUE関数を入力する
VALUE関数を入力するセル範囲を指定します。
ここでは、C2セル~C4セルを指定します。
この状態でC2セルに[=va]と入力します。すると、[VALUE]という表示が現れるので、[VALUE]を選択し、[Tab]キーを押します。
C2セルに[=VALUE(]と入力されるので、これに続けて、B2セルをクリックします。
[Ctrl + Enter]と押し、式を確定すると、選択していたC2セル~C4セルに数式が入力され数値が返されます。
さきほど、VALUE関数で[日付]や[時刻]が数値にできることを紹介しました。
ではここで[日付][時刻][全角の数字][通貨][百分率]が[数値]にできるかまとめて確認してみましょう。
今、A列には[日付][時刻][全角の数字][通貨][百分率]にみえる[文字列]が入力されています。
これらのデータを、VALUE関数を使って数値に変換してみます。
先ほどと同じように、B2セルにVALUE関数を入力し、[Ctrl + Enter]で確定します。
[日付]や[時刻]にみえるものは[シリアル値]に、[全角の数字][通貨][百分率]にみえる[文字列]も[数値]に変換されました。
ちなみに、最初に紹介した「1」を掛ける方法や「0」を足す方法でも同じ結果になります。
関連記事日付や時刻を表す[シリアル値]について知っておくべき3つのこと
数値とみなせない文字列とは
では[数値]とみなせない文字列にはどんなものがあるのでしょうか。
[一二三][2023年度][イロハ][C-1000]で試してみましょう。
VALUE関数では[数値]に変換できないものを指定すると[#VALUE!]エラーになります。
結果はご覧のとおり全て[#VALUE!]エラーとなりました。
漢数字は数値に変換できないようですね。
関数に文字列を直接入力するには
VALUE関数に[文字列]を直接入力するには、入力する文字列を[""(ダブルクォーテーション)]で囲みます。
VALUE関数に限らず、Excelで数式に[文字列]を入力するときは[""(ダブルクォーテーション)]で囲む必要があることを覚えておいてください。
[区切り位置]で数値に変換する
ここまでは、隣接するセルに計算式や関数を入力して[文字列]を[数値]にするパターンを紹介しました。
では、そういった計算スペースがない場合はどうすればよいのでしょうか。
そのような場合は、今から紹介する[区切り位置]を使う方法で対応してください。
[数値]にする範囲を選択する
まず[数値]にしたい[文字列]を範囲選択します。
ここでは、A2セル~A6セルとします。
[区切り位置]ボタンを押す
[データ]タブの[データツール]グループにある[区切り位置]ボタンを押します。
すると、[区切り位置指定ウィザード]の1ページ目が開きます。
[次へ]ボタンを押します。
[区切り位置指定ウィザード]の2ページ目が開きます。
ここも[次へ]ボタンを押します。
[区切り位置指定ウィザード]の3ページ目が開きます。
[列のデータ形式]の[G/標準]が選ばれていることを確認して[完了]ボタンを押します。
これで範囲選択した、A2セル~A6セルが[数値]になります。
もし[数値]が[左揃え]になっている場合は表示形式を[標準]などにしてください。
まとめ
- 全角の数字も数値に変換できます。
- 日付や時刻の形式とみなせる文字列を数値に変換すると、シリアル値が返されます。
- 数値とみなせない文字列を指定すると、#VALUE!エラーになります。
- 文字列を直接入力するときは""で囲みます。
- 1を掛けたり、0を足したりすることでも数値に変換することができます。
最後まで、読んでいただきありがとうございました。
おすすめ記事
- 職場では教えてくれない入力データ「3つの種類」とは?
- 日付や時刻を表す「シリアル値」を知る!
- Excel関数の基本的な使い方と応用テクニック辞典(関数一覧)
- Excel 厳選ショートカットキー・印刷用・早見表PDF付き