【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セルに文字列1A2セルに2を入力すると3が返ります。
  • =DAY(A1) A1セルに44502を入力すると2が返ります。
  • =DATEVALUE (A1) A1セルに‘2021/11/2(文字列)を入力すると44502が返ります。

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

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

VALUEエラーの画像。参照先がエラーの為、対象セルがVALUEエラーになっている。
  • B2セルが文字列になっている為、D2セルでエラーが返ります。D2セルを参照しているD6,D7セルもエラーになります。
引数が#VALUE!を参照している場合の修正方法は?
  • 参照先のエラーを修正して下さい。
VALUEエラーの画像。参照先のエラーが解消され、VALUEエラーが無くなっている。

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

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

VLOOKUP関数のサンプル画像。詳細は以下。
  • =VLOOKUP($G$1,$A$2:$D$5,0)

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

VALUEエラーの画像。VLOOKUP関数の結果がVALUEエラーになっている。

#VALUE!を返します。

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

VLOOKUP関数で#VALUE!が出た場合の修正方法は?

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

  • =VLOOKUP($G$1,$A$2:$D$5,2)
VLOOKUP関数のサンプル画像。引数が修正されている。
VLOOKUP関数のサンプル画像。関数の戻り値が表示されている。

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

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

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

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

他ブックを参照しているセルで#VALUE!が出た場合の修正方法は?
  • 参照しているブックを開き、F9キーを押して数式を更新する

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

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

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

参照セルの文字数が多いときに#VALUE!が出た場合の修正方法は?

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

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

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

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

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

SUMIFS関数のサンプル画像。配列の参照列数がC列だけ1列少ない。
  • =SUMIFS(C2:C4,A2:A5,A7,B2:B5,B7)

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

VALUEエラーの画像。SUMIFS関数がVALUEエラーを返している。

#VALUE!を返します。

SUMIFS関数で#VALUE!が出た場合の修正方法は?

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

  • =SUMIFS(C2:C5,A2:A5,A7,B2:B5,B7)
SUMIFS関数のサンプル画像。C列の参照列数が他の列と揃えられている。
SUMIFS関数のサンプル画像。関数の戻り値が正しく返されている。

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

SUMPRODUCT関数のサンプル画像。各配列の要素数が合っていない。が
  • =SUMPRODUCT(B2:B5,C2:C4)

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

VALUEエラーの画像。SUMPRODUCT関数がVALUEエラーを返している。

#VALUE!を返します。

SUMPRODUCT関数で#VALUE!が出た場合の修正方法は?

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

  • =SUMPRODUCT(B2:B5,C2:C5)
SUMPRODUCT関数のサンプル画像。各配列の要素数が揃えられている。
SUMPRODUCT関数のサンプル画像。関数の結果が正しく返されている。

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

文字列を検索する関数で検索文字列が見つからなかった場合、完全一致が条件の関数では#VALUE!を返します。

  • =FIND(“gundam”,”Gundam (RX-78)”,1) #VALUE!が返ります。
文字列を検索する関数で#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!が返ります。
文字列を検索する関数で#VALUE!が出た場合の修正方法は?

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

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

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

エラーを表示しない方法

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

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

よかったらシェアしてね!
  • URLをコピーしました!
目次