• ベストアンサー

エクセル関数を使用して項目を抽出したい。

例えば、下のような表があるとして、     A   B   C   1   年 名前  年俸 2  07春  か  1000 3  07夏  か  6000 4  07秋  か  8500 5  07春  き  5000 6  07夏  き  4500 7  07夏  け  5000 8  07秋  け  9000 同じ年の年俸の高い順に、年俸と名前を抽出したいです。 例えば、こんな感じに。 07春なら、 き 5000 か 1000 07夏なら、 か 6000 け 5000 き 4500 一応自分でも考えてみたのですが、自分の知識では、 年が「07春」で、かつ年俸の高い順というように複数条件を組み込むことが出来ませんでした。。 一応、考えてみた関数です。 07春のケースで名前を抽出(高い順が考慮されず・・・。) =INDEX(B1:B10000,MATCH("07春",A1:A10000,0),B1) 恐らくこれに、LARGE関数を上手く組み合わせればよいと思うのですが、もうお手上げです^^; どなたか、わかる方、回答お願いいたします。

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

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

◆関数による方法です     A   B   C   D   E   F   1   年 名前  年俸     07夏 2  07春  か  1000      か  6000 3  07夏  か  6000      け  5000 4  07秋  か  8500      き  4500 5  07春  き  5000 6  07夏  き  4500 7  07夏  け  5000 8  07秋  け  9000 ★E1に、「年」を入力します F2=IF(ROW(A1)>COUNTIF($A$2:$A$8,$E$1),"",LARGE(INDEX(($A$2:$A$8=$E$1)*($C$2:$C$8),),ROW(A1))) ★下にコピー E2=IF(F2="","",INDEX($B$1:$B$8,SMALL(INDEX(SUBSTITUTE(($A$2:$A$8=$E$1)*($C$2:$C$8=F2),0,10^5)*ROW($A$2:$A$8),),COUNTIF($F$2:F2,F2)))) ★下にコピー ◆E1の「年」を変更するとその内容が表示されます ◆少し式が長いですが、同じ年棒でもできますよ

bumplove777
質問者

お礼

完璧なご回答をありがとうございました!!

その他の回答 (1)

noname#204879
noname#204879
回答No.1

関数による解決をお望みのようだけど、別解としてピボットテーブルでもご希望の結果を得ることが可能です。手順(単純ではありません)はご自分で勉強していただくとして、結果だけを示しておきます。 合計 / 年俸 年      名前 合計 07夏     き  4500        か  6000        け  5000 07秋     か  8500        け  9000 07春     き  5000        か  1000

関連するQ&A

専門家に質問してみよう