• 締切済み

エクセル関数

下記のような表があった場合の質問です。 A列は違う日付、B、C列は同じものが複数ある場合や一つしかない場合があり、D列は全部同じ場合と一部違う場合があります。 A       B      C     D     E         ナンバー   名前    金額 1/1       1001   三井    1000 1/10      1001   三井    1000  1/18      1001   三井    1000 1/3       1002   みずほ   1500 1/7       1002   みずほ   1500 1/31      1002   みずほ   1600 1/4       1003   三菱    2000 1/15      1003   三菱    2000 1/22      1003   三菱    2100 三井なら1/18、みずほなら1/31、三菱なら1/22の行を抽出(金額が一番高いデータを抽出したい)のですが、E列にはどんな関数をいれれば良いでしょうか。 よろしくお願いします。

みんなの回答

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆mike_gさんの表をお借りしまして H2=INDEX($A$1:$A$10,MAX(INDEX(($D$2:$D$10=MAX(INDEX(($C$2:$C$10=G2)*($D$2:$D$10),)))*($C$2:$C$10=G2)*ROW($A$2:$A$10),))) ★下にコピー I2=MAX(INDEX(($C$2:$C$10=G2)*($D$2:$D$10),)) ★下にコピー

noname#204879
noname#204879
回答No.2

   A    B    C   D  E  F   G   H 1  日付 ナンバー 名前  金額   名前  日付 金額 2  1/1   1001 三井  1000   三井  1/18 1000 3  1/10   1001 三井  1000   みずほ 1/31 1600 4  1/18   1001 三井  1000   三菱  1/22 2100 5  1/3   1002 みずほ 1500 6  1/7    1002 みずほ 1500 7  1/31   1002 みずほ 1600 8  1/4   1003 三菱  2000 9  1/15   1003 三菱  2000 10 1/22   1003 三菱  2100 11 G2: {=INDEX(INDIRECT(G$1),MATCH(MAX((名前=$F2)*日付*金額),日付*金額,0))}   (配列数式 ) ただし、 名前=$C$2:$C$20 日付=$A$2:$A$20 金額=$D$2:$D$20

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

関数では出来るかな。 配列数式と言うものをつかう(聞いた事も無いかも) 例データ 質問のデータを少し変えている -- ナンバー 名前 金額 1月1日 1001 三井 1000 1月10日 1001 三井 1000 1月18日 1001 三井 1000 1月3日 1002 みずほ 1500 1月7日 1002 みずほ 1500 1月31日 1002 みずほ 1600 1月4日 1003 三菱 2500 1月15日 1003 三菱 2000 1月22日 1003 三菱 2100 ーーーー G列  H列  =>どこの列でも良い。G列は手入力(または フィルタオプション利用) 三井 1000 みずほ 1600 三菱 2500 H2の式 =MAX(IF($C$2:$C$10=G2,$D$2:$D$10)) と入れて、SHIFT+CTRL+ENTER(3つのキーを同時押し) H3,H4には式を複写

関連するQ&A

専門家に質問してみよう