
GoogleスプレッドシートのMAXIFS関数は、複数の条件を満たす項目の中から、最大値を抽出できる便利な関数です。この記事では、MAXIFS関数の基本的な使い方から、日付やセル参照を条件にする応用テクニックまで、具体例を交えて分かりやすく解説します。
MAXIFS関数の使い方

MAXIFS関数は、指定した条件を満たすセル範囲の中から、最大の値を返します。
例:=MAXIFS(C2:C5,A2:A5,"野菜")
この数式は、A列が「野菜」という条件に一致する行の、C列の最大値(例: 300)を返します。
MAXIFS関数の引数:(範囲, 条件範囲1, 条件 1, [条件範囲2, …], [条件 2, …])
その他の条件(以上・以下・以外など)の指定方法
比較演算子を使うことで、数値や日付を条件として指定できます。条件は二重引用符("")で囲んでください。
- 〜以上:
">=100" - 〜以下:
"<=100" - 〜と等しくない:
"<>100" - 〜より大きい:
">100" - 〜より小さい:
"<100"
条件に日付を指定する方法

特定の日付よりも前の期間の最大値を抽出したい場合は、"<YYYY/MM/DD" のように記述します。
たとえば、「A列が2026年1月1日より前」という条件に一致する行の、C列の最大値を抽出したい場合、数式は以下のようになります。
例:=MAXIFS(C2:C5,A2:A5,"<2026/01/01")
条件をセル参照にする

条件に比較演算子とセル参照を組み合わせる場合は、&を使って、両者を結合します。
例:=MAXIFS(C2:C5,A2:A5,"<"&E2)
&は、"<"とE2セルの値を結合することで、数式内で<2026/01/01という条件を生成します。
よくある質問とエラーの対処法
- MAXIFSで2番目に大きい値を抽出したい
- MAXIFS関数は、条件に一致する最大値しか抽出できません。2番目以降の値を抽出したい場合は、FILTER関数とLARGE関数を組み合わせます。詳しくは、LARGE関数の記事をご参照ください。(詳細はコチラ)
- 複数条件(OR)を指定したい
- いずれかの条件を満たすセル範囲から最大値を抽出したい場合は、MAX関数とFILTER関数を次のように組み合わせます。(詳細はコチラ)
- 例:
=MAX(FILTER(C2:C5,(A2:A5="条件1")+(A2:A5="条件2")))
- 結果が0になる
- 条件と一致する値がない: 入力ミスがないか、範囲指定が正しいかを確認します。
- 数字が文字列になっている: 数字が全角になっていないか、セルの表示形式が「テキスト」になっていないかを確認します。