指定する条件の中から最大値を抽出する(MAX)
最大値を抽出するだけならMAXで可能ですが、
指定する条件の中だけで最大値を抽出したいという場合は、配列数式を使います。
以下のように
A、B列に複数のデータがあります。
A列の「A」という条件の中だけで、B列から最大値を抽出します。
数式は以下のように入力します。
=MAX(IF(A1:A20="A",B1:B20))
配列数式の確定は「Ctrl +Shift+ Enter」とキーを押下します。
式の前後にカッコ{}が付き、以下のように確定されます。
{=MAX(IF(A1:A20="A",B1:B20))}
最大値の「100」という値が返ります。
変更した場合、再度「Ctrl +Shift+ Enter」とキーを押下して確定する必要があります。
  指定する複数の条件の中から最大値を抽出する(MAX)
A、B、C列に複数のデータがあります。
A列が「A」、B列が「あ」という条件で、C列から最大値を抽出します。
=MAX(IF((A1:A20="A")*(B1:B20="あ"),C1:C20))
配列数式の確定は「Ctrl +Shift+ Enter」とキーを押下します。
式の前後にカッコ{}が付き、以下のように確定されます。
{=MAX(IF((A1:A20="A")*(B1:B20="あ"),C1:C20))}
最大値の「50」という値が返ります。
変更した場合、再度「Ctrl +Shift+ Enter」とキーを押下して確定する必要があります。
  指定する条件の中から最小値を抽出する(MIN)
=MIN(IF(A1:A20="A",B1:B20)
と思いつきますが、A列に「A」がないとき、0が返ります。「A」というデータがあってその最小値が0なのか区別がつきません。
なので最小値を抽出するには、ちょっと工夫が必要です。
私はMATCH関数を使って「A」という値があるのか検査して、存在すれば配列数式を使うとしています。
=IF(ISERROR(MATCH("A",A1:A20,0)),"",MIN(IF(A1:A20="A",B1:B20)))
配列数式の確定は「Ctrl +Shift+ Enter」とキーを押下します。
式の前後にカッコ{}が付き、以下のように確定されます。
{=IF(ISERROR(MATCH("A",A1:A20,0)),"",MIN(IF(A1:A20="A",B1:B20)))}
最小値の「5」という値が返ります。
{=IF(ISERROR(MATCH("AA",A1:A20,0)),"",MIN(IF(A1:A20="AA",B1:B20)))}
「A」を「AA」とすると最大値の「」という値が返ります。
{=IF(ISERROR(MATCH("AA",A1:A20,0)),"データなし",MIN(IF(A1:A20="AA",B1:B20)))}
とすると「データなし」という値が返ります。