は?なんで自分で単位入力しちゃってんの?
次の画像を見て下さい。
データ自体に意味はありませんが、ある人が月ごとに本を借りた冊数の一覧です。
これ、B列の冊数の○冊の”冊”を、ご丁寧に入力してあります。。。
ですので、例えば8行目に合計を計算しようと思っても、計算出来ません。
単位も表示して、計算もしたい場合は、表示形式を使って単位を表示させるんですが、実際問題やってくれない人がたくさんいますよね(;_;)
ここで紹介する、”Val関数”を使うことで、このような”ご丁寧な入力”を計算することが出来るようになりますw
Val関数
構文自体は単純です。
引数に文字列を指定するだけ。
Val関数は、元々は文字列を数値に変換する関数ですが、文字列の先頭(左端)から見て”数値に変換出来るところまで”変換してくれます。
この特徴を使うことで、セルに”直接入力した単位”の前までを数値に変換して取り出して扱います。
実際に挙動を確認しましょう。
サンプル
先程のサンプルで、借りた本の冊数を、Val関数を利用して合計し、B8セルに出力してみましょう。
コードはこちらです。
Sub sample()
Dim i As Long, ans As Long
For i = 2 To 7
'B列の文字列を、単位を省いた数値に変換して足し上げる。
ans = ans + Val(Cells(i, 2))
Next
'B8セルに入力する
Cells(8, 2) = ans
End Sub
簡単ですね。
合計したいセルを、ループで回して足し上げているだけです。
足し上げる際に、指定したセルをVal関数を通して数値に変換しています。
実行してみましょう!
上手く計算することが出来ましたね(^o^)
コメント