• Excel活用・業務効率化
  • Excel関数・基本操作
  • 自動化・VBA・RPA

《Excel基礎》一発で並び替え!SORT(ソート)関数・SORTBY(ソートバイ)関数とは?

更新日:2025.11.25

《Excel基礎》一発で並び替え!SORT(ソート)関数・SORTBY(ソートバイ)関数とは?

目次

Excelには400を超える関数があり、バージョンアップごとに新機能も登場しています。
従来は「データ」タブ→「並べ替えとフィルター」から行っていた並び替えを、関数で自動化することで、データが増えたときの手間もグッと減ります。 

今回は、バージョンが Microsoft 365 または Excel 2021以降で使える「並べ替え用関数」、SORT関数および SORTBY関数を取り上げ、実務で役立つ使い方と注意点を丁寧に解説します。

 

本多 瑞季(ほんだ みずき)

DX/Office活用トレーナー 本多 瑞季(ほんだ みずき)
現場の業務フローを起点に、Excel・Copilot・Power Automateを“使いこなせる状態”まで伴走するトレーナー。操作説明にとどまらず、部署や役割に合わせた課題設計で、研修翌日から成果を出せるよう設計します。
※DX人財育成サービスの公式サイト

 

 

 

 

 

 

【プロンプト例】これからの必須スキル‼データ整理×生成AI

【プロンプト例】これからの必須スキル『データ整理×生成AI』

本資料では、生成AIを活用したデータ整理の実践方法と役立つプロンプト例を紹介。Excelやスプレッドシートなどの表データを効率的にまとめるコツや、テキストの整形・要約・分類をAIで自動化する手法を解説します。日々の業務効率化からDX推進まで、これからのビジネスパーソンに必須のスキルが身につく一冊です。
ダウンロード

SORT関数(ソート関数)とは

SORT関数は、指定したセル範囲を元に、別のセルに並び替えた結果を表示できる関数です。

=SORT( 配列,[並べ替えインデックス],[並べ替え順序],[並べ替え方向] )

指定した範囲のデータを、列の場所に並べ替えてリストを作成する
  • 配列:並べ替える範囲を指定 ※タイトル行は含めない
  • インデックス:並べ替えの基準となる列または行の位置を、先頭を1として数値で指定
  • 順序: 1(昇順)、-1(降順)を指定 ※省略すると1(昇順)となる
  • 方向:並べ替えの方向を指定 
    ※TRUE:列方向、FALSE:行方向、省略するとFALSE(行方向)となる
※抽出結果はスピルされて複数行列にわたって表示
※SORT関数はMicrosoft365、Excel2021のみで使用可能な関数


関数の引数には配列(並べ替えたい範囲)を指定し、引数が[]になっている場合は省略可能です。

SORT関数では、関数の計算結果がスピルされ複数行列にわたって範囲として返ってきます。

「スピル」については、以下の記事をご確認ください。

SORT関数を活用した並べ替え

ここでは、SORT関数の基本的な使い方をご紹介します。
【E3】セルを起点とし、表の内容を試験日順に並べ替えて表示します。

方法

