解説
上位2件に同点も含めたい:SheetsのSORTNで境界と並べ替えキーを決めよう
SORTNの同点モード0と1を比較。架空の点数表で2行と3行の違い、第2の並べ替えキーを足した場合の境界を整理する。

点数の上位2件だけ出したい。でも2位が同点なら、3件目も残したい。並べ替えてから先頭の行を切り取るだけでは、どこまで含めるかが曖昧になりやすいね。
GoogleスプレッドシートのSORTNは、並べ替えた後の先頭n件を返す関数。今回は「最大2行」と「2行目に並ぶ同点も含める」を、display_ties_modeという引数で分けるよ。セル範囲と数式の基本が分かる人向けの、小さな架空データによる確認だよ。
点数が同じ二人を入れておく
空の練習用シートのA1:B5に、次の表を作ろう。実在の成績や評価には使わず、IDは説明用の記号にしている。
| ID | 点数 |
|---|---|
| A01 | 95 |
| A02 | 80 |
| A03 | 80 |
| A04 | 60 |
数式へ渡す範囲は見出しを除いたA2:B5。見出しまで並べ替えると、文字の行が結果へ混ざる原因になるよ。出力用にD列以降を空けておこう。
モード0は、先頭から最大n行
D1へ次の式を入れる。
=SORTN(A2:B5,2,0,2,FALSE)
引数は、元範囲・返す基準件数・同点の扱い・並べ替え列・昇順かどうか、の順。ここでは2列目の点数をFALSE、つまり降順にする。値が大きい95から並ぶよ。
display_ties_modeに0を指定すると、この例ではA01の95点とA02の80点の2行になる。SORTNの公式説明では、指定した並べ替え列以外は元に現れる順序で返される。今回の同点2行は、元の表でA02がA03より先にあることも確認してね。
モード1は、境界に並ぶ同点も残す
D5へ次の式を入れて比べる。
=SORTN(A2:B5,2,1,2,FALSE)
変えたのは三つ目の引数だけ。結果はA01・A02・A03の3行になる。指定した並べ替えキーは点数だけなので、2行目の80点と並ぶA03も含まれるんだ。
IDの文字が違うから同点にならない、とは考えないでね。この例で比べているキーは2列目の点数。Googleの公式例も、名前が違う同点行をモード1で追加する形を示している。
| 同点モード | 今回の結果 | 件数 |
|---|---|---|
| 0 | A01・A02 | 2 |
| 1 | A01・A02・A03 | 3 |
「必ず2人」と「2行目の点数まで」は違う要求だよ。モード1なら指定したnより多い件数が返るため、下の空き行も用意しておこう。
第2の並べ替えキーを足すと、同点の条件も変わる
点数が同じならID昇順で決めたい場合は、さらに1列目を並べ替えキーへ加える。
=SORTN(A2:B5,2,1,2,FALSE,1,TRUE)
この例ではA02とA03はIDが違うため、指定したキー全体では同じにならない。結果は2行となる。点数だけの同点を全員残したいなら、IDを同点の区別に使う設計と同時にしないことが大切だよ。
ランキングに一意の順番が必要なのか、同じ点数を同じ境界として扱いたいのかを先に決めよう。AIの順位表で同点と上位N件を決めるにも、依頼文の条件整理を載せている。
件数を直して、結果が変わる場所を確かめる
- 最初の二つの式を、別々の空いた場所へ入力する。
- それぞれ2行・3行になることを見る。
- 元表のA03の点数を80から79へ変更する。
- モード1の結果も2行になることを確認する。
- 点数を80へ戻し、同点行が再び含まれるかを見る。
どちらの式も、元表を直接並べ替える操作ではない。元データの並びを変える操作との違いは、固定・並べ替え・フィルターで確認できるよ。
結果が出ないときは、出力先が空いているか、範囲がA2:B5になっているか、点数が文字列ではなく数値かを確認しよう。元範囲外の列を並べ替えキーに渡す場合は、範囲と行数をそろえる必要がある。今回は範囲内の列番号に絞っている。
2026年11月1日にGoogle公式SORTNの構文・同点モード・例を確認。本文の架空データの並びと件数は独立したPython参照計算で検算した。Googleスプレッドシートの画面や数式エンジンを実操作した検証ではないよ。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。