Error messages are unavoidable when dealing with Excel, and you may be surprised when they suddenly appear, but there is nothing to fear if you know what they mean and what to do about them.
Here are the meanings of this error and countermeasures.
前提条件
例としてこのような表を作ってみました。

「B列」にはすべて同じ数字の「1」が入っています。
「D列」には「B+C」を入れています。
例えば「D2」セルには以下のような式を入れています。
=B2+C2
さらに「D3」セルには以下のような式を入れています。
=B3+C3

以下「D列」にはB+Cの計算式が入っています。
エラーが出る例と出ない例
まずエラーの出ない基本形として「D2」セルを見てみましょう。
「B2」セルと「B2」セルにはそれぞれ数字の「1」と数字の「2」が入っていますので、「D2」セルには1+2=3で「3」が表示されています。

計算過程に空白がある場合
表をよく見てみると「D3」セルは「#VALUE!」のエラーが出ていますが、「D4」セルはエラーが出ていません。違いは「C」セルにありますので中身を見ていきます。
「C3」セルには以下のように入っていて、計算結果に「””」空白が表示されるようになっています。
=IF(A3="","",1)

しかし「C4」セルには本当に何も入っていない「空白」になっています。

つまり空白なら「0」と同じ扱いで1+0=1の計算結果が表示されているのですが、計算結果で「””」空白を無理やり表示させようとするとエラー「#VALUE!」になってしまうわけです。
計算過程に空白がある場合の対策
対策の仕方たくさんありますが、どのようにしたいかによって対処方法は変わってきます。
空欄があったら計算せずにメッセージを出す
こちらは「C3」セルが「””」空白である前提で「D3」セルに入れる関数を工夫します。
「B3+C3」の計算結果がエラーになった場合メッセージを出すなら「IFERROR関数」を使って
=IFERROR(B3+C3,"○○に値が入っていません、□□を入力してください")
とします。
「C3」セルが「””」空白だった場合メッセージを出すなら「IF関数」を使って
=IF(C3="","○○に値が入っていません、□□を入力してください",B3+C3)
としてください。
どちらも結果は

" is displayed.
空欄だったら「0」として扱う
この場合は「C列」の関数の結果を「””」空白ではなく、「0」ゼロを表示させるようにしましょう。

「C3」セルに入力されている関数を
=IF(A3="","",1)
から
=IF(A3="",0,1)
に書き換えます。

すると「C3」セルは「0」と表示され、「D3」セルはエラーではなく「1+0」の計算結果である「1」と表示されました。
計算過程に文字列がある場合の対策
5行目と6行目の入力値と計算結果を見てみるとどちらも「C列」には「1個」と表示されていますが、数式バーを見てみると

「C5」セルには「1個」と入力されていますが、

「C6」セルには「1」とだけ入力されています。
つまり5行目は数値ではなく文字列になっているためにエラーが発生しています。
こちらも改善すべきは「D列」ではなく「C列」です。エクセルで計算させようとした場合文字列は入るべきではありませんが、このような単位を表示した方が見やすくなることはたくさんあります。
そのような場合は入力は数値のみとして、書式設定で単位を表示させることにします。
書式設定の変更方法
書式設定したいセルを選択し、「右クリック」して表示されたメニューから「セルの書式設定」をクリックします。

表示されたメニューから「表示形式」タブの中の分類で一番下の「ユーザー定義」をクリックし、下図の入力欄に「0″個”」と入力してから「OK」ボタンをクリックします。
0"個"

これで「書式設定」は完了しましたが、これだけではまだ「#VALUE!」のエラーが出ています。

「C5」セルの入力値から「個」の文字列を削除し数字のみにします。

これで「#VALUE!」のエラーを解消することができました。
Conclusion
「#VALUE!」のエラーは計算過程に「文字列」があった場合に発生するエラーですので、
- 計算過程に文字列を入れないようにする
- 文字列があった場合コメントを表示する
などの対応が必要です。
とはいっても何らかの理由で文字列が入ってしまう事は考えられます。そのような場合はコメントを表示させて値が数値ではなく文字列になっていることを分かるようにしておくと便利です。
例えば「D5」セルに以下のように記載します。
=IFERROR(B5+C5,"個数が文字列になっています。数値に修正してください")
この状態で「C5」セルが文字列になっていると

このように表示されれば個数の入力値が何かおかしいと気が付くことができます。
以上が「#VALUE!」の意味と対策でした。
このエラーが出た際は参考にしてください。
Comment