NUMBERVALUE|形式の違う数値文字列を通常の数値に変換するExcel関数
使用関数:NUMBERVALUE
NUMBERVALUE(ナンバーバリュー)関数とは?
特定のロケール(地域)では小数点や桁区切りの表記が日本とは異なります。
例えば「1,234.56」は、ドイツ、イタリア、スペインなどでは「1.234,56」と表記されます。小数点がカンマ、桁区切りがピリオドで日本とは逆になるわけです。他にも桁区切りが半角スペースやアポストロフィで表記される地域もあります。
Excelは現在のロケール(日本)の形式で数値を認識するため、異なる形式の数値は「文字列」になります。
日本と表示形式が違うロケール(地域)のデータを扱う際、混乱を避けるために表記を現地域での標準形式に統一する必要が出てきます。それを実行する関数がNUMBERVALUEです。
NUMBERVALUE関数の使い方
以下の表示形式の異なる数値の文字列をNUMBERVALUE関数で日本の標準の数値に変換しましょう。
「数式」タブ「関数ライブラリ」→「文字列操作」→ NUMBERVALUEをクリックします。
NUMBERVALUEの引数は「文字列」「小数点記号」「桁区切り記号」です。
「小数点記号」「桁区切り記号」は任意となっていますが、本来の目的(表示形式の異なる数値の文字列を通常の数値に変換)で使用する場合は必須と考えて下さい。現在のロケール(地域)と違う表記のデータを「文字列」に指定して「小数点記号」「桁区切り記号」を省略するとエラー#VALUE!になります。
書式の構成はこうなります。
第一引数「文字列」
異なる地域の表示形式で表された数値の文字列を指定します。多くの場合、文字列の入力されたセルを参照します。
第二引数「小数点記号」
引数「文字列」で指定したデータが小数点としている記号を指定します。変換後の記号を指定するわけではありません。
ドイツやイタリアのデータならカンマを文字列で指定します。ダイアログで数式を組み立てるときは、カンマを打ち込んだ後にTabキーを押せば自動でダブルクォーテーションが付きます。
第三引数「桁区切り記号」
引数「文字列」で指定したデータが桁区切りとしている記号を指定します。変換後の記号を指定するわけではありません。
ドイツやイタリアのデータならピリオドを、フランスやロシアのデータなら半角スペースを文字列で指定します。ダイアログで数式を組み立てるときは、ピリオドやスペースを打ち込んだ後にTabキーを押せば自動でダブルクォーテーションが付きます。
NUMBERVALUE関数で数値に変換された後、桁区切り記号が付かない時は「セルの書式設定」の「表示形式」を「数値」にして、小数点以下の桁数を指定し、「桁区切り(,)を使用する」にチェックを入れて下さい。
小数点記号がピリオドで桁区切り記号がカンマになった日本標準の数値に変換できました。C2セル、D2セルの数式の「桁区切り記号」には、それぞれ半角スペース” “、アポストロフィ“‘”を指定しています。
数式 =NUMBERVALUE(B2,“,”,“.”)
NUMBERVALUE関数とVALUE関数の違い
VALUE関数も数値を表す文字列を本来の数値に変換する機能を持ちますが、NUMBERVALUE関数とは違い、現在のロケール(地域)の形式に則した文字列を数値に変換します。
VALUE関数の主な使い方としては、全角の数字を半角の数値に、空白を数値の0に、日付を表す文字列をシリアル値に変換するなどがあります。
VALUE関数の詳しい使い方は以下の記事で解説しています