ExcelのNUMBERVALUE関数の使い方|文字列を数値に変換する方法

スポンサーリンク

海外の取引先から届いたCSVデータを開いたら、数値が「1.234,56」のようになっていて計算に使えない。こんな経験はありませんか?

ヨーロッパや南米など多くの地域では、小数点にコンマ(,)、桁区切りにピリオド(.)を使います。日本とは真逆のルールなので、そのままでは文字列として扱われ、SUM関数や四則演算の対象になりません。

そんなときに使えるのがNUMBERVALUE関数です。この記事では、構文や引数の意味から実践的な変換方法まで、具体例をまじえてわかりやすく解説します。

NUMBERVALUE関数とは?

NUMBERVALUE関数は、文字列として入力された数値を、小数点記号や桁区切り記号を指定して数値に変換する関数です。

読み方は「ナンバーバリュー」で、「Number(数値)」と「Value(値)」を組み合わせた名前のとおり、文字列を本当の数値に変えてくれます。

たとえば海外形式の「1.234,56」という文字列を渡すと、日本で使い慣れた「1234.56」という数値に変換できます。

対応環境は以下のとおりです。

  • Excel 2013 以降
  • Microsoft 365
  • Excel for the web

Excel 2010 以前では使用できない点に注意してください。

NUMBERVALUE関数の書き方(構文と引数)

基本構文

=NUMBERVALUE(文字列, [小数点記号], [桁区切り記号])

引数の説明

引数必須/省略可説明
文字列必須数値に変換したい文字列またはセル参照
小数点記号省略可文字列中で小数点として使われている記号(コンマまたはピリオド)
桁区切り記号省略可文字列中で桁区切りとして使われている記号(コンマまたはピリオド)

小数点記号と桁区切り記号を省略した場合は、Excelの地域設定に従います。日本語環境では、小数点がピリオド(.)、桁区切りがコンマ(,)として扱われます。

ポイントは「元の文字列で使われている記号を教える」ということです。変換後の形式ではなく、変換前の文字列がどんなルールで書かれているかを指定します。

基本的な使い方

ここでは、ヨーロッパ形式の数値文字列を日本形式の数値に変換する基本パターンを紹介します。

パターン1: 直接値を指定する

セルA1に「1.234,56」(ヨーロッパ形式)が入っているとします。この文字列では、ピリオドが桁区切り、コンマが小数点として使われています。

=NUMBERVALUE(A1, ",", ".")

第2引数に「,」を指定して「この文字列ではコンマが小数点記号ですよ」と教え、第3引数に「.」を指定して「ピリオドが桁区切りですよ」と教えています。

結果は数値の 1234.56 になります。

パターン2: 引数を省略する(日本形式の場合)

日本形式の「1,234.56」が文字列としてセルに入っている場合は、引数を省略できます。

=NUMBERVALUE(A2)

日本語環境では省略時のルールが「小数点=ピリオド、桁区切り=コンマ」なので、そのまま正しく 1234.56 に変換されます。

パターン3: パーセント記号を含む文字列

NUMBERVALUE関数は、末尾に「%」が付いた文字列にも対応しています。

=NUMBERVALUE("75.5%")

結果は 0.755(数値)になります。パーセント記号を自動で認識して100で割ってくれるのは便利ですね。

実践的な使い方・応用例

海外CSVデータの一括変換

海外から届いたCSVファイルをExcelで開くと、数値列が文字列として読み込まれることがあります。B列にヨーロッパ形式の金額が入っている場合、C列に次の数式を入れれば一括で変換できます。

=NUMBERVALUE(B2, ",", ".")

この数式をC列の下までコピーすれば、全行まとめて数値に変換できます。変換後はSUMやAVERAGEなどの集計関数がそのまま使えるようになります。

VALUE関数との使い分け

文字列を数値に変換する関数としてはVALUE関数もあります。使い分けの基準は次のとおりです。

関数用途桁区切り・小数点の指定
VALUE日本形式の文字列を数値に変換不可(地域設定に依存)
NUMBERVALUE任意の形式の文字列を数値に変換可能(第2・第3引数で指定)

日本形式の文字列だけを扱うならVALUE関数で十分ですが、海外形式が混在するデータではNUMBERVALUE関数が必要です。

SUBSTITUTE関数と組み合わせる

元データに通貨記号($やEURなど)が含まれている場合は、まずSUBSTITUTE関数で記号を除去してからNUMBERVALUEに渡します。

=NUMBERVALUE(SUBSTITUTE(A2, "EUR ", ""), ",", ".")

この数式では、まずSUBSTITUTEで「EUR 」を削除し、残った数値文字列をNUMBERVALUEで変換しています。

よくあるエラーと対処法

#VALUE! エラー

NUMBERVALUE関数で最も多いエラーが #VALUE! です。主な原因は次の3つです。

  • 小数点記号と桁区切り記号に同じ文字を指定した: 第2引数と第3引数に同じ記号を入れるとエラーになります。片方をコンマ、もう片方をピリオドに設定してください
  • 文字列に数値以外の文字が含まれている: 通貨記号やスペース、全角数字が混じっているとエラーになります。SUBSTITUTE関数やTRIM関数で事前に除去しましょう
  • 小数点記号が2つ以上ある: 「1,234.56.78」のように小数点が複数あると変換できません。元データを確認してください

数値にならず文字列のまま

数式の結果が左寄せで表示される場合、セルの書式設定が「文字列」になっている可能性があります。セルの書式を「標準」に変更してから、数式を再入力してみてください。

地域別の小数点・桁区切りルール早見表

NUMBERVALUE関数の第2・第3引数を正しく設定するために、主要な地域の表記ルールを確認しておきましょう。

地域数値の例小数点記号桁区切り記号
日本・アメリカ・イギリス1,234.56ピリオド(.)コンマ(,)
ドイツ・フランス・ブラジル1.234,56コンマ(,)ピリオド(.)
スイス1’234.56ピリオド(.)アポストロフィ(’)

スイスのようにアポストロフィを桁区切りに使う地域もあります。NUMBERVALUE関数の第3引数にはアポストロフィも指定できるので覚えておくと便利です。

=NUMBERVALUE("1'234.56", ".", "'")

まとめ

NUMBERVALUE関数は、海外形式の数値文字列を日本のExcelで使える数値に変換するための関数です。

  • 第2引数で小数点記号、第3引数で桁区切り記号を指定する
  • 省略すると日本語環境のルール(小数点=ピリオド、桁区切り=コンマ)が適用される
  • パーセント記号付きの文字列にも対応している
  • 海外データを扱うときは、まず地域の表記ルールを確認してから引数を設定する

海外取引先とのデータやり取りが多い方は、ぜひ覚えておいてください。

関連記事

Excel関数の一覧や、文字列変換に関する記事もあわせてご覧ください。

タイトルとURLをコピーしました