• 締切済み

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

お世話になります。 はじめて質問します、よろしくお願い致します。 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を使ってセルの位置を現そうとしたのですが!・・・重複している為出せません、アドバイスお願い致します。

みんなの回答

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 No.2の回答を作業行なしでやる方法です。 A~E列が元データ、F2~J2に小さい順の点数、K2~O2に小さい順の回数とします。 K2に、 =INDEX($A$1:$E$1,MOD(SMALL(INDEX($A$2:$E$2+COLUMN($A$2:$E$2)/100,),COLUMN(A2)),1)*100) と入力して、O2までコピーします。 これで、点数が同じ場合は左から順に表示します。

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

>> 点数が重複している為、うまくいきません。 >> おねがい致します。 現象はわかっているのです。 あと,データの形もわかりました。 元々,11などを引っ張って来た参照元などなくて, SMALL関数では羅列された 11 11 12 15 18 という数を小さい順に並べる計算をしているわけですから, 元々11のあった上の行の値とは縁が切れてしまいます。 だから縁を切らないようにするには, 関数でなく,実際のソート作業をしないとならないと考えたのです。 でも,関数でなんとかなりました! 上の行と縁を切らなければ良いのですから,合体させれば良いのです。 A1=1  B1=2  C1=3  D1=4  E1=5 A2=11 B2=12 C2=18 D2=11 E2=15 とあったとすると,3行目には2行目+1行目を小数にした数値を書けば重複しません。 関数で(数式で)言うと以下のような感じです。 A3=A2+A1/100 B3=B2+B1/100 C3=C2+C1/100 …… 値で言うと, A3=11.01 B3=12.02 C3=18.03 D3=11.04 E=15.05 となります。この行は見かけ上,不要だと思うので後から,フォントの色を白にするとか, 行の幅を0にするとかして見えないようにしてください。 例えばG2~K2にSMALL関数でそれらを並べ替えます。 関数で言うと G2=SMALL(A3:E3,1) H2=SMALL(A3:E3,2) I2=SMALL(A3:E3,3) …… 値で言うと G2=11.01 H2=11.04 I2=12.02 …… この行の小数部分は不要ですから, セルの書式設定より,表示形式を数値,小数点以下の桁数を0にしてください。 これをMATCH関数で現すと,ちゃんと, 1 4 2 5 3 になります。 MATCH関数ではなくて,例えばG2セルの11.01から整数部分11を引いて,残った小数部分0.01に100を掛けても1は出てきます。 回数が1 2 3 4 など抜けが無い場合はMATCH関数でも良いと思いますが 回数が1 2 4 5 など途中飛んでいたりする場合は,整数部分を引いて小数部分に100を掛けるほうが良いと思います。 長くなってしまいましたが,おわかりになりましたでしょうか。 実際のサンプルデータを提示できれば,わかりやすいと思うのですが,そうも行かないので難しいですね。

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

エクセルのことですよね。 違っていたらすみません。 >>1行に1回目・2回目・~5回目と回数が並び、 >>2行に11・12・18・11・15と点数が並んで 1  2  3  4  5 11 12 18 11 15  と,こんな感じになりますよね。 それで,??どうしたいのでしょう?? 4行にSMALL関数で2行目を小さな順に並べ, 3行にその回数を並べたいのでしょうか? 1  2  3  4  5 11 12 18 11 15 1  4  2  5  3 11 11 12 15 18 こんな感じに。 これは関数では無理でしょう (と思います…)。  「データ」→「並べ替え」で操作するか,マクロが早いです。 マクロだと, Sub 四行目をソート()  Rows("1:2").Copy  Rows("3:3").Select  ActiveSheet.Paste  Selection.Sort Key1:=Range("A4"), _  Order1:=xlAscending, _  Header:=xlGuess, _  OrderCustom:=1, _  MatchCase:=False, _  Orientation:=xlLeftToRight, _  SortMethod:=xlPinYin, _  DataOption1:=xlSortNormal End Sub こんな感じでしょうか? 全然,頭使ってません。マクロの自動記録で作ったマクロです。 だから無駄な行も入っていると思います。 1・2行を全て選択,右クリック→コピー 3行を全て選択,右クリック→貼り付け 3・4行を全て選択,「データ」→「並べ替え」→「オプション」 「並べ替えオプション」のダイアログより,方向を「列単位」にして「OK」 「並べ替えダイアログ」で優先されるキーを「行4」にし「昇順」にチェック→「OK」 という作業を記録しただけです。 この場合は,関数で考えこむより,手作業か,マクロが早いと思います。 と,勝手に答えていますが,エクセルの質問と考えて良かったのでしょうか? (参考URLはマクロの自動記録です。不要かもしれませんが…。)

