• 締切済み

EXCELでランキング表の作成

Excelでランキング表を作成したいと思いますが シート1に、以下の表があるとします A列(地点名) B列(標高) ・・・ M列(時分) N列(気温) A地点      500       5時     +1.2 B地点      550       6時     -0.8 C地点      600       6時     -1.2 D地点      530       5時     -0.8 シート2に、気温(N列)の低い順に並べ替えを行って N列(気温) A列(地点名) B列(標高) ・・・ M列(時分)  -1.2      C地点      600       6時      -0.8      B地点      550       6時      -0.8      D地点      530       5時      +1.2      A地点      500       5時      という表を作成したいと思います。 VBAを使わずに、通常の関数のみで作成するためには どのような手法がありますでしょうか? また、「ツール」-「並べ替え」等も使用したくありません。 わがままな質問ですが、御教授よろしくお願い致します

みんなの回答

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

もっと簡単な例で説明します。 (1)RANK関数は、同値は同番号を返すので、具合が悪いのでB列に値が入っているとして(B1:B10) =RANK(B1,$B$1:$B$10)+COUNTIF($B$1:B1,B1)-1 として、下方向に式を複写すると (B列) (C列) 12 8 13 5 34 2 55 1 11 9 32 3 13 6 8 10 14 4 13 7 のように、同値でも違った番号を振るように出来ます。 (2)さて大小の順番の番号を振った後に (A列) (B列) (C列) a 12 8 b 13 5 c 34 2 d 55 1 e 11 9 f 32 3 g 13 6 h 8 10 I 14 4 j 13 7 とすると E1に =OFFSET($A$1,MATCH(ROW(A1),$C$1:$C$10,0)-1,0) F1に =OFFSET($A$1,MATCH(ROW(B1),$C$1:$C$10,0)-1,1) と入れてそれどれ下方向に複写します。 行番号と値の大小の順番番号を一致させて、セルの値を拾ってきます。 結果は (E列) (F列) d 55 c 34 f 32 I 14 b 13 g 13 j 13 a 12 e 11 h 8 とソートされます。 E列の式とF列の式は第3引数だけが異なっています。 この考えを応用すると、列数が多くても出来ます。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

補足要求です。 N列に同じ値があった場合、第2キー以降の並び替えのキーおよび、順序はどうするのですか? 一応、いろいろ検討してみましたが、 関数で行うと、同列に同値が存在する場合、N列は問題なく表示できますが、その他の列が難しいと思います。

x_shio
質問者

補足

ありがとうございます。 第2キーは、そこまで考えていませんでした。 「地点名」でお願できればと思います。 (文字だから無理ということであれば標高でもかまいません) よろしくお願い致します

全文を見る
すると、全ての回答が全文表示されます。
  • matrix4
  • ベストアンサー率16% (118/704)
回答No.1

