指定する条件の中から最大値を抽出する(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)))} とすると「データなし」という値が返ります。