(1)【E3】セルに「=SORT(」と入力

【E3】セルに「=SORT(」と入力

(2)配列には並べ替えたい範囲を指定
タイトル行は含まないので、「A3:C15,」を指定すると、その範囲を並べ替えることができます。

配列には並べ替えたい範囲を指定
(3)日付を基準に並べ替える
日付は選んだ範囲の1列目に記入されているので「1,」と入力します。ここでは、A列の試験日を指定しています。

日付を基準に並べ替える

(4)並べ替え順序は昇順で並べ替えをするので「1,」と入力
今回は昇順なので1と指定しています。-1と指定すると降順となり、省略すると1(昇順)となります。

並べ替え順序は昇順で並べ替えをするので「1,」と入力

(5)並べ替えの方向は、行方向で並べ替えをするので、「FALSE」を指定
FALSEを指定し、Enterキーを押して数式を確定すると、並べ替えた範囲が表示されます。

並べ替えの方向は、行方向で並べ替えをするので、「FALSE」を指定

インデックス以降の引数は省略が可能なため「=SORT(A3:C15)」と入力しても同様の結果となり、この数式はセル範囲【A3:C15】を、1列目を基準に昇順で並べ替えるという意味です。

新しいデータを追加する

左側の表の16行目に新しいデータを追加します。

SORT関数は「A3:C15」の範囲で引数が指定されているため、左側の表にデータが増えても、並べ替えの範囲は自動で変更されません。

「A3:C15」の範囲で引数が指定されているため、左側の表にデータが増えても、並べ替えの範囲は自動で変更されません。

データが増えた際に並べ替えの範囲を自動で対応させるには、SORT関数の範囲を指定する際に、INDIRECT関数とCOUNTA関数を使用します。

INDIRECT関数は、指定される文字列のセル参照を返す関数で、基本構文は下記の通りです。

=INDIRECT( 参照文字列, [参照形式] )

指定した範囲のデータを、列の場所に並べ替えてリストを作成する
  • 参照文字列:セル参照を表す文字列をA1形式またはR1C1形式で指定
  • 参照形式:[参照文字列]の形式を以下のように指定
    TRUEまたは省略:A1形式/FALSE:R1C1形式

 

COUNTA関数は、範囲に含まれる空白ではないセルの個数を返す関数で、基本構文は下記の通りです。

=COUNTA( 値1, [値 2],・・・)

指定した範囲のデータの個数を返す
  • 値1:必ず指定 ※データの個数を数えたい値やセル、セル範囲を指定

方法

(1)【E3】セルの数式を「=SORT(INDIRECT("A3:C"&COUNTA(A:A)+1))」と変更
この数式について確認してみましょう。

  1. A列のデータの個数をCOUNTA関数で数える
  2. INDIRECT関数で「”A3:C16”」という文字列をセル参照に変更
  3. SORT関数の範囲がA3:C16となる

 

【E3】セルの数式を「=SORT(INDIRECT("A3:C"&COUNTA(A:A)+1))」と変更

参照となるセルを文字列で入力する必要があるので「”A3:C”」、C列の最終行が可変になりますので、ここでCOUNTA関数を使用します。文字列を「” (ダブルクォーテーション)」で括り、「&COUNTA」でつなぎます。
COUNTA関数はA列のデータの個数を数え、1行目が空白になっていますので、「+1」と入力し「 ) 」で閉じてEnterキーで確定します。

(2)追加されているデータも並べ替えの対象になる
左側の表に追加されているデータも並べ替えの対象になり、右側の表に反映されます。

左側の表に追加されたデータが右側の表に反映されました

さらに新しいデータが加わった場合、セル範囲が可変になっているため、並べ替えの対象に新しいデータが追加されます。

さらに新しいデータが加わった場合、セル範囲が可変になっているため、並べ替えの対象に新しいデータが追加されます

SORT関数の参照範囲が可変で設定されることで、データが増えても並べ替えの範囲が自動で変更されます。

 

↑ 記事TOP

SORTBY関数(ソートバイ関数)とは

SORTBY関数とは、指定した範囲のデータを複数の基準で別の場所に並べ替えてリストを作成する関数です。並べ替えのキーが2つ以上ある場合はSORT関数ではなくSORTBY関数を使用します。

SORTBY関数の基本構文は下記の通りです。

= SORTBY( 配列,基準1,[順序1],[基準2,順序2],・・・,[基準126,順序126] )

指定した範囲のデータを、列の場所に並べ替えてリストを作成する
  • 配列:並べ替える範囲を指定 ※タイトル行は含めない
  • 基準:並べ替えの基準にする配列または範囲を指定
  • 順序:1(昇順)、-1(降順)を指定 ※省略すると1(昇順)となる
※「配列」および「基準」は同じサイズ
※SORTBY関数では方向を指定する必要がなく、基準の範囲で行列を判断
※SORTBY関数はMicrosoft365、Excel2021でのみ使用可能な関数

SORTBY関数を活用した並べ替え

ここでは、SORTBY関数の基本的な使い方をご紹介します。
【E3】セルを起点とし、表の内容を科目の昇順に並べ替えてみましょう。
科目が同様の場合は点数が高い順に並べるものとします。

方法

(1)【E3】セルを選択し、「=SORTBY(」と入力

【E3】セルを選択し、「=SORTBY(」と入力

(2)配列には並べ替える範囲を指定するため、「A3:C15」を指定し、「,」を入力

img_excel-sort-sortby_11

(3) 基準配列1に科目のセル範囲「B3:B15」を指定
まず1つ目の基準が科目になります。

基準配列1に科目のセル範囲「B3:B15」を指定

(4) 科目は昇順で並べ替えるため、並べ替え順序1に「1,」(昇順)と入力

並べ替え順序1に「1,」(昇順)と入力

(5) 2つ目の並べ替えの基準を入力
科目が同様の場合、点数の降順で並べ替えるので、基準配列2に点数のセル範囲「C3:C15」を指定します。

2つめの並べ替えの基準を入力
(6) 並べ替え順序2に「-1,」(降順)と入力
Enterキーで数式を確定すると並べ替えた範囲が表示されます。 科目の昇順、科目が同じ場合は点数の高い順で並べ替えられました。

 基準配列2に「-1,」(降順)と入力

SORT関数・SORTBY関数利用時の注意点

SORT関数やSORTBY関数を利用する際の注意点や、Excelの並べ替えとの違いを解説します。

配列の範囲と基準配列の範囲のサイズ

SORTBY関数を使用する時、配列の範囲と基準配列の範囲のサイズが違うとエラーになるので注意しましょう。

配列の範囲と基準配列の範囲のサイズが違うとエラーになるので注意しましょう

ふりがな情報

SORTBY関数で並べ替えるときは「ふりがな情報」は無視され、文字コード順になります。Excelの並べ替え機能では既定で「ふりがな情報」をもとに並べ替えられます。

大文字と小文字の区別

大文字と小文字は区別されず、先に出てきた方が上に表示されます。Excelの並べ替えの機能では大文字と小文字は区別され、小文字の方が先に表示されます。

SORT関数・SORTBY関数と一緒に利用すると便利な関数

SORT関数SORTBY関数と一緒に利用すると便利なUNIQUE関数についてご紹介します。
UNIQUE関数は選択した範囲のデータから重複を削除したデータを抽出し、リストを作成する関数です。

UNIQUE関数の基本構文は下記の通りです。

= UNIQUE( 配列,[列の比較],[回数指定] )

選択した範囲のデータから重複を削除したデータを抽出し、リストを作成する
  • 配列:重複をなくしたい範囲を指定
  • 列の比較:元のデータの方向を指定
    • TRUE(列方向)、FALSE(行方向)を指定
    • 省略すると、FALSE(行方向)となる
  • 数指定:[範囲]の中に複数回現れるデータの扱いを指定
    • TRUE:1回だけ現れるデータを取り出す
    • FALSE:複数回現れるデータを1つにまとめる
※抽出結果はスピルされて複数行列にわたって表示されます。


「UNIQUE関数」の詳細については、以下の記事をご確認ください。

UNIQUE関数の基本的な使い方

【E3】セルを起点として、重複を削除した科目一覧を表示してみましょう。

方法

(1)【E3】セルを選択し、「=UNIQUE(」と入力

【E3】セルを選択し、「=UNIQUE(」と入力

(2)科目のデータを取り出すために「B3:B14」を指定し、Enterキーで確定
「PowerPoint」「Excel」「Word」と重複のないデータが表示されました。
※回数の列にはあらかじめ実施回数を求める数式が入力されています。

科目のデータを取り出すために「B3:B14」を指定し、Enterキーで確定

(3)左側の表のデータが増えたら右側の表に反映されるように、数式を変更
ここでもINDIRECT関数とCOUNTA関数を使用します。まず、「=UNIQUE(INDIRECT(“B3:B”」と入力し、続いて「&COUNTA(A:A)+1))」と指定すると可変になります。
”B3:B”」は文字列として指定します。「&」でつなぎ、COUNTA関数を入力します。

左側の表のデータが増えたら右側の表に反映されるように、数式を変更

(4)15行目に新たなデータを追加
数式を追加すると、UNIQUE関数で重複を削除したデータも追加されました。

15行目に新たなデータを追加

また、F列にはあらかじめCOUNTIF関数という、条件に一致したデータの個数を数える関数が入力されているので、F列には各科目の試験回数が表示されました。

COUNTIF関数もスピルで引数が入力されているため、UNIQUE関数の結果が増えるとCOUNTIF関数の集計結果も自動的に範囲を拡張してくれます。

(5)UNIQUE関数で求めた範囲に、SORT関数を使用する
UNIQUE関数の前にカーソルを立て、「SORT(」と入力し、Enterキーで数式を確定します。すると、UNIQUE関数で求めた範囲をSORT関数で並べ替えることができました。

UNIQUE関数で求めた範囲に、SORT関数を使用する

まとめ:SORT/SORTBYで「並べ替え」を自動化しよう

column_0013

「SORT関数・SORTBY関数」は、関数で並べ替えすることのできる大変便利な関数です。今までデータが増えるたびに行っていた並べ替えを、関数で自動化することによって日々の業務を少しずつ効率化していきましょう。

当社では、『Microsoft認定トレーナー』資格を持つEXCEL女子による「Excel研修」を提供しております。書籍化するなど注目いただいている研修です。今回ご紹介した「SORT関数・SORTBY関数」、「UNIQUE関数」を含むMicrosoft365で使用できる最新関数も取り扱っています。

実務経験者が講師のため、現場ですぐに使うことができる実践的なカリキュラムのご提供が可能です。
まずは詳細だけでも聞いてみたい、業務効率化したいけど何をしたらいいのか分からなくて困っている、といった内容でもいつでもお気軽にご相談ください。

 

社員教育に時間を割けない、Excelスキルの底上げをしたいなどお悩みでしたら、ぜひお気軽にお問い合わせください。

DX推進パートナー【 EXCEL女子 】へご相談ください。
業務自動化 ✖ EXCEL女子の解決事例

業務自動化 ✖ EXCEL女子の解決事例

Excel業務の効率化や属人化解消に悩んでいませんか?この資料では、VBA(Excelマクロ)を活用して、月30時間以上の工数削減を実現した5社のリアルな事例をご紹介しています。
ダウンロード
VBA/マクロ開発代行サービス

VBA/マクロ開発代行サービス

お客様の業務に最適化されたExcel VBA/マクロを開発・改修・保守いたします。複雑な作業の自動化から、データ分析、レポート作成まで、幅広いニーズに対応します。
ダウンロード
PAGE TOP