- ベストアンサー
(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列目も一緒に表示させたいのですが、、、
- みんなの回答 (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)
#1の方の方法で問題ないと思います。 1つだけ補足させてください。 (横槍ですみません<(_ _)>) >この式を右に一つコピーすれば。。。 この方法だと多分、コピー後6桁ぐらいの数字が表示されるはずです。 セルの書式を変更して、日付にしないとカナ。 以上
- jindon
- ベストアンサー率43% (50/116)
#1 訂正です "a" は "b"ですね
- jindon
- ベストアンサー率43% (50/116)
=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列目?) かな?
お礼
返信遅くなりました。。。 ありがとうございます! 配列方式を使うんですね。 勉強になりました。