[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数グループに対し順番を飛ばさない順位付けをしたい』(memento)
[[20061207150413]]の『グループ別の順位』が近いのですが、
A B C D E 1 地域 担当 商品 売上 順位 2 関東 田中 りんご 100 3 九州 児玉 みかん 50 4 東北 藤田 アボガド 70 5 九州 遠藤 りんご 20 6 関東 田中 なし 80
たとえばこんな表で、A列とB列で絞り込みをし、D列の数字に従って 数字の大きいほうから順位付けを行いたいのです。 これだけならSUMPRODUCTで出来るのですが、順番を飛ばさないように 順位付けをしたいのです。
よろしくお願いします。
具体的に、 どこでどの様に絞り込みを行った場合 どのセルがどの順位になるのか
また、 >絞り込みを行う とはどういったことなのか オートフィルタなどを使用? 単に○○で××の と条件を付けるだけ?
等、書いておかれるのが良いのではないかと思います。
(HANA)
たとえば、担当の「田中」で順位付けをした場合、他の地域でも同名の人がいると 順位付けがおかしくなります。 ですのでそのダブりを地域で分ける事で避けたいのです。 オートフィルタを使用するのではなく、E列に、関数で処理した順位が表示されるようにしたいと思っています。
これを最初はE=SUMPRODUCT(($A$2:$A$100=A2)*($B$2:$B$100=B2)*($D$2:$D$100>D2))+1 という式で出そうとしたのですが、これだと同順位がある場合、次の順位はその分だけ 飛んでしまいます(例:1位、2位、2位、4位)
ですので、(例:1位、2位、2位、3位)といったように表示したいのですが・・
>たとえば、担当の「田中」で順位付けをした場合、他の地域でも同名の人がいると >順位付けがおかしくなります。
>これだと同順位がある場合、次の順位はその分だけ >飛んでしまいます(例:1位、2位、2位、4位) >ですので、(例:1位、2位、2位、3位)といったように表示したいのですが・・
でしたら、最初に載せて居られるデータでは 不十分ですよね。
データを作るのは大変ですが どんなデータが在って、どんな結果になればよいのか 見せて説明する事が出来れば より伝わりやすいですし こちらでサンプルデータを作成する必要もなくなるので コメントも付きやすいと思います。
さて、G:H列に作業列を作成する方法です。 [A] [B] [C] [D] [E] [F] [G] [H] [1] 地域 担当 商品 売上 順位 作業列1 作業列2 [2] 関東 田中 りんご 100 1 100 1 [3] 九州 児玉 みかん 50 [4] 東北 藤田 アボガド 70 [5] 九州 遠藤 りんご 20 [6] 関東 田中 なし 80 2 80 2 [7] 四国 田中 みかん 90 [8] 関東 田中 なし 80 2 [9] 関東 田中 なし 70 3 70 3 [10] 九州 遠藤 みかん 30 G2セルに =IF(SUMPRODUCT(($A$2:A2="関東")*($B$2:B2="田中")*($D$2:D2=D2))=1,D2,"") H2セルに =IF(G2="","",RANK(G2,$G$2:$G$10)) E2セルに =IF(AND(A2="関東",B2="田中"),VLOOKUP(D2,$G$1:$H$10,2,FALSE),"")
それぞれ10行目までフィルドラッグ。
(HANA)
サンプルデータを広げて作って下さり、お手数をおかけしました。 仰る通り、もう少し丁寧に質問しなければいけませんね。
ところで、この方法だと「関東」「田中」に限って順位付けすることは出来るのですが 全ての場合に対して順位付けは出来ませんよね?
例えば、 A B C D 1 グループ1 グループ2 得点 順位 2 あああ AAA 50 2 3 あああ AAA 90 1 4 あああ AAA 50 2 5 あああ BBB 100 1 6 あああ BBB 50 2 7 いいい AAA 20 2 8 いいい AAA 70 1 9 いいい BBB 10 1 10 いいい CCC 40 2 11 いいい CCC 90 1 12 ううう AAA 50 1 13 ううう BBB 190 1 14 ううう BBB 10 3 15 ううう BBB 60 2 16 ううう BBB 60 2 ・ ・ ・ ・ ・ ・ ・ ・ ・
ちょっと表を簡略化したのですが、こういった感じで順位付けをしたいのです。 如何でしょうか?
データ量によって 検討が必要かもしれませんが [A] [B] [C] [D] [E] [F] [G] [1] グループ1 グループ2 得点 順位 作業列1 作業列2 [2] あああ AAA 50 2 50 2 [3] あああ AAA 90 1 90 1 [4] あああ AAA 50 2 0 3 [5] あああ BBB 100 1 100 1 [6] あああ BBB 50 2 50 2 [7] いいい AAA 20 2 20 2 [8] いいい AAA 70 1 70 1 [9] いいい BBB 10 1 10 1 [10] いいい CCC 40 2 40 2 [11] いいい CCC 90 1 90 1 [12] ううう AAA 50 1 50 1 [13] ううう BBB 190 1 190 1 [14] ううう BBB 10 3 10 3 [15] ううう BBB 60 2 60 2 [16] ううう BBB 60 2 0 4
F2 =IF(SUMPRODUCT(($A$2:A2=A2)*($B$2:B2=B2)*($C$2:C2=C2))=1,C2,0) G2 =SUMPRODUCT(($A$2:$A$16=A2)*($B$2:$B$16=B2)*($F$2:$F$16>=F2)) D2 =SUMPRODUCT(($A$2:$A$16=A2)*($B$2:$B$16=B2)*($F$2:$F$16=C2),$G$2:$G$16)
16行目までフィルドラッグ。
(HANA)
こちらの質問が情報不足の為に、何度も回答して頂く事になってしまいました。 すみません。ありがとうございました。
1000件程度のデータなので大丈夫でした。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.