• 締切済み

グループに順位をつけ、降順に並べ替えたい

imogasiの回答

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

データ例ぐらい挙げて、質問内容を説明すべきだ。 また関数、VBA、その他どこまでなら質問者は理解できるのか、注記しておくべきだ。 関数しか念頭にないのだろうな、と想像して、VBAは避けて下記をやってみた。 基本は「ソート法」なのだが、説明が長くなるが、判ってもらえるかな。 また質問者のニーズが、「はっきり」とは伝わらない。 ーー データ例 A1:D11 営業マン氏名 営業所 売上 コード 山田 横浜 34 11 水野 水戸 57 21 上島 調布 62 31 大川 横浜 41 11 鶴野 調布 69 31 神田 水戸 38 21 鳥島 横浜 46 11 遠野 水戸 31 21 上尾 調布 24 31 黒川 横浜 51 11 コードは下記で説明する。VLOOKUP関数で出したもの。 営業所の列(B列)を指定しておいて データーフィルタの詳細設定ー指定した範囲ーF1:F9-重複するレコードは無視する。 で、F1:H4に 営業所 横浜 水戸 調布 とでる.営業所名の重複しないリストができた。 ーー 営業所売上合計をSUMIF関数で出す。 G2に式 =SUMIF($B$2:$B$11,F2,$C$2:$C$11) を入れて、営業所数だけ縦方向に複写する。 横浜 172 水戸 126 調布 155 H1:H4に コード 11 21 31 を入れる(手入力。人間が決める、会社で決まっているとか)。 G2に式 =SUMIF($B$2:$B$11,F2,$C$2:$C$11)を入れて下方向に営業所数だけ複写する。 F1;H4は下記となる。営業所売上合計と営業所コードを入力したものができる。 営業所 売上合計 コード 横浜 172 11 水戸 126 21 調布 155 31 ーー D2に式 =VLOOKUP(B2,$F$2:$H$4,3,0)を入れて営業マンの最下行まで式を複写(各営業マンの行に営業所コードを付加した) ーー F2:H4をコピーして B12:C14に貼り付け 、D12:D14には営業所(合計行のための)のコードを 10 20 30 と貼り付ける。たとえば10台のコードの最小のコード10を割り当て、ソートして一番上に出るようにしている。一番下を望むなら19、29、39とかにする。 ーー これを、手操作でソートする。 第一キーは「コード」 第二キーは「売上」でソート ーー 結果 営業マン氏名 営業所 売上 コード 横浜 172 10 黒川 横浜 51 11 鳥島 横浜 46 11 大川 横浜 41 11 山田 横浜 34 11 水戸 126 20 水野 水戸 57 21 神田 水戸 38 21 遠野 水戸 31 21 調布 155 30 鶴野 調布 69 31 上島 調布 62 31 上尾 調布 24 31

noname#243026
質問者

お礼

非常に曖昧な質問で失礼いたしました。また丁寧なご指導ありがとうございました。

