shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel】NUMBERVALUE 関数でテキスト形式の数字を数値に変換例

Excelの「NUMBERVALUE 関数」はテキスト形式の数字を数値に変換できる関数です。「VALUE関数」や新しい「REGEXREPLACE関数」での変換の違いについて確認しました。OCRなどの利用時に認識した余分なスペース削除にも使用できます。

内容:

動作確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2410)です。

NUMBERVALUE 関数について

Microsoft サポートの説明では「ロケールに依存しない方法で文字列を数値に変換します」とされています。本来の機能は、数値の桁区切りでピリオドやスペースの使用方法が異なる国の数値を変換する関数です。

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

参考: NUMBERVALUE 関数 - Microsoft サポート

活用例(VALUE関数やREGEXREPLACE関数との違い)

NUMBERVALUE 関数は、機能の目的とは異なりますが、OCRなどの利用時に認識した余分なスペース削除にも使用できます。

例えば、【Power Query】画像からテキストデータを抽出する事例 では、余分な半角スペースを認識しています。このような事例で、半角スペースを削除して、計算可能な数値に変換したいような場面で利用できます。

以下はテキスト形式の数字(全角文字、全角カンマ、全角スペース、数字以外も文字列)が含まれたセルについて、VALUE関数・NUMBERVALUE 関数・REGEXREPLACE関数での変換結果の比較です。

VALUE関数・NUMBERVALUE 関数・REGEXREPLACE関数で比較した一覧です

テキスト形式の数字を数値に変換の数式例

上図のとおり、テキスト形式の数字を処理する各関数の特徴は次のとおりでした。。

  • VALUE関数は、セルの書式が文字列のときに、数値に変換できる。
  • NUMBERVALUE 関数は、全角カンマや、半角スペースを含んでも処理できる。全角スペースに対応させると、半角スペースには対応できない。
  • REGEXREPLACE関数は、正規表現の書き方次第で色々なパターンに対応できる。

なお、REGEXREPLACE関数は新しい関数で、指定された正規表現 に基づいて、文字列のテキストを別の文字列に置き換えることができる関数です。

Excelで、全角数字および半角数字だけを残した数値にする場合は以下のようにします。

=REGEXREPLACE(B4,"[^\d0-9]","")*1

以上、Excelでテキスト形式の数字を数値に変換できる NUMBERVALUE 関数の使用例でした。