【Excel】#VALUE!の意味と修正する方法9パターン

目次

#VALUE!の意味は状況によって違います

#VALUEエラーが意味するところとその修正方法をサンプルを使って9パターン解説します。「エラーは非表示にする」という策もありますが、まずはエラーを修正するところから始めましょう。

データの型が合っていない

数式の参照、関数の引数でデータの型(数値、文字列)が合っていないと#VALUE!を返します。

=A1+A2 A1セルに文字列、A2セルに2を入力すると#VALUE!が返ります。

=DAY(A1) A1セルにを入力すると#VALUE!が返ります。

=DATEVALUE (A1) A1セルに44502(シリアル値)を入力すると#VALUE!が返ります。

スペース(半角、全角)も文字列として認識されます。

修正方法は?

文字列が指定されている場合は文字列を、数値が指定されている場合は数値を入力して下さい。

=A1+A2 A1セルに文字列1、A2セルに2を入力すると 3が返ります。

=DAY(A1) A1セルに44502 を入力すると 2が返ります。

=DATEVALUE (A1) A1セルに‘2021/11/2(文字列)を入力すると44502が返ります。

引数がエラーを参照している

数式がエラーを参照していると#VALUE!を返します。

B2セルが文字列になっている為、D2セルでエラーが返ります。D2セルを参照しているD6,D7セルもエラーになります。

修正方法は?

参照先のエラーを修正して下さい。

VLOOKUP関数で列番号にテキストが含まれている、または0より小さい

VLOOKUP関数の引数列番号の指定が文字列、または0より小さいと#VALUE!を返します。

=VLOOKUP($G$1,$A$2:$D$5,0)

引数列番号0で指定されていると

#VALUE!を返します。

HLOOKUP関数の行番号も同様です。

修正方法は?

引数列番号の指定を数値、かつ0より大きくします。

=VLOOKUP($G$1,$A$2:$D$5,2)

特定の関数が閉じている別ファイルのセルを参照している

エクセルは閉じている別ファイルのセルを参照することができます。しかし、閉じている別ファイルのセルを参照すると#VALUE!を返す関数が存在します。MicroSoftも認識している既知の問題です。

  • SUMIF/SUMIFS
  • COUNTIF/COUNTIFS/COUNTBLANK …等

他ブックのセルを参照しているファイルで#VALUE!が出るようならこの症状を疑ってみて下さい。

修正方法は?

参照しているブックを開き、F9キーを押して数式を更新する

配列数式(SUM関数とIF関数を組み合わせる)かSUMPRODUCT関数に置き換える事でも回避できます。

引数が参照しているセルの文字列が 255 文字より長い

引数検索値検索条件文字列等を持つ関数に、255文字を超えるセルを参照させると#VALUE!が返ります。

修正方法は?

参照するセルの文字列を短くするか、アンパサンド演算子(&)を使って引数を分割します。

例:300文字のセルを参照している場合

=COUNTIF(B2:B10,”文字列200文字”&“文字列100文字”)

SUMIFS関数で条件範囲引数と合計対象範囲引数が一致しない

条件範囲引数と合計対象範囲引数が同じ行数と列数を参照していないと#VALUE!を返します。

=SUMIFS(C2:C4,A2:A5,A7,B2:B5,B7)

引数合計範囲が3列しか参照されていません。

#VALUE!を返します。

修正方法は?

引数の列数を同じにして下さい。

=SUMIFS(C2:C5,A2:A5,A7,B2:B5,B7)

SUMPRODUCT関数で配列同士の要素数が異なる

=SUMPRODUCT(B2:B5,C2:C4)

「数量」の要素数4に対し、「単価」の要素数が3しかありません。

#VALUE!を返します。

修正方法は?

配列の要素数を合わせて下さい。

=SUMPRODUCT(B2:B5,C2:C5)

文字列を検索する関数で検索文字列の値が見つからない

文字列を検索する関数で、完全一致が条件の関数では#VALUE!を返します。

=FIND(“gundam”,”Gundam (RX-78)”,1) #VALUE!が返ります。

修正方法は?

1.引数を修正します。

=FIND(“Gundam”,”Gundam (RX-78)”,1)  1が返ります。

2.SEARCH関数は大文字と小文字を区別しないのでエラーになりません。

=SEARCH(“gundam”,”Gundam (RX-78)”,1) 1が返ります。

文字列を検索する関数で検索文字列の開始位置が適切ではない

引数開始位置0を指定すると#VALUE!を返します。

=FIND(“G”,”Gundam (RX-78)”,0) #VALUE!が返ります。

引数対象の文字数以上の数値を開始位置に指定すると#VALUE!を返します。

=FIND(“G”,”Gundam (RX-78)”,15) Gundam (RX-78) は14文字なので#VALUE!が返ります。

修正方法は?

適切な値を設定して下さい。

=FIND(“G”,”Gundam (RX-78)”,1) 1を返します。

引数開始位置は省略可能です。省略すると既定値の1が設定されます。

エラーを表示しない

どうしてもエラーを回避できない場合はエラーハンドリングを行います。IFERROR関数を使用してエラーを非表示にしましょう。

その他のエラーも別のページで解説しています。

よかったらブックマークとシェアをお願いします。それでは、最後までご高覧いただきありがとうございました。

よかったらシェアしてください
URLをコピーする
URLをコピーしました!
目次
閉じる