要約:10秒でできる解決策
#VALUE! エラーは通常、Google Sheets が数値を**テキスト(文字列)**として認識していることを意味します。文字列に対して計算はできないため、数式がエラーになります。以下のクイック修正を試してください。
- 書式設定による修正: 数値を選択し、表示形式 > 数字 > 数値 を選択します。
- 計算ハック:
SUMPRODUCTを使い、範囲をVALUE()で囲みます:=SUMPRODUCT((A2:A10="条件")*VALUE(B2:B10)) - 「1を掛ける」トリック: 新しい列で
=C2*1を使用します。これにより、Google Sheets は強制的に値を数値として認識します。
正確なエラーメッセージ
セルの右上の赤い三角にカーソルを合わせると、次のような警告が表示されるはずです。
#VALUE! (SUMIF 関数のパラメータ 3 には数値が必要です。しかし '...' はテキストであり、数値に強制変換できません。)
なぜこのエラーが発生するのか?
Google Sheets は通常、データ型を自動的に判別しますが、隠れた書式設定によってそのロジックが崩れることがあります。合計範囲 に数値のように見えても文字列として保存されている値が含まれている場合、SUMIF は処理を中断します。
主な原因は以下の通りです:
- 不完全なインポート: CSVや会計ソフトからのデータには、数値をテキストとして保持する「ゴースト」アポストロフィ(例:
'500)が含まれていることがよくあります。 - ウェブスクレイピング: ウェブサイトからデータをコピーすると、
(不換分スペース)などの不可視文字が含まれることがあります。 - 手動による上書き: チームメンバーがデータを入力する前に、列を「書式なしテキスト」に設定した可能性があります。
- カンマ vs ピリオド: シートがヨーロッパのロケールに設定されている場合、
1,234.56は1.234,56ではなくテキストとして読み取られることがあります。
修正方法
方法1:その場で変換する SUMPRODUCT を使用する
元のデータを変更したくない場合は、SUMPRODUCT を使用します。SUMIF とは異なり、配列操作をより柔軟に処理でき、計算中にテキストを数値に変換できます。
=SUMPRODUCT((A2:A100="売上")*VALUE(B2:B100))
この数式は、A列で「売上」を検索し、VALUE を使用してB列を実際の数値に変換してから合計します。
方法2:隠れたスペースを除去する
末尾にスペースがあるために数値として認識されない場合があります(例:"100 ")。TRIM と CLEAN を使用して、範囲全体を一度にクリーニングできます。
=ARRAYFORMULA(SUMIF(A2:A100, "完了", VALUE(TRIM(B2:B100))))
方法3:「形式を選択して貼り付け」による一括修正
これは、新しい数式を追加せずに数千行を修正する最速の方法です。Google Sheets にすべてのセルを再評価させます。
- 任意の空のセルに数字の
1を入力し、コピーします(Ctrl+C)。 - エラーの原因となっている「偽の」数値の列を選択します。
- 右クリックして、形式を選択して貼り付け > 値のみ貼り付け を選択します。
- もう一度右クリックして、形式を選択して貼り付け > 乗算 を選択します。
Google Sheets はすべてのセルに1を掛けます。テキストに掛け算はできないため、強制的に内容を数値形式に変換します。
方法4:範囲を揃える
条件範囲と合計範囲のサイズが同一であることを再確認してください。条件範囲が A2:A50 なのに合計範囲が B2:B40 の場合、数式は失敗するか、誤った結果を返すことがよくあります。両方の範囲が同じ行番号で始まり、終わるようにしてください。
修正を確認する方法
正しく修正されたか分からない場合は、配置を確認してください。デフォルトでは、Google Sheets は数値を右揃え、テキストを左揃えにします。数値がセルの左側に寄っている場合は、まだテキストとして認識されています。
また、空のセルで簡単なテストを行うこともできます。
=ISNUMBER(B2)
これが FALSE を返す場合、まだ解決すべき書式設定の問題が残っています。
関連情報
- Google Sheets サポート:SUMIF 関数のガイド
- データクリーニングのための VALUE 関数をマスターする
- 上級編:REGEXREPLACE を使用して数値から通貨記号を取り除く

