• ベストアンサー

エクセルの関数について

エクセルの関数について教えて下さい。 氏名  1回目 順位 2回目 順位 Aさん 50点  1位  25点  2位 Bさん 45点  2位  30点  1位 Cさん 40点  3位  35点  4位 Eさん 35点  4位  40点  3位 Fさん 30点  5位  45点  6位 Gさん 25点  6位  50点  5位 最初の1回目の成績により、右にランク関数で順位が出ます。 次に上位2人・中位2人・下位2人で三つのグループを作り、 2回目の結果で上位→中位→下位グループの順番で総合順位を 出す方法を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#79209
noname#79209
回答No.3

QNo.3457166で回答した者です。 内心危惧していたとおり4人限定ではなかったのですね。 中位グループが3人以上になったときの事も考慮すると ワーク列をF列としてよいなら、また第一回の順位をC列とするなら F列に =D2+(C2<=2)*10000+(C2<MAX(C:C)-1)*1000 で如何でしょう。

excelrank
質問者

お礼

前回端折って質問したため、再度質問しました。お陰様で解決できました。ありがとうございました。

その他の回答 (2)

noname#204879
noname#204879
回答No.2

   A    B   C   D   E  F  G 1 氏名  1回目 順位 2回目 順位   TEMP 2 Aさん   50   1   25   2   2.75 3 Bさん   45   2   30   1   2.7 4 Cさん   40   3   35   4   4.65 5 Eさん   35   4   40   3   4.6 6 Fさん   30   5   45   6   6.55 7 Gさん   25   6   50   5   6.5 G2: =CEILING(C2,2)+(100-D2)/100 E2: =RANK(G2,G$2:G$7,1)

excelrank
質問者

お礼

回答ありがとうございます。

回答No.1

  A    B     C   D     E 1 氏名  1回目  順位 2回目 順位 2 Aさん 50点   1位  25点   2位 3 Bさん 45点   2位  30点   1位 4 Cさん 40点   3位  35点   4位 5 Eさん 35点   4位  40点   3位 6 Fさん 30点   5位  45点   6位 7 Gさん 25点   6位  50点   5位 上記表において、E2に =IF(MOD(C2,2)=0,IF(D2>INDEX(C$2:D$7,MATCH(C2-1,C$2:C$7,0),2),C2-1,IF(D2<INDEX(C$2:D$7,MATCH(C2-1,C$2:C$7,0),2),C2,"")),IF(MOD(C2,2)=1,IF(D2>INDEX(C$2:D$7,MATCH(C2+1,C$2:C$7,0),2),C2,IF(D2<INDEX(C$2:D$7,MATCH(C2+1,C$2:C$7,0),2),C2+1,"")))) をコピペして、下へオートフィルして下さい。 ※注 "点"や"位"は書式設定にて設定して下さい。

excelrank
質問者

お礼

このような計算式もできるのですね。回答ありがとうございます。

関連するQ&A