文字列を数値に変換する、VALUE関数を紹介します。
どういうことかというと
- 「'3」などと入力されて文字列扱いされたり
- 「3」と全角で入力され、さらに書式設定が「文字列」の場合
こういった文字を、数値に変換します。
「それって意味あるの?」」
普通に足し算や引き算を行う場合、ズバリ意味はありません。
しかしエクセルでは数値と文字列が厳密に管理されている場面があります。
関数内で数字が使われる場合が典型的です。
例をふまえて、詳しく見てみましょう。
Contents
VALUE関数の構文と使い方
エクセルは基本的に「数字とみなせる文字列」は、自動的に数字に変換されます。
ためしにあえて「'」(シングルクォーテーション)で囲った数字どうしで足し算してみましょう。
左上に緑の三角があるセルは、「'」が入力されています。
普通に足し算されました。
では「’」をつけた数字と、普通の数字で足し算をするとどうなるでしょうか。
こちらも普通に足し算されました。
また、全角で数字を入力し、さらに「’」をつけた文字列どうしを足し算しても、ちゃんと計算してくれます。
このように、基本的には数字に見える文字列は、数字として計算してくれます。
ではVALUE関数の出番はどのような場合かというと。
他の関数内で「数字のような文字列」が使われ、うまく処理できない場合に使います。
他の関数で数字を使い、うまく結果が出ない時に使ってみよう
代表的なのはVLOOKUP関数です。
例を見てみましょう。
VLOOKUP関数で、A1~B4セルにある表の番号と、E1セルに入力された値に対応する氏名を抽出します。
E2セルには、「=VLOOKUP(E1, A2:B4, 2, FALSE)」と入力してあります。
エラーとなってしまいました。
これはE1セルの数字には「’」が入力されているため、文字列となっています。
対して表のNo.は通常の数字です。
つぎにE1セルに、通常の数字を入力してみましょう。
正しく結果が表示されました。
このように、関数内では数値と文字列が厳密に管理されていることがあります。
そこでVALUE関数の出番です。
E1セルを「’1」として、E2セルの式を「=VLOOKUP(VALUE(E1), A2:B4, 2, FALSE)」としてみましょう。
E1セルは「’」がついているので文字列扱いですが、それをVALUE関数で数値に変換するわけですね。
E1セルは文字列になっていますが、正しく結果が表示されました。
VLOOKUP関数でE1セル(=数字)と、A列の番号(=数字)を正しく照合できたためです。
VLOOKUP関数について詳しい説明は、こちらの記事でまとめています。
関数内で数値と文字列が区別されるわかりやすい例 SUM関数
もうすこしわかりやすい例も見てみましょう。
SUM関数をつかいます。
1 + 2 + 3 はあきらかに6ですが、SUM関数の結果が4となってしまいました。
A2セルが「'2」と、文字列になってしまっているためです。
これもVALUE関数を使うと正しく計算されます。
このような使い方はなかなかしないかもしれませんが、関数内では数値と文字列が厳密に区別される、わかりやすい例でした。
SUM関数について詳しい説明は、こちらの記事でまとめています。
文字列を数値に変換するVALUE関数の使い方 まとめ
- VALUE関数を使うと文字列を数値に変換することができる
- 通常の足し算、引き算といった演算をする場合、自動で変換されるため不要
- 関数内では数値と文字列が厳密に区別されるため、VALUE関数を使って正しく表示できる場面がある
VALUE関数は一見使いみちがなさそうですが、じつは関数内で活躍する場面が少なくありません。
特にVLOOKUP関数やMATCH関数などで数値を検索のキーとする場合は多くあります。
さらに『数値に見えるけど実は文字列として入力されていた』なんてこともままあります。
どうみても正しく入力されているのに、結果がうまく出力されない。
あれれ~おかしいぞぉ~
⇒ どこも間違っていない…なぜ?
⇒ もうやだ!エクセルやだ!
なんてことになったときは、VALUE関数を使うと解決するかもしれません。