dポイントプレゼントキャンペーン実施中!

日付ごとに、上位3つの金額と項目を関数で表示するにがどうすればよいでしょうか
1つの範囲から金額と項目を表示するほうほうはわかったのですが、
さらに、日付で絞って上位3社を表示するにはどうすればよいでしょうか

例えば以下のように日付ごと、会社ごとに売上情報があります。

A列      B列   C列

日付     会社名   売上
2016/5/1   A社   500
2016/5/1   B社   200
2016/5/1   C社   450
2016/5/1   D社   300
2016/5/1   E社   550
2016/5/2   A社   400
2016/5/2   B社   250
2016/5/2   C社   420
2016/5/2   D社   380
2016/5/2   E社   150


上記載の表から日付ごとに、上位3社を関数で表示したいです。
例えば下のような表です。

日付 2016/5/1   ←この日付を変えた場合↓に上位3位のデータが表示される
     会社名  売上
1位   E社   550
2位   A社   500
3位   C社   450

抽出条件がつくとわからなくなってしまったのでどうぞアドバイスをお願いいたします。

A 回答 (2件)

こんにちは!



元データはSheet1にあり、Sheet2に表示させるとします。
一例です。

↓の画像でSheet2のB4セルに
=IFERROR(INDEX(Sheet1!B$1:B$1000,MATCH(LARGE(IF(Sheet1!$A$1:$A$1000=$B$1,Sheet1!$C$1:$C$1000),ROW(A1)),Sheet1!$C$1:$C$1000,0)),"")
配列数式になりますので、Ctrl+Shift+Enterで確定!

この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → B4セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
最後にB4セルのフィルハンドルで列・行方向にコピーすると
画像のような感じになります。

※ 同順位(売り上げが全く同じ)の場合は考慮していません。
万一同順位がある場合は別の方法を考える必要があります。m(_ _)m
「エクセル 条件に合致するデータだけ上位3」の回答画像1
    • good
    • 1
この回答へのお礼

早速のアドバイスありがとうございました。
配列数式も含めて、勉強したら、できました。
どうもありがとうございました。

お礼日時:2016/05/19 00:00

関数ではなくピボットテーブルで良いと思います。


ピボットテーブルはそのまま使うとデータ範囲が変わりませんので(バージョンで改善された気がするけど)
[Ctrl]+[F3]名前の定義
名前 : PT範囲
参照範囲 : =$A$1:INDEX($C:$C,counta($A:$A))

ピボットテーブルウィザードの範囲で
=PT範囲
とする
ページフィールドに日付
行フィールドに 会社名
データフィールドに 売上(合計)

また、ピボットテーブルで「並べ替えてトップテン表示」を使い
売り上げを基準に 降順
表示は 上位 3

添付図参照参考まで
「エクセル 条件に合致するデータだけ上位3」の回答画像2
    • good
    • 2
この回答へのお礼

画像まで添付していただきありがとうございます。
名前の参照範囲にINDEXを使う方法は始めてみたので感動しました。
ありがとうございました。

お礼日時:2016/05/19 00:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!