SORT関数でデータ並び替え完全攻略!Excel効率化への3ステップ!

SORT関数

SORT関数を使うだけ!
Excel(エクセル)でデータを効率よく整理したいとき、特定の条件で並び替えたくなることがありますよね。


例えば…
✅ 昇順または降順でデータを並び替えたい
✅ 複数の列を基準にソートしたい
✅ データを動的に並び替え、変更に即座に対応したい

そんな時に役立つのが、ExcelのSORT関数です!
この記事では、SORT関数の基本的な使い方から、実務で役立つ応用技を3ステップで解説します。さらに、様々な関数FIRTERIFERRORなど、他の便利な関数との組み合わせについても触れ、業務効率化に役立つテクニックを紹介します。

STEP 1:SORT関数の基本操作

🛠SORT関数とは?

Excelの「SORT関数」は、データ範囲を並び替えるために使います。従来のExcelの「並べ替え」機能を使用すると、データは固定されてしまいますが、SORT関数を使うと元データはそのままに、動的に並び替えることが可能です。これにより、データの変更や追加があっても、自動的に並び替えが適用されるので、手間が省けます。

📝SORT関数の基本構文

=SORT(配列, [並び替えの基準列], [並び順], [並び替えの方法])
  • 配列:並び替えをするデータ範囲
  • [並び替えの基準列](省略可):並び替えをする基準となる列番号(1, 2, 3…)
  • [並び順](省略可):
    1  ➡️ 昇順
    ・-1 ➡️ 降順
  • [並び替えの方法](省略可):
    ・FALSE ➡️ 行方向 ※0は省略可
    ・TRUE ➡️ 列方向

この構文を使うことで、非常に柔軟にデータを並び替えることができます。

STEP 2SORT関数の基本的な使用例

💡例1:1つの条件で並び替え

次に、実際にデータを並び替えてみましょう。たとえば、下記のようなデータがあるとします。

売上を昇順で並び替えたい場合、次のように記述します。

=SORT(A2:B5, 2, 1) ※セルD2に入れます

🔽 SORT関数を入れるのは1つのセルだけですが、重複が除去された結果データが、SPILL機能(※)によって、自動的に全ての結果が展開されます。

これで、売上を基準に昇順で並び替えた結果が得られます。数字の「1」は昇順を意味しています。逆に降順であれば「-1」を入力します。

💡例2:複数の条件で並び替え

では次は、もう少し複雑なデータを使って並び替えをしてみましょう。この書き方をマスターすると更に細かくデータを並べることができます。

上記は、売上金額降順に並び替えた後に、もし売上が同じだった場合は社員コード昇順に並び替えたい、のような複数の条件がある場合です。
次のように記述します。

=SORT(A2:C5, {3,1}, {-1,1}) ※セルD2に入れます

ポイントとしては、「複数の基準列を指定する時は、{ }で囲う」です。

基準列 { 3, 1 }  
➡️ 並び替え条件になる列番号を設定します
  C列(売上)の「3」、A列(社員コード)の「1」

並べ替え順 { -1, 1 } 
➡️ 並び替え順を設定します
   C列(売上)は降順の「-1」、A列(社員コード)は昇順の「1

STEP 3SORT関数と色々な関数を組み合わせ

SORT関数は他の関数と組み合わせることで、さらに強力なツールとなります。ここでは、FILTER関数VLOOKUP関数IFERROR関数と組み合わせた例を見ていきましょう。

✏️FILTER関数との組み合わせ

FILTER関数は、条件に基づいてデータを抽出するのに非常に便利な関数です。SORT関数と組み合わせることで、条件に合致するデータを並び替えながら抽出が可能です。

例えば、下記のような「売上データ」から特定の売上額以上のデータを取り出して、並び替えをするケースです。

▼基本データ

=SORT(FILTER(A2:B6, B2:B6 > 5000), 2, 1) ※セルD2に入れます

この式を使うと、下記のように「売上額が5000を超えるデータ」かつ「売上順(昇順)」に並び替えられます。

FILTER(A2:B6, B2:B6 > 5000)
 ・A2:B6      ➡️ フィルター範囲:A列(名前)
 ・B2:B6>5000 ➡️ B列(売上)が5000より大きいデータのみ抽出

SORT(…, 2, 1)
 ・2 ➡️ ソート範囲:B列(売上)
 ・1 ➡️ 昇順(1)で並び替え

