「データが多いので、売上上位10件だけを自動で抽出したい」「スコアの高い順に3人を表示するシートが欲しい」そんなときにはSORTN関数が便利です。SORTN関数は、指定した範囲を並べ替えたうえで、上位N件だけを取得できる関数です。この記事では、SORTN関数の基本的な使い方から、同順位の扱い方、並べ替えのカスタマイズ方法までを詳しく解説します。
【要点】SORTN関数で上位N件を自動抽出する方法
- =SORTN(範囲, N, [同順位モード], [並べ替え列1, 昇順/降順], …): 指定範囲を並べ替え、上位N件を返す基本構文です。第3引数で同順位の処理を制御します。
- 同順位モード0(デフォルト): 同順位のデータをすべて含めます。結果がN件より多くなる場合があります。
- 同順位モード1: 同順位のデータを1件としてカウントし、N件ぴったりになるよう切り捨てます。
ADVERTISEMENT
目次
SORTN関数の概要とできること
SORTN関数は、Googleスプレッドシートが提供する並べ替え関数の一種です。SORT関数と似ていますが、SORTNは上位N件だけを抽出する点が異なります。引数として、対象の範囲と取得したい件数、同順位の扱い、並べ替えの基準となる列と順序を指定します。この関数を使うことで、売上ランキングの上位5社、テストの高得点者10名、古い日付順のトップ3など、さまざまな場面で自動的に上位データを抽出できます。
SORTN関数の基本構文と引数の説明
SORTN関数の書式は次の通りです。
=SORTN(範囲, N, [同順位モード], [並べ替え列1, 並べ替え順1], [並べ替え列2, 並べ替え順2], ...)
各引数の役割は以下の通りです。
- 範囲: 抽出元となるセル範囲です。複数列を含めることができます。
- N: 取得したい上位件数です。0以上の整数を指定します。
- 同順位モード: 省略可能です。同順位のデータをどのように処理するかを指定します。0(デフォルト)は同順位データをすべて含め、1は同順位を1件とカウントしてN件ぴったりにします。
- 並べ替え列1, 並べ替え順1: 1つ目の並べ替え基準となる列(範囲内の列番号)と、降順(FALSEまたは0)か昇順(TRUEまたは1)を指定します。複数の並べ替え条件を指定することも可能です。
SORTN関数の基本的な使い方
まずは最もシンプルな例から解説します。以下のような売上データがあるとします。
A列に商品名、B列に売上額が入力されています。売上上位3件を自動抽出するには、次のように入力します。
=SORTN(A2:B10, 3, 0, 2, FALSE)
この数式は、範囲A2:B10から、売上額(2列目)を降順(FALSE)で並べ替え、上位3件を取得します。第3引数に0を指定しているため、同順位のデータがあれば3件を超えることもあります。
手順1: データ範囲と取得件数を指定する
抽出したいデータが含まれるセル範囲と、上位何件を取得したいかを決めます。範囲は絶対参照($A$2:$B$10)にしておくと、数式をコピーしたときにずれません。
手順2: 並べ替えの基準列と順序を指定する
範囲内の列番号で並べ替え基準列を指定します。昇順の場合はTRUEまたは1、降順の場合はFALSEまたは0を指定します。降順にすると値の大きい順、昇順にすると小さい順になります。
手順3: 同順位モードを選択する
同順位のデータをどう扱うかを決めます。通常は0(すべて含める)を使いますが、ピッタリN件にしたい場合は1を指定します。
ADVERTISEMENT
SORTN関数の応用例と便利なテクニック
SORTN関数はさまざまな場面で活用できます。ここではいくつかの応用例を紹介します。
複数条件で並べ替えて上位N件を抽出する
並べ替え条件を複数指定することで、例えば「売上額が同じ場合は古い日付順」といった細かい制御が可能です。以下は売上額で降順、さらに日付(C列)で昇順に並べ替え、上位5件を取得する例です。
=SORTN(A2:C100, 5, 0, 3, FALSE, 1, TRUE)
このように、並べ替え列と順序のペアを続けて記述します。
フィルタ結果の上位N件を取得する
FILTER関数と組み合わせることで、条件に合うデータだけを対象に上位N件を抽出できます。例えば、売上額が1000以上のデータから上位3件を取得するには、次のようにします。
=SORTN(FILTER(A2:B10, B2:B10>=1000), 3, 0, 2, FALSE)
QUERY関数と組み合わせる
QUERY関数でデータを加工した結果をSORTNに渡すこともできます。ただし、QUERYの結果はメモリ上に展開されるため、大量データでは注意が必要です。
SORTN関数使用時の注意点とよくある誤り
SORTN関数を正しく使うために、以下の点に注意してください。
同順位モードの誤解
同順位モード0では、同順位のデータをすべて含めるため、結果の行数がNを超えることがあります。モード1では、同順位のデータが複数あっても1件とカウントされ、N件ぴったりになるように切り捨てられます。どちらの挙動が適切か、目的に応じて選択してください。
並べ替え列番号は範囲内の相対位置
並べ替え列の指定は、範囲内の列番号(1から始まる)です。例えば範囲がB2:D100の場合、B列が1、C列が2、D列が3となります。シート全体の列番号ではないため注意しましょう。
非表示行やフィルタの影響を受けない
SORTN関数は、表示・非表示に関係なくすべてのデータを対象に並べ替えを行います。フィルタで一部の行が非表示になっていても、それらの行も含めて計算されます。
結果は動的に更新される
SORTN関数は元データの変更に応じて自動的に再計算されます。元データを編集すると、結果の上位N件もリアルタイムに変わります。
SORTN関数の引数ごとの動作比較表
| 引数 | 指定内容 | 動作 |
|---|---|---|
| 範囲 | セル範囲(例 A2:B10) | この範囲からデータを取得し、並べ替えます |
| N | 整数(例 5) | 上位N件を返します。同順位モードによって実際の行数が変わります |
| 同順位モード | 0または1 | 0: 同順位をすべて含む。1: 同順位を1件としてN件ぴったりに |
| 並べ替え列 | 範囲内の列番号(例 2) | その列の値で並べ替えます |
| 並べ替え順 | TRUE(昇順)またはFALSE(降順) | 昇順または降順を指定します |
まとめ
SORTN関数を使えば、大量のデータから上位N件を自動で抽出できます。基本構文はシンプルですが、同順位モードの選択や複数条件の並べ替えを理解することで、より柔軟なデータ抽出が可能です。まずは簡単な売上ランキングで試してみましょう。慣れてきたらFILTER関数やQUERY関数との組み合わせにも挑戦してみてください。これでデータ分析の効率が大幅に向上します。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
