OpenOfficeで上位三人の成績のセルを塗りつぶす

送信者 OpenOffice

上の表は、草野球の打撃成績ランキングです。
いくら草野球とは言え、もう少し現実味のある数字にできなかったのかと自分でも思っています。まあ、その辺はOpenOfficeの数式を説明するための仮のデータということでご理解願います。
ランク付けと並べ替え塗りつぶし ●サンプルファイル参考記事

ランク付けと並べ替え

さて、この表は打率の数値に基づいてランク順に表示されています。ランク(順位)は、A列に表示されています。
使用している関数は、
関数名:RANK関数
書式:=RANK(対象の数値;ランク付け対象の範囲;タイプ)
何ができる:ランク付けができる
平たく書くと:=RANK(E2;$E$2:$E$21;0)でE2セルに入力されている打率が一番高いことが分かる。
A2セルにこの数式を入力してそのままA20まで貼り付ければ打率に基づいたランキングが完成します。

さらに打率に基づいて並べ替えるには、

  1. 並べ替える範囲を、見出しの行も含めて指定
  2. ツールバーから、データ>並べ替えをたどって最優先のキーに順位を指定
  3. 昇順に設定

これで完了です。

塗りつぶし

ここで使っているサンプルの表は、上で書いたように打率に基づいて順位を付けたものなので、本塁打は多いのに打率が低いので順位は下のほう、という選手もいます。
このような選手にもしっかり目を向けることができるのが、条件別の書式設定による塗りつぶしです。
ここでは、本塁打の列を例にして、本塁打数上位三人のセルを塗りつぶす方法を紹介します。

  1. まず、F2セルを選択した状態にします。
  2. 条件別の書式設定の画面を出すには、ツールバーの書式>条件付きの書式設定をたどります。
  3. 条件1の左端セレクトボックスで「数式が」を選択します。

ここで入力する数式にもRANK関数を使います。
選択した状態のF2に入力されている値が、列(F2:F21)のなかで上から3番目かどうかを判別したいので、
=RANK(F2;F2:F21;0)<=3
これで本塁打数の順位が1、2、3の内のいずれかであれば、塗りつぶしの対象と判定することができます。
さらにこの書式設定をF3以降のセルにも適用するので、ここで絶対参照でランク付けの対象範囲を指定しておきます。
=RANK(F2;$F$2:$F$21;0)<=3
これで条件の設定は、完了しました

塗りつぶしは、条件1の新しいスタイルをクリックし、背景のタブをクリックして好みの色を選択します。
選択したらOKをクリックして、条件付の書式設定の画面もOKをクリックして閉じます。

これでF2セルの設定が完了しましたので、残りのセルにも同じ設定を反映させます。

  1. F2セルをコピーします。
  2. 反映させるセル(F3からF21セル)を選択
  3. ツールバーの編集>形式を選択して貼り付けをクリック
  4. すべて挿入のチェックを外す
  5. 書式だけにチェックを入れてほかのチェックを外す
  6. OKをクリック

これで完了です。

サンプルファイル
上位三人のセルを塗りつぶすサンプルファイルは、calc068.odsをダウンロードしてください。


参考:
OpenOfficeでランクを付けて並べ替える
OpenOfficeで条件付きの書式設定を使ってグラフを作る
絶対参照と相対参照