これは一連のExcel数式として簡単に実行できますか
短い答え、はい。(「簡単に」の定義によって異なります)。
長い答え...
(これはうまくいくと思います)
これが私の(簡単な)テストデータです:
A B C D
1 NAME CLUB STATUS SCORE
2 Kevin a Gent 145
3 Lyle a Gent 150
4 Martin a Gent 195
5 Norm a Gent 150
6 Oonagh a Lady 100
7 Arthur b Gent 200
8 Brian b Gent 210
9 Charlie b Gent 190
10 Donald b Gent 220
11 Eddie b Junior 150
12 Quentin c Gent 145
13 Ryan c Gent 150
14 Sheila c Lady 195
15 Trevor c Gent 150
16 Ursula c Junior 200
さて、ルールを正しく理解していれば、最高の4つのスコアが必要です。ただし、女性またはジュニアの最高スコアが最高の4に含まれていない場合は、4番目に高いスコアの代わりにそれを使用します。明らかになるかもしれない理由のために、私はそれをいくらか言い直しました...
わかった。救助のための配列数式!(私は願います)
チームaからの最高スコアは
{=LARGE(IF(B2:B16="a",D2:D16,0),1)}
ここで、{}は、Control-Shift-Enterを使用して数式を入力することによって作成された配列数式を示します。上位4つも同様に作成されます。Lady / Juniorビットについては、もう少し複雑にする必要があります。レディを連れて、私たちはこれが必要です:
{=LARGE(IF($B$2:$B$16=$J3,IF($C$2:$C$16="Lady",$D$2:$D$16,0),0),1)}
ジュニアは学生のための練習として安全に残されるかもしれません、私は願っています。
私は今、クラブ「a」の次のレイアウトのテーブルを見ています。
J K L M N O P
1 Club 1 2 3 4 Lady Junior
2 a 195 150 150 145 100 0
クラブのスコアは、トップ3の「誰でも」のスコアに加えて、まだトップ4に入っていない場合は、最高の女性またはジュニアである必要があります。
だから第2四半期に私はこれを置いています:
=SUM(K2:M2)+MIN(MAX(O2,P2),N2)
MAX(O2、P2)は、含まれている必要がある最高の女性またはジュニアのスコアを教えてくれます。チームのスコアが4番目に高い場合は、すでにリストに含まれているため、上位4つを取得します。それ以外の場合は、4番目に高いスコアを最高の女性/ジュニアスコアに置き換えます。
これで、パーツを最終的な数式に代入することで、すべてを1つの数式で実行できます。
{=LARGE(IF($B$2:$B$16=$J3,$D$2:$D$16,0),1)+
LARGE(IF($B$2:$B$16=$J3,$D$2:$D$16,0),2)+
LARGE(IF($B$2:$B$16=$J3,$D$2:$D$16,0),3)+
MIN(LARGE(IF($B$2:$B$16=$J3,$D$2:$D$16,0),4),
MAX(LARGE(IF($B$2:$B$18=$J3,IF($C$2:$C$18="Lady",$D$2:$D$18,0),0),1),
LARGE(IF($B$2:$B$18=$J3,IF($C$2:$C$18="Junior",$D$2:$D$18,0),0),1)))}
しかし、私はそれをお勧めしません...
したがって、上記のデータの場合、私はこれで終わります:
Anyone Lady Junior
Club 1 2 3 4 1 1 Total
a 195 150 150 145 100 0 595
b 220 210 200 190 0 150 780
c 200 195 150 150 195 200 695
ラット。(私が思うに)難しい部分を機能させることに興奮して、私はそれについて言及するのを忘れました
- スコアのリストは任意の順序にすることができます
- あなたはRANK()でクラブのランキングを得ることができます
- 次に、MATCH()とINDEX()を使用して、上位10を別のテーブルにプルできます。
A B C D E F G H
1 club Sc Rank UniqRk Pos Club Score
2 third-equal#1 80 3 79.999980 1 1 best 100
3 second 90 2 89.999970 2 2 second 90
4 third-equal#2 80 3 79.999960 3 3 third-equal#1 80
5 best 100 1 99.999950 4 3 third-equal#2 80
6 worst 70 5 69.999940 5 5 worst 70
列AとBは計算されたスコアであり、列Eはクラブがファイナルテーブルに出力される順序です。その他の式は次のとおりです。
C: =RANK(B2,$B$2:$B$6) # what it says, with ties both getting the lower number
D: =B2-ROW()*0.00001 # score, modified slightly to ensure uniqueness
F: =SMALL($C$2:$C$6,E2) # first output column, ranks including ties
G: =INDEX($A$2:$A$6,MATCH(LARGE($D$2:$D$6,E2),$D$2:$D$6,0))
# club name for position, using the modified score in D
H: =INDEX($B$2:$B$6,MATCH(LARGE($D$2:$D$6,E2),$D$2:$D$6,0))
# as G, but indexes into scores