多くのチームの値 (秒単位) を含む Google スプレッドシートがあります。各チームのポイントを 0 ~ 10 の範囲で計算したい: 値が最も低いチームは 10 ポイント、値が最も高いチームは 0 ポイント、その間の値は 9 ~ 1 ポイント (均等に分散)。
これを行うための式が思い浮かびません。
多くのチームの値 (秒単位) を含む Google スプレッドシートがあります。各チームのポイントを 0 ~ 10 の範囲で計算したい: 値が最も低いチームは 10 ポイント、値が最も高いチームは 0 ポイント、その間の値は 9 ~ 1 ポイント (均等に分散)。
これを行うための式が思い浮かびません。
少し休憩した後、私はそれを行う方法を見つけました:
ROUNDUP(10-((A1-MIN($A$1:$A$30))/((MAX($A$1:$A$30)-MIN($A$1:$A$30))/10)))
私のために働く
これはかなり単純なビニングの問題です。
列にチームと秒の範囲があり、秒の列が B1:B30 であると仮定すると、最初に行うことは、範囲を秒の降順で並べ替えることです。
次に、ビンのサイズを計算します。2 つの可能性があります。1 つは、「均等に分散」するということは、各ビン (スコア) が同じ時間間隔を表すことを意味し、もう 1 つは、各ビンが同じ数のチームを保持することです。
時間バージョンの場合、数式で「binsec」という名前のセルを作成し、=(B1-B29)/9
次に C1:C30 を強調表示して、配列数式を入力します
=CEILING(($B$1-B:B)/binsec,1) [Ctrl-Shift-Enter]
チーム数バージョンは "binpop" =28/9 にします。C1:C30 を強調表示し、配列数式を入力します
=CEILING((ROW()-1)/binpop,1)
これらは両方とも、Excel 2007 で十分にテストされます。