関数−変換: 文字型を数値型に変換する:Val

文字型項目の一部、または、全部が数値であり、それを数値型に変換して使いたい場合もあるかと思います。
数値型に変換すれば、演算が簡単になるというメリットがありますから。

そのような場合に使うのが、Valという関数です。

例えば、項目Aが5桁の文字型で、データとして「12345」という値だとします。
この場合、値が数値に見えるからと言っても、そのまま式で演算することはできません。
 NG:A + 1
 OK:Val(A,'5') + 1

<使い方>
Val(文字項目 , '書式')・・・戻り値:(数値を抜き出した)数値型項目

<例>
項目Aが5桁の文字型で次のような値の場合。
1) A = 12345
Val(A,'5') = 12345

2) A = X12Z3
Val(A,'5') = 123

3) A= 1-234
Val(A,'5') = 1234

4) A = XYZ
Val(A,'5') = 0

この例のように、変換対象の文字に数値以外が含まれる場合は、その文字を無視して数値にします。
また、変換されるのは半角数値であり、全角文字は全て「数値ではない」と判定されます。
従って、10桁の文字型項目で全角の「12345」という値をVal関数で変換すると、0(ゼロ)になります。
このようなときは、HAN関数を使って、先に半角文字列にしてから、Val関数を使うようにします。