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です)
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
【作成例】
D2:
=IF(C2="","",IF(C2="-","-",SUMPRODUCT(($A$2:$A$20=A2)*($C$2:$C$20<>"-")*($C$2:$C$20>C2))+1))
E2:バリエーション
=IF(C2="","",IF(C2="-","-",SUMPRODUCT(($B$2:$B$20=B2)*ISNUMBER($C$2:$C$20)*($C$2:$C$20>C2))+1))
あなたのSUMPRODUCTの式の,単なるバリエーションじゃないかな?と思いますが。
ご自分では一体どんな式を書いたのか,ご相談で最初から情報提供してみるともっと話が早かったようには思います。
こちらの式を提示せず、すみませんでした。
SUMPRODUCTを使いこなせていなかったのが原因ですね。
IF文も挑戦してみたのですが、「($C$2:$C$20<>"-")」を間に入れるという
発想がありませんでした。
こちらの関数ですっきり解決です。
ありがとうございました。
No.3
- 回答日時:
並び替えがA列とB列で行われている限りにおいては次のようにすればよいでしょう。
1行目は項目名としてD2セルには次の式を入力してE2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。
配列数式などではありませんのでデータ数が多くなっても計算速度が遅くなるなどのことは起こりません。勿論C列にデータが無いあるいは-の記号が有っても対応できます。
=IF(COUNT($C2)=0,"",RANK($C2,INDEX($C:$C,MATCH(A2,A:A,0)):INDEX($C:$C,MATCH(A2,A:A,0)+COUNTIF(A:A,A2)-1)))
SUMPRODUCT関数を使用しなくても、グループ毎の順位をつけることができるのですね。
計算速度も遅くなく対応できました。
No2さんの方が先に回答していただいたためベストアンサーとしましたが、
こちらも私的にはベストアンサーです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 関東 関東地方(一都六県)を栄えている順で順位付けするなら 1位東京 2位神奈川 3位千葉 4位埼玉 5位 4 2023/08/21 10:15
- その他(Microsoft Office) 逆順 3 2023/08/24 09:30
- Excel(エクセル) エクセルのマクロで置換を教えてください 1 2022/05/19 10:27
- 子育て・教育 妊娠・出産・子育てにあたって住みやすいところは千葉・神奈川・埼玉だとどれですか?順位をつけていただき 1 2022/11/04 08:57
- 高校 数学、円順列について。 時計回りに並べるとはどういう意味ですか? 例えば A D ◯ B C という 4 2022/09/05 23:32
- 経済 東京都の国際金融都市の地位 3 2023/04/25 22:20
- PHP 【スプレッドシート】順位のつけ方 2 2022/08/17 13:27
- 関東 関東1都3県 東京、神奈川、千葉、埼玉 天気予報などで言う順番って決まってますか なんとなくですが東 1 2023/06/23 21:12
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- その他(スポーツ) 北海道コンサドーレ札幌の話 1 2022/10/25 21:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
MicrosoftOfficeの1ユーザー2...
-
MicrosoftOffice2019なんですが、
-
Microsoft 365のディフェンダー...
-
英数字のみ全角から半角に変換
-
Excel 日付を比較したら、同じ...
-
Microsoft Officeを2台目のPCに...
-
Microsoft365の「お支払いを更...
-
会社PCのメールが更新されない
-
エクセル関数について
-
エクセルのシフト表を簡単にGoo...
-
ウィンドウィズ メモ帳で日付だ...
-
会社のTeamsのことで相談です。...
-
バソコンが二台とも壊れ後換装...
-
Microsoft Formsの「個人情報や...
-
複数の写真を1枚に印刷
-
Formsにて、匿名にて回答する方...
-
パソコン画面の中の小さい画面...
-
マイクロソフト 一時使用コード...
-
MicrosoftOfficeについて質問で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Office 2021 Professional Plus...
-
エクセルで例えば、関数を使っ...
-
Microsoft Formsの「個人情報や...
-
1つのPCに「Excel 2010」「Exc...
-
エクセルで例えば、A1に㈱ベ...
-
理由を教えてください。
-
エクセルでXLOOKUP関数...
-
マイクロソフト オフィスについて
-
VLOOKUP関数について
-
teams設定教えて下さい。 ①ビデ...
-
Googleのスプレッドシートでシ...
-
【Excel VBA】PDFを作成して,...
-
Microsoft365で写真をアルバム...
-
Outlook で宛先が複数の場合の人数
-
Excel テーブル内の空白行の削除
おすすめ情報