- ベストアンサー
エクセル 一連のデータを任意の範囲で順位付けしたい
エクセルで、一つの列に並べられたデータを、任意の範囲で順位付けがしたいです。 具体的に説明します。 下記の表のように、A列に任意の文字、B列に数字があります。 A列 B列 AAA 15 AAA 19 BBB 3 BBB 8 BBB 9 BBB 4 BBB 1 DDD 20 DDD 21 DDD 19 この中で、A列の文字が同じものについて、B列の数字の順位をC列に表現したいです。理想の結果としては、下記の表になります。 ランク関数を使えばよいのは分かりますが、任意の範囲を指定する方法が分からなく、かつデータ量が膨大(10000行程度)であるため、悩んでいます。よろしくお願いします! A列 B列 C列 AAA 15 2 AAA 19 1 BBB 3 4 BBB 8 2 BBB 9 1 BBB 4 3 BBB 1 5 DDD 20 2 DDD 21 1 DDD 19 3
- tanakataiti
- お礼率64% (32/50)
- オフィス系ソフト
- 回答数2
- ありがとう数4
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シート1に元のデータがあるとして作業列としてD1セルには次の式を入力して下方にオートフィルドラッグします。なお、A列では並び替えが行われておりお示しのように同じデータは連続した行に並んでいるとします。 =IF(A1="","",RANK(B1,INDIRECT("B"&MATCH(A1,A:A,0)&":B"&MATCH(A1,A:A,0)+COUNTIF(A:A,A1)-1))) シート2のA1セルには次の式を入力します。 =IF(Sheet1!A1="","",Sheet1!A1) B1セルには次の式を入力します。 =IF(A1="","",Sheet1!D1) A1セルとB1セルを選択してからそれらの式を下方にオートフィルドラッグします。 答えはすでにシート1に表示されていますが、単にシート2にその答えを貼り付けただけです。
その他の回答 (1)
- edomin7777
- ベストアンサー率40% (711/1750)
=SUMPRODUCT(($A$1:$A$10=A1)*($B$1:$B$10>B1))+1 こんな感じでしょうか? 今はA1からB10までなので、適宜範囲を広げて下にコピーしてください。
お礼
おかげで問題が解決しました!! 大変ありがとうございました!!
関連するQ&A
- 順位をつける範囲について
以下のようなデータがあります。 A B 1 あ 3.0 2 あ 3.0 3 あ 3.0 4 あ 3.0 5 い 1.5 6 い 1.5 7 あ 3.0 8 あ 3.0 9 い 1.5 10 い 1.5 11 う 6.8 12 う 6.8 この「あ」「い」「う」の順位を決定するのに、C列にRANK関数を使って範囲をB1:B12にすると A B C D 1 あ 3.0 5 2 2 あ 3.0 5 2 3 あ 3.0 5 2 4 あ 3.0 5 2 5 い 1.5 1 1 6 い 1.5 1 1 7 あ 3.0 5 2 8 あ 3.0 5 2 9 い 1.5 1 1 10 い 1.5 1 1 11 う 6.8 11 3 12 う 6.8 11 3 となります。でも実際には順位はD列のようにならないといけないですよね。 A列の「あ」「い」「う」がアトランダムにある場合に(A列のどこに存在しても)D列のような順位を出す方法を教えてください。 よろしくお願いいたします。
- ベストアンサー
- Windows XP
- 一覧表よりデータ条件抽出
教えてください。 下記データ表があります。 A B C 1 12/1 AAA 94.1% 2 12/2 BBB 95.6% 3 12/2 BBB (空白) 4 12/3 CCC 97.3% 5 12/4 DDD 98.4% 6 12/5 EEE 97.3% ・したいこと条件説明 12/2~12/4のデータのみを抽出 %の(空白)セル(行)は抽出しない 日付(A列)は表示しない ・表示結果 A B 1 BBB 95.6% 2 CCC 97.3% 3 DDD 98.4% としたいのですが・・・ いろいろ試してみましたが、うまくいきません。 よろしく、ご教授のほどお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのデータごとに行の色をかえる
データごとに行の色をかえるにはどうしたらよいでしょうか。 エクセルのデータで下記のような表があります。 A列 顧客名 管理番号 商品名 AAA 1 あいう AAA 1 えおか BBB 8 きくけ CCC 13 こさし CCC 13 すせそ CCC 13 たちつ DDD 30 てとな 視覚的に見やすくしたいので、顧客名ごとに行ごと色を変えたいです。 色は1色でこのデータでいうと顧客A、Cの行に色を付けたいです。
- ベストアンサー
- オフィス系ソフト
- エクセルで列にあるユニークなデータの個数が知りたい
おはようございます。 エクセルでA列に以下のようなデータがあるとします。 この中で何種類のデータがあるのかを知りたいのです。 この場合は、AAA,BBB,CCC,DDD,EEEの5種類なので5という答えが欲しいのです。 ただし、A列に入るデータは非常に多岐(800種類以上)に渡ります。 また、印刷を前提としてるためソートなどはできません。 さらに1枚のシートにこのようなデータがいくつかあるので、その決まった範囲内で個数を抽出する必要があります。 なにとぞ皆様のお知恵をお貸しくださいませ。 よろしくお願いします。 AAA AAA BBB CCC AAA DDD DDD BBB DDD DDD EEE EEE
- ベストアンサー
- オフィス系ソフト
- エクセルで順位付け
お世話になります。宜しくお願いします。 RANK関数で同順位が出た場合に、指定した数値(条件)を参照して順位を出す方法をOK Wave等で探しました。私のニーズに一番近い問答が在りましたので(質問者:Kaizu35 質問No:965845さん)、それを引用させて頂きます。 A列 B列 C列 D列 No1 0.83 1 1 No2 1.29 4 6 No3 1.01 3 4 No4 0.88 2 2 No5 1.01 3 5 No6 0.88 2 3 上の表の様にRANK関数を使うとC列の様な順位になります。それをD列の様な順位にしたいのです。条件として、A列のNo1~No6の通り若い数字順、(例えば、No4の0.88が2位でNo6の0.88が3位とか、No3の1.01が4位でNo5の1.01が5位)の用に同じ0.88でも1.01でもNo4とNo6、No3とNo5ではNo4とNo3の方が若い数字なので、その若い数字の方が順位は上になるようにするには、どのような関数を使えばいいのでしょうか。(上記の説明でご理解戴けるでしょうか?) 当方、エクセル関数を始めたばかりですので、なるべく解りやすくご教授をお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelの関数に詳しい方、お願いします。
わかりづらい説明かもしれませんが、よろしくお願いします。 例として、 AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF ・ ・ ・ といった文字列がエクセルの先頭列A1~A100までずらりと並んでいるとします。 各アルファベットには任意の数字(日付など)が入るとして、この並んだ百件のデータからCCCの部分の最大値を表示するための適切な関数があれば教えていただけないでしょうか? 現在少々急いでいるため言葉足らずで申し訳ありませんが、よろしくお願いいたします.
- ベストアンサー
- オフィス系ソフト
- エクセルの文字処理
以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD A B C D 1| AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は ・セル内にスペースで区切られない文字列があった場合には、B列に入れる ・それ以外はスペースで区切って、A列B列C列D列に入れる ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。
- 締切済み
- その他(業務ソフトウェア)
- エクセルで順位付けする方法を教えて下さい
エクセルで順位付けする方法を教えて下さい。 (A列)にクラス、(B列)に学籍番号、(C列)に得点が記載された1つの表があるとします。表にはクラス、学籍番号、得点、順に並んでいないところを、関数で順位付けしたいと考えています。表示結果として、クラス毎で得点の低い順に表示したいと考えています。 具体的には、 元々の表 (A列) (B列) (C列) A組 8 57 B組 4 41 A組 6 42 C組 3 83 C組 6 73 B組 2 83 結果の表 (A列) (B列) (C列) A組 6 42 A組 8 57 B組 4 41 B組 2 83 C組 6 73 C組 3 83 非常に煩雑な関数になりそうですが、お力をお貸しいただきたく宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
- エクセルでの順位づけ
こんにちは 下のような表で、C列に順位をつけて、順位を出すのではなく、 名前を表示したい場合(5行目から7行目)は、どうしたらいいのか困っています。 この関数ならできるというのがありましたら、教えてください。 よろしくお願いします。 A列 B列 C列 (名前) (点) (順位) 1行目 いちろう 40 2 2行目 じろう 30 3 3行目 はなこ 50 1 5行目 第1位 はなこ 6行目 第2位 いちろう 7行目 第3位 じろう
- ベストアンサー
- オフィス系ソフト
- (EXCEL)重複したデーターの抽出について
EXCEL2003 シート「sheet1」に下記のようなデーターがあります。 <sheet1> A B C D 1 りんご 青森 AAA BBB 2 みかん 愛媛 CCC DDD 3 みかん 青森 AAA BBB 4 りんご 青森 AAA BBB 5 みかん 愛媛 CCC DDD A列とB列が同じ値のものをシート「sheet2」に重複しているデーター は1行だけになり、E列にカウントした数が入力されるようにしたいです。 (C列やD列は同じ値でなくてもA列とB列が同じ値の時にカウントして抽出したいです) <sheet2> A B C D E りんご 青森 AAA BBB 2 みかん 愛媛 CCC DDD 2 ご教示のほどお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
おかげで問題が解決しました!! 大変ありがとうございました!!