• ベストアンサー

(EXCEL)条件付き最大値

EXCELで条件付きの最大値を求めたいと思ったのですが、やり方がおもいつきません。 例 1 A 1月2日 2 B 1月9日 3 A 1月6日 4 A 1月8日 5 B 1月5日 6 A 1月2日 とあって、2列目がBの最大の日付を表示させたいのですが、、どうしたらいいでしょう? ついでに、2列目がBの最大の日付のときの1列目も一緒に表示させたいのですが、、、

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

(例データ)A1:C10 1 A 1月2日 2 B 1月9日 3 A 1月6日 4 A 1月8日 5 B 1月5日 6 A 1月2日 7 B 1月3日 8 A 1月4日 9 B 1月5日 10 C 1月6日 (関数式) 例えばC12 =MAX(IF(B1:B10="B",C1:C10,0))と入れて SHIFT+CTRL+ENTERを押す。配列数式。 結果1月9日 その後C13に =OFFSET($A$1,MATCH(C12,$C$1:$C$10,0)-1,0) で、結果2(行目)です。 分かりやすいように2段に分けて説明しました。 関数をネストすれば、1つの式になります。 =OFFSET($A$1,MATCH(MAX(IF(B1:B10="B",C1:C10,0)),$C$1:$C$10,0)-1,0) でSHIFT+CTRL+ENTERキーを押す。配列数式。 結果2.

その他の回答 (3)

  • yuu_yuu
  • ベストアンサー率41% (34/81)
回答No.3

#1の方の方法で問題ないと思います。 1つだけ補足させてください。 (横槍ですみません<(_ _)>) >この式を右に一つコピーすれば。。。 この方法だと多分、コピー後6桁ぐらいの数字が表示されるはずです。 セルの書式を変更して、日付にしないとカナ。 以上

  • jindon
  • ベストアンサー率43% (50/116)
回答No.2

#1 訂正です "a" は "b"ですね

  • jindon
  • ベストアンサー率43% (50/116)
回答No.1

=INDEX($A$1:$B$6,MATCH(MAX(IF($A$1:$A$6="a",$B$1:$B$6)),$B$1:$B$6,0),COLUMN(A1)) Ctrl+Shift+Enter で確定、で2列目 この式を右に一つコピーすれば日付(3列目?) かな?

G-ISZ
質問者

お礼

返信遅くなりました。。。 ありがとうございます! 配列方式を使うんですね。 勉強になりました。

関連するQ&A