Google スプレッドシート: 複数の列にわたって項目を並べ替える方法


次の構文を使用して、Google スプレッドシートの複数の列にわたって項目を並べ替えることができます。

 =RANK( B2 , $B$2:$B$11 )+SUMPRODUCT(--( $B$2:$B$11 = $B2 ),--( C2 < $C$2:$C$11 ))

この特定の数式は、最初に列 B の値に基づいて、次に列 C の値に基づいて項目を降順に並べ替えます。

次の例は、この公式を実際に使用する方法を示しています。

例: Google スプレッドシートの複数の列にわたって項目を並べ替える

Google スプレッドシートに、10 人の異なるバスケットボール選手の得点とアシストを示す次のデータセットがあるとします。

ここで、これらのプレーヤーを最高から最低の順にランク付けし、最高のプレーヤーに「1」の値を割り当て、最低のプレーヤーに「10」の値を割り当てたいとします。

「ポイント」列にリストされている値に基づいて、プレーヤーを最高から最低までランク付けします。同点の場合は、 「アシスト」列の値を参照します。

次の式を使用してプレーヤーをランク付けします。

 =RANK( B2 , $B$2:$B$11 )+SUMPRODUCT(--( $B$2:$B$11 = $B2 ),--( C2 < $C$2:$C$11 ))

次のスクリーンショットは、この式を実際に使用する方法を示しています。

ランク 1 のプレーヤーが最高とみなされ、ランク 10 のプレーヤーが最低とみなされます。

私たちの式がどのように機能したかは次のとおりです。

  • [ポイント]列にリストされている値に基づいて、プレーヤーを最高から最低までランク付けします。
  • 同点の場合は、 「ヘルプ」列の値を参照してください。

たとえば、プレーヤー A と B は最も多くのポイントを持っているという点で同点です。ただし、プレーヤー A のアシスト数が多かったので、評価1を受け取り、プレーヤー B は評価2を受け取りました。

同じポイントアシスト値を持つすべてのプレーヤー (プレーヤー E と F など) が同じランキングを受け取ったことに注意してください。

プレイヤーを昇順でランク付けしたい場合 (1 = 最悪、10 = 最高)、次の式を使用できます。

 =RANK( B2 , $B$2:$B$11 , 1)+SUMPRODUCT(--( $B$2:$B$11 = $B2 ),--( C2 < $C$2:$C$11 ))+1

次のスクリーンショットは、この式を実際に使用する方法を示しています。

「最高の」プレーヤーのレーティングは10になり、「最低」のプレーヤーのレーティングは1になります。

追加リソース

次のチュートリアルでは、Google スプレッドシートでその他の一般的な操作を行う方法について説明します。

Google スプレッドシート: テキストを含むセルをフィルタリングする方法
Google スプレッドシート: 複数の列で SUMIF を使用する方法
Google スプレッドシート: 複数のシートに追加する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です