コラム ~ 業務効率化・業務自動化についての最新情報、用語、ノウハウなど ~

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

作成者: admin_dg|Mar 16, 2023 12:00:00 AM

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

 

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

 

 

 

 

 

 

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

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


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

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

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

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

方法

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

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


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


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


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

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

新しいデータを追加する

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

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

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

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

 

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


方法

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

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

 

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



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

 

↑ 記事TOP

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

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

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

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

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

方法

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

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

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

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

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


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

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

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

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

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

ふりがな情報

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

大文字と小文字の区別

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

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

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

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


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

UNIQUE関数の基本的な使い方

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

方法

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


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

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

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


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

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

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

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

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

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

 

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