💡複数条件での抽出

また、FILTER関数は、複数の条件を組み合わせてデータを抽出することもできます。
例えば、「売上が5000以上」かつ「名前が”田中”」のデータを抽出したいケースは下記のようにすればOKです。

=SORT(FILTER(A2:B6, (B2:B6 > 5000) * (A2:A6 = "田中")), 2, 1)

(B2:B6 > 5000) * (A2:A6 = “田中”)
 ・両方の条件(売上が5000以上かつ名前が「田中」)を満たすデータを抽出

SORT(…, 2, 1)
 ・抽出されたデータを売上で昇順に並び替え

このように、複数の条件を組み合わせることで、さらに絞り込んだデータを抽出できます。

✏️VLOOKUP関数との組み合わせ

VLOOKUP関数は、指定した値に基づいてデータを検索するのに非常に便利な関数です。SORT関数と組み合わせることで、検索対象のデータを並び替えながら取得することが可能です。

例えば、下のような「過去の売上履歴」から直近の売上データを取り出すケースです。
※理解しやすいように色付けをしています。

最新の売上を営業リストに反映するには、この式を使います。

=VLOOKUP(E2, SORT($A$2:$C$100, 2, -1), 3, FALSE) ※セルF
2に入れます

※ E列 には上記のように予め「営業担当者」の名前を入れておきます。

SORT($A$2:$C$100, 2, -1)
 ・日付を降順に並び替え
 ※営業リストが増えても自動更新されるよう100行目で設定
 ※セルF2に設定した数式は、絶対参照($A$2:$C$1000)で設定

VLOOKUP(E2, … , 2, -1), 3, FALSE)
 ・ SORT関数で日付順(降順)した状態から、
   VLOOKUP関数でE列の名前と一致する金額を表示

➡️それより、指定した営業担当者の最新日付の金額が表示が可能になります。

💡 これが実務で便利なポイント😆✨

自動で最新の売上を取得(データを更新するたびに最新が反映!)
リストを別途並び替えなくてもOK(VLOOKUPだけで解決)

✏️IFERROR関数との組み合わせ

最後に、計算結果がエラーの場合に指定した値を返すIFERROR関数と組み合わせることで、エラー時に空白を表示したり、別のメッセージを表示したりすることができます。

=IFERROR(SORT(A2:C6, 1, 1), "該当データなし") ※セルE2に設定

この式では、例えば、売上データを社員コード(1列目)の昇順(1)で並び替えつつ、データ範囲の中にエラー値があった場合に任意の文字の表示ができます。


🔽 この式を入れるのは1つのセルだけですが、SPILL機能(※)によって、自動的に全ての結果が展開されます。

🔍まとめ

SORT関数を使えば、Excelでのデータ並び替えが驚くほど簡単になります!

  • 動的な並び替えで、データの変更にも即座に対応
  • 昇順・降順や複数条件での並び替えも簡単に実現
  • FILTER関数との組み合わせで、条件に合致するデータを並び替えながら抽出可能
  • VLOOKUP関数やIFERROR関数との組み合わせで、データの検索やエラー処理が簡単に

これらを活用することで、Excelを使った業務の効率化が大幅に進むこと間違いなしです!

📌 次に読むべきオススメ記事
🔹 【初心者向け】IFERROR関数を使ってエクセルのエラーを簡単に回避する方法を選択
🔹 【徹底解説】ExcelでVLOOKUP関数が正しく動作しない理由とその対策を選択
🔹 【無料ダウンロード】Excelで作る簡単・便利な請求書テンプレートを選択

Excelの業務効率化やデータ管理に興味がある方へ!

SORT関数を活用すれば、手動で並び替える手間を削減し、業務の効率を大幅に向上できます。
「ExcelのマクロやVBAを使って、さらに自動化を進めたい」「社内で使えるオリジナルのツールを作りたい」といったご相談も大歓迎です!

エクセルの自動化・関数活用を知りたい
SORT関数を活かしたデータ整理方法を学びたい
Excelを使った社内システムを構築したい

こうしたニーズがあれば、ぜひお気軽にご相談ください!
業務効率化やデータ管理の最適化に役立つ情報をどんどん発信していきますので、
エクセル活用をもっと深めたい方は、ぜひチェックしてみてください! 🚀

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です