いきなり答える備忘録

Google Workspace(旧G Suite)・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)データに存在しない値の仮想順位を求める

 GoogleスプレッドシートのRANK関数でデータ(第2引数)に存在しない値の順位を求めようとするとエラーになってしまいます。
 そこで以下では、データに存在しない値が加わったと仮定した場合の順位を求めてみます。

  • RANK関数の第2引数に値を加えてしまうことで、当該値の仮想的な順位を求めることができます。

手順

f:id:accs2014:20220121160703p:plain:right:w550

 C列に10個の得点が並んでいます。
 また、参考として各点数に順位(点数が最も大きいものが1位)をつけてB列に記しています。

 さて、点数には75という点数がありませんが、仮に75という点数が1つ加わった場合には何位になるでしょうか。単純に「=RANK(75,C3:C12)」とすると「75」が存在しないためエラーが返ってしまいます。

 そこで画像では、次のような式によりその順位を求めています。

 E3セル

=RANK(75,{75;C3:C12})

 第2引数を「{75;C3:C12}」としています。これは結果的に{75;54;67;74;59;74;91;82;70;60;51}という11個の要素の配列となり、そこから順位を求めればエラーになることなく必要な結果が得られるというわけです。


f:id:accs2014:20220121160706p:plain:right:w550

 念のためタイになるケースなどもみてみます。
 ここでは上記の式の2か所の「75」を「74」に改め、74点の仮想順位を求めています。
 実在する2つのデータとタイの3位となります。


f:id:accs2014:20220121160710p:plain:right:w550

 こちらはさらに「73」とした結果です。
 実在のデータとして74点(3位タイ)が2つありますので、それに次ぐ5位となります。