関数はソートってあったかな!? オートフィルタではどうでしょう?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで現在ランキング表を作成しています。

    エクセルで現在ランキング表を作成しています。 A1~C3に数値が、D1~F3に文字列が入っています。 A1の数値とD1の文字列、A2の数値とD2の文字列を関連付けるようにし、 別シートに数値の大きい順に列で並べ替え、ランキング順を付けて下図のように したいのですが、文字列を関連付けて並び替えることができません。どうしたらよいでしょうか? シート2のA列がランキング順位、B列が数値の大きい順、C列にBの数値と関連付けた文字列 シート1              シート2 ____A____B____C____D____E____F     A__B___C 1__12__18__00__AA__AB__AC    1__1__25__BC 2__10__08__25__BA__BB__BC    2__2__19__CC 3__05__09__19__CA__AB__CC    3__3__18__AB

  • エクセルでスコアランキング表作成について

    エクセルに関する質問です。 エクセルでスコアランキングを作成したいと考えております。 ゲームのスコアを入力していき、自動で順位順に並び替え、 パワーポイントにリンクで自動表示という流れを作りたいと考えております。 (1)入力sheet A列:順位 RANK関数(D列のスコアで順位) B列:参加者NO(固定001~) C列:ニックネーム(任意) D列:スコア 3-4桁の数値 (2)順位表sheet A列:順位 1~50 B列~D列→A列と入力sheetのA列を検索値として、参加者NO、ニックネーム、スコアを順位順に表示 という二つのsheetをつくっております。 スコアが同値で同じ順位が複数発生した際に、順位表sheetでN/Aになってしまいます。 同じスコアだった場合に、順位表に 4位、5位、5位、7位というように表示し、 同順位の人を表示する方法(vlookupですと、上の行しか読み込まれず・・・)が ありましたらご教示いただけないでしょうか? 御確認の程、よろしくお願いします。

  • Excel ランキング表へ一括してリンク貼付けしたい!

    スイミングスクールでコーチをしています。 【生徒ごとの種目別タイムシート】にある各種目の自己ベストタイムを、同一ブック内の【生徒間の種目別ランキング表シート】にある 特定の各セルへリンク貼付けしたいのですが、一括してリンク貼付けする方法はないものでしょうか? 手入力でひとつひとつリンク貼付けすると非常に煩雑な作業になってしまうので、困っています。 関数を使うことで問題が解決できれば最善なのですが、他にも解決できる方法があれば教えていただきたいのです。 どうか宜しくお願い致します。 各シートのおおまかな入力例は下記のとおりです。 【生徒ごとの種目別タイムシート】 生徒の氏名をシート名にして作成してあります。     A        B        C        D   ... 1 氏名:徳川家康 2 テスト実施日  自由形25m  自由形50m  背泳ぎ25m 3 2008/12/27   0:19.45 4 2009/02/25            0:35.40 5 2009/04/22   0:20.20 ・ ・ ・ 30 自己ベストタイム 0:19.45    0.35.40 (1)テスト実施日に行った種目のタイムを入力します。 ※各列30行目の自己ベストタイムは、列ごとにMIN関数を使用して自動表示しています。 【生徒間の種目別ランキング表シート】 自由形・背泳ぎ・平泳ぎなどの泳法別にシートを作成しています。    A     B     C     D     E     F     G     H 1 自由形 2 順位   25m                      50m 3  1   タイム   氏名    学年        タイム    氏名    学年 4  2   0:19.45  徳川家康  小6        0:31.00  大隈重信  小3 5  3   0:21.20  豊臣秀吉  中2        0:35.40  徳川家康  小6 ・ ・ ・ (1)【タイムシート】の自己ベストタイムを【ランキング表シート】の各々の氏名に該当するB列、F列・・・へリンク貼付けしていきます。 (2)各々の種目で データ→並べ替え の方法でタイム列を最優先にして昇順で順位を並べ替えします。

  • エクセル表の作成

    下記のCSVデータから、希望の表形式にしたいです。 ご教授ください。 【CSVデータ】 A列    B列     C列     D列     E列 タイトル  (1)     (2)     (3)      (4) 1      0   100   150   0  2     100   0   150   0  3      0  100   0   100  4      0   100   150   0  5     100   100   150   0  【希望の表形式】 A列  B列  C列 1    (2)  100     (3)  150 2   (1)  100     (3)  150 3   (2)  100     (4)  100 【希望の表形式】は多少違う形でも構いません。 作成方法は関数やピポット、なければ(マクロ)で教えてください。 宜しくお願い致します。

  • エクセルの表作成(関数)について2

    先ほども、表作成について質問させていただき、大変ありがとうございました。 再度、エクセルにて、添付画像のような表を作りたいと思っています。 A列に日付、B列に時間数1、C列に時間数2、D列に累計です。 D列に累計を出したいのですが、B列とC列のどちらかか、片方に時間数を入力した時のみ、D列に累計が表示されるにはどうしたら良いのでしょうか。 時間数の入力のない欄は、空白となります。 よろしくお願いします。

  • 集計表をエクセルで作成したい。

    エクセルで下記のような表を作成したいと思っていますが可能でしょうか、御教示お願い致します。 1.「シート1」のA列に日付・B列に客先コード・C列に客先名・D列に金額・E列に取得ポイントを入力します 2.行に発生順で入力します。その為、同じ客先コードが不規則に発生(入力)します 3.「シート2(1月分)」に、B列の客先コード別(C列に客先名も表示させる)にD列の金額・E列の取得ポイントを合計した一覧表を作成したい。 さらに、入力した時点で合計・更新をしたい 4.2月になれば「シート1」の1月分のデータを削除し2月分のデータ入力に使用したい よろしくお願い致します。

  • エクセル2000での表の作成について

    仕事で困っています。よろしくお願いいたします。  あいう A123 B321 C 67 A45 D 59 E1 8 F123 ・ ・ ・ この列が1000行近くあり、いくつか重複がある。(上記の表でいえば Aのように) 上記のような表から  あいう 合計 A573 15 B321 6 C 67 13 D 59 14 E1 8 9 F123 6 こういう表をつくりたいと思っています。pibotをつかって  合計 A15 あ5     い7     う3 B6  あ3     い2     う1      こういう表はできたのですがレイアウトが気に入りません。 どなたかご教授ください。

  • エクセル数式で作った表に関して

    課題の資料にデータを整理しています。 素人の為、以前もこちらで助けていただいたのですが、また行き詰ってしまったので、助けていただきたいです。 よろしくお願いします。 例えば、sheet1に下の様なデータを入力し、   A列 B列 C列 D列 1  1日 3  2  5 2  2日 5  3  4 3  3日 4  1  2 4  4日 2  7  6 5  5日 8  4  7 6  6日 9  5  3 7  7日 7  6  1 ・ ・ A1~D5までの列の平均、最大値、と最大値に対するA列の日付をsheet2に下の様に表示したいです。   A列              B列            C列  1  B列の平均         C列の平均         D列の平均   2  B列の最大値        C列の最大値        D列の最大値  3  B列の最大値に対応するA列 C列の最大値に対応するA列 D列の最大値に対応するA列  ここまでは出来たのですが、その下に、A6~D10、A11~D15と表を続けていきたいのですが、 Sheet2のA1~C3を選択し、カーソルを右下に沿わせ+をクリックして下にドラッグしても、続きのセルには 対応せず、うまくいきません。 説明が下手でわかりづらいかと思いますが、 Sheet1で入力したデータを、5行ずつsheet2で数式の表にしたいということです。 よくあるデータ整理の仕方だと思うのですが、初心者のため、上手くいきません。 どなたか助けていただけたら幸いです。

  • ランキング表の作成方法

    ランキング表を作成しています。 Aの行には名前 Bの行には杯数 Cの行には単価 Dの行には杯数×単価=合計金額 これを店舗別に5つのシートに分けて作成しています。 ※例ですが、画像を添付しました。 最終的に別のシートに全店舗でのランキングを作成したいと思っています。 マクロなどで組む方法があれば教えて頂きたいです。 宜しくお願い致します。

  • EXCELで作成した表をリンク(?)する

    Sheet1で作成した表の一部を、Sheet2へ貼り付け、Sheet1のデータを変更するとSheet2のデータも同じく変更されるように出来ませんか? 例えばSheet1にはA列~F列までデータが入っていて、A列~C列までをSheet2へ貼り付け、Sheet1のデータが変わるとSheet2も連動していて変更されるとか・・・ 宜しくお願いします。

専門家に質問してみよう