• ベストアンサー

エクセル関数で、ある検索条件で最大値を表示するには

マクロの知識がないため、関数での対応方法を教えてください。 No. A B 1   1 0 2   1 1 3   1 2 4   1 3 5   2 0 6   2 1 7   3 0 8   3 1 9   3 2 ・・・ 上記データでA列が同じ数字なら、B列の最大値をC列に表示したいです。 この場合、A1~A4は1なので、B1~B4の最大値3をC1~C4に表示 と言う具合です。 これが1000行以上あります。 良い方法はございませんか?

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 C1に=MAX(IF(A$1:A$1000=A1,B$1:B$1000))を入力、入力完了時にshift+ctrl+enterキーを同時押下して下方向にコピー

dilemma03
質問者

お礼

早速のご回答ありがとうございます。 まさに欲していた結果でした。 これで仕事がはかどります。 ありがとうございました。

その他の回答 (1)

  • SePapa
  • ベストアンサー率50% (47/94)
回答No.1

こんにちは。 まずは値の並べ方ですが、A昇順+B降順でソートは可能でしょうか。 例の場合ですと、以下のようになります。 No. A B 1   1 3 2   1 2 3   1 1 4   1 0 5   2 1 6   2 0 7   3 2 8   3 1 9   3 0 ・・・ 可能であれば以下の式でいけます。 (1)C1のセルにはB1と同じ値(3)を手入力します。 (2)C2に以下の式をいれます。 =IF(A1=A2,IF(C1>B2,C1,B2),B2) 式の意味・・・ A1とA2が同じであれば、C1とB2を比較して大きい方を採用します。 A1とA2が同じでなかればB2をそのまま採用します。 この式をC列全部にコピーすれば終わりです。

dilemma03
質問者

お礼

早速のご回答ありがとうございます。 順序を入替える発想がありませんでしたが、 最終的には昇順でのデータが必要なので、 ひと手間要りますね。