数値↔︎文字列の変換方法とデータ型の確認方法

Level3 関数

以下のような方におすすめの記事です。

  • データ型のせいでエラーが起きている
  • 現在のデータ型の確認方法を知りたい
  • データ型を関数で強制的に変換したい

関数やVBAを利用していると、データ型が一致しないせいでエラーが発生することがあります。

よくある例は、「100(数値)」と「100(文字列)」はデータ型が一致せず、IF関数やVLOOKUP関数で意図した形でデータ抽出をしません。

このような場合に、まず「100」が文字列なのか数値かを確認し、データ型の不一致が原因かを特定します。

そして、不一致が原因であれば、データ型を変換すれば解決するはずです。

今回のクエストはこちら

データ型の不一致が原因のエラー対処

正常に機能している場合

3桁のコードをセルJ2に入力すれば、VLOOKUP関数で都道府県名を抽出するものです。

VLOOKUP関数について確認したい方はこちらをチェックしてください。

データ型の不一致によってエラーを起こした場合の対処について見ていきましょう。

データ型の確認

TYPE関数を利用すると、データ型を確認できます。

=TYPE( 値 )

機能:引数のデータ型を数値で表示

  • 1:数値
  • 2:文字列
  • 4:論理値
  • 16:エラー値
  • 64:配列

値ごとのデータ型を暗記する必要はありません。

TYPE関数で値が一致するかどうかさえ確認できればよく、一致しない場合に調べましょう。

データ型の変換

文字列↔︎数値の相互の変換は以下の関数を利用します。

  • =VALUE( 文字列 ) :文字列を数値へ変換
  • =ACS( 数値 ) :数値を文字列へ変換

それぞれの関数はデータ型を変換するのみで、表示されるものは変化しません。

また、VALUE関数の引数に数値を利用しても、そのまま数値が表示されエラーにはなりません。

データ型の確認と変換をする例

セルG3にてVLOOKUP関数を利用しているが、「100(文字列)」で「100(数値)」を検索しているためエラーが発生しています。

VLOOKUP関数の解説はこちらです。

そこで、エラー対処をしていきます。

まず、TYPE関数でデータ型を確認します。すると、検索値の「100」が文字列で不一致だからエラーが発生していると分かります。

よって、検索値をVALUE関数で数値へと変換すれば解決すると判断できます。

以上より、数式を「 = VLOOKUP( VALUE( J2 ) , B:C , 2 ,0 )」へと修正することで、検索値のデータ型を変更できます。

今回のクエストを終えて

データ型の確認と変換を習得!

VLOOKUP関数やIF関数、VBAを利用する際に、データ型の不一致によるエラーの対処は何度も行う可能性があります。

そのような場面に出会ったら、データ型の確認と変換をしましょう。

慣れれば、そもそもエラーが起こらず、起きてもすぐ見当がついて対処できるようになります。

コメント

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