いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

(Gスプレッドシート)空き番のない順位を求める

 Googleスプレッドシートで、同順位(例えば1位タイ)があってもその次の数字(2位)を飛ばさずに順位をつける方法についてです。

  • 「=RANK(値,UNIQUE(範囲))」という式で、空き番のない順位を求めることができます。

手順

f:id:accs2014:20200912000332p:plain:right:w450

 画像ではC列に点数が記録されています。
 D列では点数が大きい順に順位を求めるのですが、D3セルに次のような式を入力することで空き番のない順位を求めています。
 普通に順位(空き番のある順位)をつけると3(位)になるところですが、この場合は2(位)になっているのがわかります。

 D3セル

=RANK(C3,UNIQUE(C3:C9))

 RANK関数の第2引数(範囲)を「UNIQUE(C3:C9)」とすることで、点数の重複を除いたときの順位を求めています。
 この結果がまさに空き番のない順位となります。
 

f:id:accs2014:20200912000337p:plain:right:w450

 さらにここではD3セルに入力した1つの式で、すべての順位を求めています。
 ARRAYFORMULAを用いることですべての順位を一括で求めることができ、絶対参照を使わずに済んでいます。

 D3セル

=ARRAYFORMULA(RANK(C3:C9,UNIQUE(C3:C9)))

 RANK関数は第1引数に配列を与えることで複数の順位を一括して得ることができます。
 意外に気づきにくいところかもしれません。