関連するQ&A

  • EXCEL複数グループ内で欠損値を除いて順位を振る

    EXCELで複数のグループ内で順位を表示させるようにしたいのですが、 間に欠損値「-」があります。 SUMPRODUCT関数を用いて、グループ内順位を振る方法はわかったのですが 欠損値を除く方法が分かりません。 欠損値の場合は順位ではなく「-」を入力したいです。 A列 B列 C列 D列 E列 グループ1 グループ2 スコア グループ1での順位 グループ2での順位 関東 東京 40 1 1 関東 東京 30 3 2 関東 東京 20 5 3 関東 埼玉 35 2 1 関東 埼玉 25 4 2 関東 埼玉 - - - ・  ・ ・  ・ いまは一度並べ替えをして、順位を降っています。 ですが、順位を振るのはひとつではないため、何度も並べ替えが必要に なっています。 関数で並び替えをせずに順位を振ることはできませんでしょうか。 マクロ対応でなければ無理でしょうか。 (Excelのバージョンは2003です) よろしくお願いします。

  • EXCEL2007でグループ別の順位を昇順で

    こんばんは 下記のD列の順位を関数で計算する方法を教えてください。 C列の点数をもとにA列のグループ別の順位を昇順でつけたいのです。 宜しくお願い致します。 Aグループ  B氏名  C点数 D順位 1        あ    10    1 1        い    20    2 1         う    30    3 1        え    40    4 1        お    50    5 2        か    50    4 2        き    40    3 2        く     30    2 2        え    20    1 2        お    80    5 3        え    20    2 3        い    90    5 3        う    10     1 3        あ    50    3 3        お    60    4

  • エクセルで数字を抽出後、降順に並べ替えたい

    49通 52通 52通 48通 43通 36通 50通 のように並んでるデータがあります。 それを、『通』を除外して数字を抽出して、降順に並べ替えたいです。 違うセルに出てくる形でもOKなので教えていただけたらとても助かります。 今までは、区切り位置で『通』を消してそれから並べ替えをつかっていたのですが、ちょっと手間がかかるので、もっと速い方法があればと思って質問しました、よろしくお願い致します。

  • 順位付け

       A  B  C  D  E 1  A  6  5  2  3  2  B  3  4  1  1 3  C  9  5  3  5 4  D  6  4  2  1 5  D  0  4  0  -4 A列、チ-ム名 B列、勝点 C列試合数 D列、勝数 E列、得失点差 このようなシ-トがある場合、別のセルに1位~5位までの順位付けする関数を教えてください。 尚、勝点が同点場合は得失点差を考慮します。

  • エクセルの順位付けについて

    Sheet1に以下のデータがあります。      項目A 項目B 項目C 項目D 合計   順位 みかん   5   0.22    3    2  10.22    6 りんご   3   1.2    1    3   8.2     3 ばなな   4   2.2    3    1  10.2     5 いちご   1   1.5    2    3   7.5     1 ぶどう   2   1.5    3    1   7.5     1 れもん   3   2.5    1    3   9.5     4 ちなみに、項目A~Dの数値は、パラメータ(ウェイト)を変更する ことによって、変わります。したがって、順位も変わります。 そこで、Shee2では、パラメータを変更するたびに変わる順位順に 出したいのですが、どのようにすればよいでしょうか。 ご教示頂ければ幸いです。 最終形のイメージは以下ののとおりです。 順位      項目A 項目B 項目C 項目D   合計    1  いちご   1   1.5    2    3     7.5  1  ぶどう   2   1.5    3    1     7.5  3  りんご   3   1.2    1    3     8.2  4  れもん   3   2.5    1    3     9.5  5  ばなな   4   2.2    3    1    10.2    6  みかん   5   0.22    3    2    10.22  なお、順位のところは、1、2、3・・・と順番になるケースもあれば 1、2、2、4となるケースもあるかと思っています。 よろしくお願いします。

  • SQL文 2つのテーブルから、グループごとの合計を求める

    テーブル名:グループ表 ID   グループ名 ------------------------- 100   Aグループ 101   Bグループ 102   Cグループ 103   Dグループ 104   Eグループ テーブル名:売上表 ID   売上年月日   売上額 ------------------------------ 101   20090401   1000 101   20090501   2000 102   20090401   2500 102   20090503   1500 103   20090404   3000 103   20090506   4000 上記の2つのテーブルがあります。 グループごとの売上合計一覧を出します。 ■求めたいSELECT文結果 グループ名   合計(売上額) ---------------------- Aグループ    0 Bグループ   3000 Cグループ   4000 Dグループ   7000 Eグループ    0 select グループ名,sum(売上額)  from (select グループ名,売上額     from グループ表,売上表      where グループ表.ID = 売上表.ID)   group by グループ名 では、 グループ名   合計(売上額) ---------------------- Bグループ   3000 Cグループ   4000 Dグループ   7000 となってしまい、うまくいきません・・・ どうように書いたらよろしいでしょうか?

  • 特定条件の下でグループ化

    お世話になります。 SQL文でご質問があります。 たとえば以下のようなデータがあったとします。 項目1, 項目2, 項目3, 項目4 -------------------------------- 1  ,  A  ,  0  ,  10 2  ,  A  ,  0  ,  20 3  ,  B  ,  1  ,  30 4  ,  B  ,  0  ,  40 5  ,  C  ,  0  ,  50 6  ,  C  ,  0  ,  60 7  ,  D  ,  1  ,  70 8  ,  D  ,  1  ,  80 9  ,  E  ,  0  ,  90 10  ,  E  ,  1  ,  100 ここから[項目3] = 1 のレコードが含まれているもの に限り[項目2]でグループ化し、 [項目4]の合計値を求めて 項目2   ,   項目4 --------------- B  ,  70 D  ,  150 E  ,  190 と取得したいのですが、1回のSQL文で取得できるのでしょうか? ご存知のかたがいらっしゃいましたら、どうかご教授ください。m(__)m

  • エクセル 順位表

    エクセル 順位表 いつもお世話になります。 売上実績表の中に、順位表を追加したいのですが、実績表から抽出すると、同一の実績の営業所は、すべて同じ営業所になってしまい困っています。 A    B    C   D    E   F 営コード 実績      順位  営コード  実績 2     200   1   5  500 3   400   2   3  400 4   300   3   4  300 5   500   4   4  300 6   300   5   4  300 7    300 順位3、4、5位は、それぞれ4,6,7の営業所コードを表示したいのですが、どうしたらいいでしょうか。 F列には、F2=LARGE(B:B,ROW(A1)) E列には、E2=INDEX(A:A,MATCH(F2,B:B,0)) 営業所数は100程あり、ピボットテーブルを使用せずに作成したいです。 色々条件がついてますが、よろしくお願い致します。

  • 順位表のフリーウェア?

    ダーツの各競技の順位表がほしいのですが、このフリーウェアなら使えるよ。ってものがあれば教えて下さい。 A~Gの7人でそれぞれの点数を記入します。 例えば、 A:340点 B:500点 C:280点 D:380点 E:100点 F:560点 G:430点 ↓ 自動で F:560点 B:500点 G:430点 D:380点 A:340点 C:280点 E:100点 今はエクセルで毎日点数を更新し、セルを移動 しながら順位を変えています。 よろしくお願いします。

  • 並べ替えした順位の(元セル番号)を知りたい

    お世話になります。 はじめて質問します、よろしくお願い致します。 1行に1回目・2回目・~5回目と回数が並び、 2行に11・12・18・11・15と点数が並んで います。1行の5回目の後に、1位・2位・~5位と順位をつけて2行に関数SMALLを使って!並べ替えしました、これで小さいスコアーから順位は出たことになりますが、ご質問はここからです。 見てみると「11」が重複しています、見て2位の11は「1回目の11点(A2)」だ!3位の11は「4回目の11点(D2)」だと、わかるようにMATCHを使ってセルの位置を現そうとしたのですが!・・・重複している為出せません、アドバイスお願い致します。