エクセル初心者
エクセルで数式を入力して計算をしようとしたら、「#VALUE!」とエラー表示になってしまうんだけど、いったいなぜ?
エクセルで「#VALUE!」がでる原因はいくつかあるよ。
エラーになる意味や原因を探って、正しく対処をしていこう!
Dr.オフィス
エクセルのエラー表示のひとつである「#VALUE!」には、いったいどのような意味があるのかを考えたことがありますか?
「#VALUE!」はエラーなので、エクセルで正しい操作ができていないことを表していることはまちがいありませんが、原因を知ることにより問題への対処がさらにしやすくなります。
- 入力した数式に問題がある
- 参照先のセルに問題がある
PCサポート歴10年の私が、エクセルで「#VALUE!」がでてしまう原因や、対処法についてくわしく説明していくよ!
Dr.オフィス
エクセルで「#VALUE!」になってしまう主な原因を探って数式や参照セルを正しく改善すれば、エラーはなくなります。
しかし「#VALUE!」の原因次第では、エクセルの設定で最初から「#VALUE!」を0としてカウントできるよう設定したり、関数で表示させないようにすることも可能です。
この記事を読むと、シチュエーション別の「#VALUE!」表示の対処法がわかります!
こちらの記事は下記の動画でも解説しているので、ぜひ合わせてご覧ください。
そしてエクセルのエラー表示をIFERROR関数をつかって非表示にする方法も別記事で解説しているので、合わせて参考にしてください!
※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。
目次
エクセルの#VALUE!の意味とは?エラーになる主な原因
エクセルで、計算がうまくいかなかったときにでるエラー表示のひとつである「#VALUE!」(バリュー)には、いったいどのような意味があるのでしょうか?
エクセル初心者
エクセルで「#VALUE!」となってしまったとき、何かしらのエラーが出たという認識で、確かに意味まで考えたことなかったな。
「#VALUE!」のエラーの意味を知れば、問題をより対処しやすくなるよね!今から「#VALUE!」とはどんな意味があるのかを説明するね!
Dr.オフィス
エクセルの「#value!」の意味は以下のとおりです。
- 入力した数式に問題がある
- 参照先のセルに問題がある
エクセルの「#VALUE!」は数式や参照セルに問題がある場合に表示されるエラーだということがわかりましたね。
しかし、具体的にどのように「#VALUE!」のエラー表示に対処したらいいのかは、状況により異なります。
#VALUE!になる原因①数式に文字列が入っている
エクセルで「#VALUE!」が出る原因として、数式にの参照セルが数値ではなく、文字列になってしまっていることがあげられます。
たとえば、商品の単価と販売個数をそれぞれ掛け合わせて金額を出したいとします。
しかし、オレンジジュースの金額で「#VALUE!」と表示されてしまいました。
この場合の「#VALUE!」が表示された原因は、数式の中に「文字列」が参照したためです。
上記のように、販売個数に「なし」と書かれていれば、「オレンジジュースの売り上げはなかった」というように人の目では判断ができますが、残念ながらエクセルでは文字列が数式にあると、正しく計算を行うことができず、「#VALUE!」となってしまいます。
また、セルに数字が記入されているのに「#VALUE!」の表示が出てしまった場合は、その数字が半角文字であるかどうかをチェックしてみてね。
全角の数字だと、「文字列」として認識がされてしまうよ!
Dr.オフィス
#VALUE!になる原因②空白セルにスペースが入っている
空白セルを含む表で、四則演算の計算をしたとしましょう。
通常では空白のセルは数値の「0」とみなされるため、通常であれば「#VALUE!」になることはありません。
しかし、以下のように空白セルがある場所の数式で「#VALUE!」が返ってしまった場合、空白セルにの中にスペースが入ってしまっています。
数式に空白セルも含む場合は、スペースなどが入らないように注意をしましょう。
ここまでで、「#VALUE!」判定がでてしまう代表的な例を紹介したけど、自分のケースに当てはまらない、という方はさらに記事を読み進めてみてね。
Dr.オフィス
エクセルで文字列を数値に変換するVALUE関数
エクセルのVALUE関数は、文字列を数値に変換することのできる関数です。
まずは、いったいどのような文字列をVALUE関数で数値に変換が可能なのかを紹介します。
文字列の種類 | 変換前の文字列 | VALUE関数で変換後 |
日付 | 2023/12/31 | 45291(シリアル値) |
時刻 | 0:00 | 1(シリアル値) |
空白 | (空白のセル) | 0 |
分数 | 1/3 | 0.33333333… |
通貨記号 | ¥1,000 | 1000 |
全角数字 | 25 | 25 |
パーセント | 50% | 0.5 |
さまざまな文字列を、VALUE関数で数値に変換することが可能です。
VALUE関数の基本の使い方
VALUE関数をつかって文字列を数値に変換する手順を説明していきます。
- STEP
VALUE関数を入力
セルに「=VALUE(」と入力をしましょう。
- STEP
文字列を参照
数値にしたい文字列のセルを参照し、Enterキーで確定をします。
VALUE関数で文字列を数値に変換することができました。
VALUE関数で文字列が数値に変換できないとき
エクセルのVALUE関数ですべての文字列を数値に変換できるわけではありません。
数値に変換できない例を以下の画像で見てみましょう。
たとえば、金額やパーセンテージなどを表すときに「¥」や「%」などの記号がつかわれますが、それらは数値への変換が可能です。
しかし「1000円」や「50パーセント」など、数値に文字が組み合わさっているものは数値に変換できず、「#VALUE!」とエラー表示がでてしまいますので注意しましょう。
エクセル初心者
VALUE関数のつかい方はわかったけど、いったいどんなシチュエーションでつかうの?
確かにVALUE関数を単体でつかうことはあまりないかもしれないね。
ほとんどの場合はVLOOKUP関数などと組み合わせてつかうことが多いから、具体例を説明するね。
Dr.オフィス
VALUE関数を他の関数と組み合わせた使用例
VALUE関数は単体でつかうというよりも、他の関数と組み合わせて使用するケースの方が多い関数です。
その例として、今回はVLOOKUP関数と組み合わせるケースを紹介していきます。
VLOOKUP関数は、番号を入力することにより別のリストの情報を抜き出すことのできる関数です。
しかし、まちがって抽出のために指定する番号を全角で入力してしまうと、VLOOKUP関数はうまく機能せずエラー表示が出てしまいます。
たとえ全角の数字を入力してしまっても、VALUE関数で半角の数値に置き換わるようにすればVLOOKUP関数を機能させることが可能です。
VLOOKUP関数にVALUE関数を組み合わせて全角数字でも情報が抽出ができるようにする手順を以下で説明するね!
Dr.オフィス
上記はVLOOKUP関数で作成した、番号を記入すると商品名が自動抽出される表です。
しかし、番号には全角の「2」が記入されているため「バナナ」は抽出されずに「#N/A」になってしまいます。
VLOOKUP関数を記入したセル(E3)を開き、VLOOKUP関数の検索値の参照先(D3)を確認しましょう。
=VLOOKUP(VALUE(D3),$A$3:$B$5,2,FALSE)となるように、検索値である「D3」にVALUE関数を適用させ、Enterキーで確定をします。
するとこのように、全角数字(文字列)でも、VALUE関数により数値に置き換わる設定になったためにVLOOKUP関数での抽出が可能になりました。
エクセルの#VALUE!を自動で0に直す方法
エクセルで「#VALUE!」の値がでてしまっても、自動で「0」の値に直す設定をすることが可能です。
たとえば上記の表では、一部の数式に文字列が参照されているため「#VALUE!」が表示されていますね。
これを「Excelのオプション」で、文字列が数式に参照された場合に自動で「0」の数値と認識させることのできる設定があり、そうすることで一気に「#VALUE!」値を直すことが可能です。
エクセルの「#VALUE!」を0の値に変換する方法は»エクセルで「#VALUE!」がでたときの直し方!超簡単な方法!で詳しいやり方を説明しています。
エクセルの#VALUE!を表示させないようにする方法
エクセルで「#VALUE!」などのエラー表示がでる場合に、IFERROR関数をつかって表示しないようにする方法です。
以下の表は、数式に文字列が参照されたセルで「#VALUE!」となっています。
IFERROR関数は、数式でエラーがでる場合のセルを非表示や指定の文字に置き換えることのできる関数です。
=IFERROR(値,エラーの場合の値)
一部「#VALUE!」がでてしまう列の数式すべてにIFERROR関数を適用させれば、数式にとくに問題がない場合には通常通りの答えが返り、「#VALUE!」になる場合はセルを何も表示しないようにすることができます。
エクセルのIFERROR関数で「#VALUE!」を表示しないようにする方法についてくわしくは»エクセルの「#VALUE!」を表示しないで消すには?空白に置き換える方法!をご覧下さい。
エクセルの割り算で#VALUE!が出てしまう原因と対処法
エクセルで割り算をしたら、答えが「#VALUE!」と返ってしまった場合、数式の分子(割られる数)または分母(割る数)に文字列が入ってしまってはいないでしょうか?
エクセルで数式に文字列が参照されているときちんと計算が行えず、「#VALUE!」のエラー表示がでてしまいます。
エクセルの割り算で『#VALUE!』になってしまう原因と対処法を»エクセルの割り算で『#VALUE!』がでるときのチェックポイント!でさらにくわしく解説していますので、ぜひ参考にしてください。
エクセルで別シートから参照すると#VALUE!がでるとき
エクセルで別シートから参照するときに、いくつかの条件が重なると「#VALUE!」のエラー表示がでてしまうことがあります。
別シートからの参照で「#VALUE!」がでたときは、参照シートが以下の条件下にないかを確認してください。
- 参照先の別シートの名前に「-;;/&#()」などの記号が使われている
- 参照先の別シートの名前に空白が含まれていたり、名前の先頭に数字が入っている
- 別シートの参照箇所に結合セルがある
これらの条件が重なると、別シートからの参照で「#VALUE!」がでてしまうことがありますので、上記の条件に当てはまらないよう、参照するシート名を改善し、結合セルを解除してください。
ちなみにMicrosoft 365の最新版のエクセルでは、シート名に記号があっても、結合セルがあっても参照ができるよう改善がされているよ。
だけど結合セルに関数が入っていたりすると、うまく参照されないこともあるから注意してね!
Dr.オフィス
エクセルの#VALUE!に関するQ&A
Q
エクセルで「#VALUE!」と表示されるのはなぜですか?
A
エクセルでは、数式や参照セルに問題があった場合のエラー表示として「#VALUE!」を返します。
Q
エクセルのVALUE関数の数式はなんですか?
A
エクセルのVALUE関数の数式は「=VALUE(文字列)」です。
参照した文字列を数値に変換することができますが、すべての文字列に対応できるわけではありませんのでくわしくは»エクセルで文字列を数値に変換するVALUE関数をご覧ください。
エクセルの#VALUE!がでるのは数式や参照先に問題があるから!
エクセルの「#VALUE!」は、エクセルが「数式や参照先に問題があるよ」と教えてくれているエラー表示であることがわかりました。
「#VALUE!」は数式を直せばおおむね改善がされますが、原因次第では設定で「#VALUE!」を0とみなすように設定変更をしたり、関数をつかって非表示にするのも有効です。
自分の「#VALUE!」表示がどのような状況にいるのかを見極めて、正しく対処していきましょうね!
の主な原因
- 数式に問題がある
- 参照セルに問題がある
エクセルにはエラー表示を非表示にできる関数もあり、上手につかえば表の見た目をすっきり整えることができますのでぜひ参考にしてください。