[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『順位付けで重複した順位を表示したい』(マロ)
名前1 名前2 品物 合計 2021年12月 2022年1月
A A QQQ 2 1 1
A A TTT 5 2 3
A 計 7 3 4 B B QQQ 6 4 2 B B TTT 4 1 3 B 計 10 5 5 C C QQQ 8 6 2 C C TTT 4 4 C 計 12 6 6 D D QQQ 7 2 5 D D TTT 6 6 D 計 13 8 5 1位 D C <--{=INDEX($B$2:$B$13,MATCH(MAXIFS(F2:F13,$C$2:$C$13,"計"),F2:F13,0))} 1位の中で多い数→ 6 4 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F14),F2:F13,0))} 1位の中で多い品物→ TTT TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F14)&F14,F2:F13&$A$2:$A$13,0))} 2位 C B <--{=INDEX($B$2:$B$13,MATCH(LARGE(IF($C$2:$C$13="計",F2:F13),2)&"計",F2:F13&$C$2:$C$13,0))} 6 3 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F17),F2:F13,0))} QQQ TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F17)&F17,F2:F13&$A$2:$A$13,0))} 2位と同じ計だと2位→ 3位 B B <--{=INDEX($B$2:$B$13,MATCH(LARGE(IF($C$2:$C$13="計",F2:F13),3)&"計",F2:F13&$C$2:$C$13,0))} が出てしまう 4 3 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F20),F2:F13,0))} 2022年1月 QQQ TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F20)&F20,F2:F13&$A$2:$A$13,0))} 4位 A A <--{=INDEX($B$2:$B$13,MATCH(LARGE(IF($C$2:$C$13="計",F2:F13),4)&"計",F2:F13&$C$2:$C$13,0))} 2 3 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F23),F2:F13,0))} TTT TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F23)&F23,F2:F13&$A$2:$A$13,0))} 同率が出てしまうと次の順位も上の順位の人が出てしまうのを、上の人優先で順位を付けたい。 1〜4位まで同率であれば A B C D Cが1位 BとDが同率で2位と3位 Aが4位であれば C B D A としたいです。よろしくお願いします。 3行目まで上手く表示出来ていません、申し訳ございません。 5、6行目と同じ並びになります。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
EXCEL2016とあるがMAXIFS関数が使えるということは365版の2016(買い切りでないもの)なのだろうか? (ねむねむ) 2022/02/04(金) 09:43
質問内容
毎月一番品物の合計数が多い順で順位を付けて、その中で一番多い品物はなにかというものを下記関数で組みましたが、
毎月の順位で同率が出てしまうと次の順位も上の順位の人が出てしまうのを、上の人優先で順位を付けたいです。
例であれば「C B B A」を「C B D A」としたいです。
どんな関数を使えばいいのかわからない状態です。
順位が正常に名前を吐き出せば、その中で一案多い品物については下記関数で正常に動きますので、順位だけなんとかしたいです。
1〜4位までが同率であれば「A B C D」
Dが1位 AとCが同率で2位 Bが4位であれば「D A C B」
としたいです。
順位は4位までなのですが、最終的には25人ぐらいになります。
記載してある関数ももう少し解りやすくしたいですが、自分の力量では整理出来ませんでした。
あとExcel2016としていますが、バージョン情報を見ると2016なのですが、上記ご回答でMAXIFSがMicrosoft365以降の機能みたいなのでMicrosoft365になります。
以上ですがよろしくお願いします。
================================================================
A列 B列 C列 D列 E列 F列 1 名前1 名前2 品物 合計 2021年12月 2022年1月 2 Aさん Aさん QQQ 2 1 1 3 Aさん Aさん TTT 5 2 3 4 Aさん 計 7 3 4 5 Bさん Bさん QQQ 6 4 2 6 Bさん Bさん TTT 4 1 3 7 Bさん 計 10 5 5 8 Cさん Cさん QQQ 8 6 2 9 Cさん Cさん TTT 4 4 10 Cさん 計 12 6 6 11 Dさん Dさん QQQ 7 2 5 12 Dさん Dさん TTT 6 6 13 Dさん 計 13 8 5 ※F列にある関数 14 1位 Dさん Cさん <--{=INDEX($B$2:$B$13,MATCH(MAXIFS(F2:F13,$C$2:$C$13,"計"),F2:F13,0))} 15 6 4 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F14),F2:F13,0))} 16 TTT TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F14)&F14,F2:F13&$A$2:$A$13,0))} 17 2位 Cさん Bさん <--{=INDEX($B$2:$B$13,MATCH(LARGE(IF($C$2:$C$13="計",F2:F13),2)&"計",F2:F13&$C$2:$C$13,0))} 18 6 3 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F17),F2:F13,0))} 19 QQQ TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F17)&F17,F2:F13&$A$2:$A$13,0))} 20 3位 Bさん Bさん <--{=INDEX($B$2:$B$13,MATCH(LARGE(IF($C$2:$C$13="計",F2:F13),3)&"計",F2:F13&$C$2:$C$13,0))} 21 4 3 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F20),F2:F13,0))} 22 QQQ TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F20)&F20,F2:F13&$A$2:$A$13,0))} 23 4位 Aさん Aさん <--{=INDEX($B$2:$B$13,MATCH(LARGE(IF($C$2:$C$13="計",F2:F13),4)&"計",F2:F13&$C$2:$C$13,0))} 24 2 3 <--{=INDEX(F2:F13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F23),F2:F13,0))} 25 TTT TTT <--{=INDEX($C$2:$C$13,MATCH(MAXIFS(F2:F13,$A$2:$A$13,F23)&F23,F2:F13&$A$2:$A$13,0))}
(マロ) 2022/02/15(火) 08:41
MAXIFSはXL2019からと、或るサイトには書かれているのですが、 今回は365であるものとします。
(1) D14セル =LET(sq,SEQUENCE(COUNTIF(C$2:C$13,"計")*3,1,3)/3,IF(MOD(sq,1)=0,sq,"")) これは下にスピルしますので、下へコピーは不要。(逆に下には何も入力しないでください)
(2) E14セル =IF(D14="","",INDEX($B$1:$B$13,1000-MOD(AGGREGATE(14,6,(E$2:E$13*1000+1000-ROW(ZZ$2:ZZ$13))/($C$2:$C$13="計"),$D14),1000))) (3) E15セル =IF(E14="","",MAXIFS(E$2:E$13,$C$2:$C$13,"<>計",$B$2:$B$13,E14)) (4) E16セル =IF(E14="","",XLOOKUP(E14&E15,$B$2:$B$13&E$2:E$13,$C$2:$C$13,"")) E14:E16を丸ごと下方へフィルコピー (半平太) 2022/02/15(火) 13:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.