参考URL:
http://www.konomiti.com/vba01_1.html,http://www1.plala.or.jp/happyday/step1/kiroku.html
meitan-tommy
質問者

お礼

sassakun様、出来ました^o^/本当、ありがとうございます 思う通りに行きました、1週間も悩んでいたんです。 感謝感激です。

meitan-tommy
質問者

補足

sassakun様、早速のご回答ありがとう御座います。 そうですエクセルのことです、文章が下手ですみません。 実はこの表、訳あって横にすごく長い表なんです。 例を5位までにしました。 スコアー→   順位→        → 1 2 3 4 5 1位2位3位4位5位 MATCHで現すと 11 12 18 11 15 11 11 12 15 18  1 1 2 5 3 と、なってしまいます。こうではなくて! スコアー→   順位→        → 1 2 3 4 5 1位2位3位4位5位 ※ここです 11 12 18 11 15 11 11 12 15 18  1 4 2 5 3 わかって頂けるでしょうか! 点数が重複している為、うまくいきません。 おねがい致します。

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

関連するQ&A

  • excel2010の昇順に並べ替えについて

    成績の順位がRANK.EQ関数が降順で設定されているセルに 順位を特典が1番高い人を1行目、一番低い人を17行目に表示させたいので、昇順に並べ替えを行ったのですが、選択したセルの場所が違うのか、nonameなどのエラーがでます。 降順でRANK.EQ関数を設定し、さらに昇順に並べ替えを行うことは、できないのでしょうか?

  • 順位を1,2,3位を赤字にするには!

    いつもお世話になっております。 下記のようなスコア結果での順位を自動的に”1”、”2”、”3”、”4”と付与(表示)出来る関数を教えて頂き大変助かりました。    A 列 B C D E F E 1行      田中 鈴木 山本  管  佐藤  木下 2行 12月10日  40  45  33  48  休み  38 3行 12月12日  33  休み  40  休み  33 35 4行 12月14日  31  休み  55  休み  24  35 5行 12月16日  24   38  40  休み 57  22 6行 参加日数  4   2  4  1   3 4 7行 平均スコア 32.0 41.5 42.0 48.0 38.0 32.5 8行 参加率 100% 50%  100% 25% 75%  100% 9行  順位   1  --   4 --   3   2 =IF(B8<0.6,"--",SUMPRODUCT(($B$8:$G$8>0.59)*($B$7:$G$7<B7))+1) 上記の関数式で順位は自動的に表示されましたが、そこで強欲にも さらに1,2,3位を同時に赤字にする関数は有りませんか?又は1,2,3位の セルを赤色にする関数はないでしょうか?誠に強欲な質問で申し訳ありません。よろしくお願いいたします。                          ー 以上 -      

  • 順位をつけたいです。

    質問があります。 ゴルフの結果の順位を表示したいと考えています。 ---------------------------- $score['makoto'] = -6; $score['yuko'] = -2; $score['kenta'] = 0; $score['hiroshi'] = 0; $score['yuko'] = 3; ---------------------------- <出力結果> 第1位:-6 makotoさん 第2位:-2 yukoさん 第3位:0 hiroshiさん kentaさん 第5位:3 yukoさん ----------------------------------------- 名前の重複はあります。 ゴルフの結果なのでマイナスが大きい人が 順位が高いくなります。 また同じスコアの人は名前をソートして、 次の順位は変わります(3位→5位) どうか宜しくお願いいたします。m(_ _)m

    • 締切済み
    • PHP
  • データが重複データの扱い(対処方法) RANK・MATCH・INDEX

    ずばりこんなデータから、順位とその人の名前を出す。 1)重複した場合、RANKは、同じ位置して、次の番は、欠としている。   から、下記のような順位になると思われる。  氏名 点数 順位  鈴木 700 5  斉藤 415 8   菅野 700 5  赤井 780 4  田村 900 2  池田 620 7   楽谷 900 2  金田 940 1  ★問題なのが、同じランクになった人の名前をちゃんと表示したい。   1位からの点数を表示するのは、LARGE関数でできるんだけど、   同じランクになっている人が、別々に出てこない。   とても安易な方法だと思ったんですが、   検索する範囲(表の行番号)をMATCH関数でもとめておく   点数をつかうので、当然同じ点数には、同じ行がはいる(上から   順番だから、1行目と3行目に同じ点数なら、1(順位)が連続する)   それで、その番号を使いVLOOKUP関数で、名前を拾ってくる。   其の時、自分で同じ番号のところを修正しておく(1と3にする)   そうすれば、名前がちゃんと出てくる。   でも、其のセルには、数式がなくなる。   ⇒VBAや、難しい関数が使えないと、これが限界なのか。。    参考にさせてもらうものもみたんですが、    なかなか・・この苦肉の策でもヨシと思っていいのか・・    ちょっと自信なくて、、       ベスト8(ランクごとに返す)     点数 氏名 番号  1位 ヾ  ヾ    2位 ヾ  ヾ  2位 ヾ  ヾ  4位 ヾ  ヾ  5位 ヾ  ヾ  5位 ヾ  ヾ  7位 ヾ  ヾ  8位 ヾ  ヾ    

  • RARGE関数で求めたセルの隣のセルを表示

    ご質問させて頂きます(〃ω〃) 「RARGE」関数で5つの点数を1番~5番まで順位を付けるとします。 順位付けされましたら、元データ(点数)にある上のセルの名前も一緒に自動で飛ぶようにしたいのですが、どなたかわかりますでしょうか? 説明が分かりづらくて申し訳ございませんが、宜しくお願いします。

  • Excel2003での並べ替えについて

    行を上から 1>1A>1B>2>2A>2B・・・15>15A>15B という順序で 並べ替えしたいのですが、可能でしょうか? 対象行のセルを書式設定で文字列や数値に変換してみたのですが 意図したようには並べ替えができませんでした。 何卒ご教示の程、宜しくお願い致します。

  • エクセルのIF関数の並べ替え

    エクセルで、重複したデータを判定する場合、IF関数を使用し、 重複したデータを判定することができるかと思いますが、 そのデータを、今度は、重複回数が多い順に並べ替えるには、 どうすればよろしいでしょうか。 「目的」 同じ住所で複数の名前があるデータをまずは並び替えをし、 IF関数で、複数分のフラグを立てる。 そのデータを、今度は複数の名前が多い順に並べ替えをしたい。

  • 順位付け関数について

    ゴルフコンペで使用するゴルフの順位付けに困っております。     (1)(スコア) (2)(ハンデ) (3)((1)-(2))  (4)(順位)  Aさん   90       5       85        1 Bさん   91       6       85        1 Cさん   92       7       85        1 3人共に(3)は同スコアで、(4)の順位欄は全員1位ですが、これを順位欄が ハンデの少ない人が1位、次にハンデが少ない人が2位となるような関数 は御座いませんでしょうか。 一通り調べたのですが未だにわからず、大変お恥ずかしいですが 何卒御教示の程、宜しく御願い申し上げます。

  • 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です) よろしくお願いします。

  • エクセルでの順位づけ

    こんにちは 下のような表で、C列に順位をつけて、順位を出すのではなく、 名前を表示したい場合(5行目から7行目)は、どうしたらいいのか困っています。 この関数ならできるというのがありましたら、教えてください。 よろしくお願いします。     A列   B列   C列     (名前) (点) (順位) 1行目 いちろう  40    2 2行目 じろう   30    3 3行目 はなこ   50    1 5行目     第1位  はなこ 6行目     第2位  いちろう 7行目     第3位  じろう

このQ&Aのポイント
  • 誤って削除されたプリインストールアプリを再インストールする方法についてご紹介します。
  • パソコンの中にプリインストールされているアプリを再度インストールしたい場合の方法について解説します。
  • 富士通FMVなどのパソコンでプリインストールされているアプリを誤って削除した場合、再インストールする手順をご紹介します。
回答を見る