3

ここに画像の説明を入力次のように、2 つのセルの組み合わせを使用した 10 個のステートメントに対する非常に大まかな回避策があります。

Cell 1 (O2)
=IF(C2="TW2-OUT",VLOOKUP($D2,Players,8,FALSE)+VLOOKUP($D2,Players,9,FALSE),IF(C2="TW2-IN",IF($D2="","",VLOOKUP($D2,Players,10,FALSE)),IF(C2="Playing",IF($D2="","",VLOOKUP($D2,Players,8,FALSE)+VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE)),IF(C2="IN1OUT2",VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE),IF(C2="TW1-OUT",IF($D2="","",VLOOKUP($D2,Players,8,FALSE)),IF(C2="TW1-IN",IF($D2="","",VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE)),IF(C2="TW3-OUT",VLOOKUP($D2,Players,8,FALSE)+VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE),0)))))))+P2

Cell 2 (P2)
 =IF(C2="TW3-IN",IF($D2="","",VLOOKUP($D2,Players,11,FALSE)),IF(C2="IN2OUT3",VLOOKUP($D2,Players,10,FALSE),IF(C2="IN1OUT3",VLOOKUP($D2,Players,9,FALSE)+VLOOKUP($D2,Players,10,FALSE),0)))

これを行うより良い方法はありますか。同じ効果を達成するために配列を使用したテーブルアプローチを使用することについて、Google検索で読みました。ただし、私の場合、プレーヤーのステータスがプレーヤーのスコアを決定するため、これは私にとって複雑です。10 の可能なステータス (if ステートメント) は次のように分類され、スコアの計算方法は次のとおりです。

TransferStatuses    Cols
Playing             8+9+10+11
TW1-IN              9+10
TW1-OUT             8
TW2-IN              10+11
TW2-OUT             8+9
TW3-IN              11
TW3-OUT             8+9+10
IN1OUT2             9
IN1OUT3             9+10
IN2OUT3             10



8 = ColK (Transfer Window 0)
9 = ColL(Transfer Window 1)
10 = ColM (Transfer Window 2)
11 = ColN(Transfer Window 3)

「スコア」配列は次のようになります。

=VLOOKUP(C2,$S$2:$T$11,2,FALSE)

問題は、それを機能させるためにすべてをまとめる方法がわからないことです。つまり、数式を 300 セルに拡張する必要がありますが、配列がそれぞれのスコアを正しく計算するように実装する方法がわかりません。プレーヤー?

誰か助けてくれませんか?

4

1 に答える 1

3

私があなたを正しく理解していれば、次のようにアプローチします。

各ステータスについて、どの列を合計するかを指定するバイナリ値のマトリックスを設定します。OFFSETとを使用しMATCHて、各データ行のステータスを検索し、バイナリ値の配列/範囲を返し、SUMPRODUCTすべてを合計します。スクリーンショットを参照してください:

ここに画像の説明を入力

于 2012-06-28T22:33:09.300 に答える