
エクセルでデータを昇順や降順に並び替えできる、SORT関数の基本の使い方をご紹介します。「複数列を基準に並び替える方法」や、「空白や0を除いて並び替える方法」、「並び替え結果がぐちゃぐちゃになる場合の解決方法」もまとめているので、ぜひ参考にしてみてください。
SORT関数の使い方

SORT関数は、「範囲」指定した「列」の「順序」に従って並び替えます。
例:=SORT(A2:B5,2,-1)
【順序の種類】
- 1(省略時):昇順(小さい順)
- -1:降順(大きい順)
SORT関数の引数:(範囲, [並べ替える列], [順序], [基準方向])
📖 第4引数「基準方向」とは?
横方向のデータを並び替えたいときに使う引数です。
- TRUE:各列(横方向)のデータを比較して並び替えます。
- FALSE(省略時):各行(縦方向)のデータを比較して並び替えます。
複数列を基準に並べ替える

SORTBY関数を使って、「基準範囲」と「順序」を優先度の高い順に記述していきます。
- 例:
=SORTBY(A2:B5,B2:B5,-1,A2:A5,1)- (B列を「降順」で並べ、同じ値があればA列を「昇順」にする)
SORTBY関数の引数:(範囲, 基準範囲1, 順序1, [基準範囲2], [順序2])
📖 横方向のデータを並び替えたいときは?
SORTBY関数は、基準範囲の向き(縦か横か)によって、基準方向を自動で判別してくれます。
- 例:
=SORTBY(B1:E3, B2:E2, -1)
「0」や「空白」を除いて並べ替える

FILTER関数を使って、データを「0以外」や「空白以外」にフィルタ処理してから並び替えます。
- 0を除く:
=SORT(FILTER(A2:B5,B2:B5<>0),2,1) - 空白を除く:
=SORT(FILTER(A2:B5,B2:B5<>""),2,1)
💡 ポイント: 不等号の「<>」が「〜ではない」を表します。
FILTER関数の引数:(抽出範囲, 条件, [空の場合])
SORT関数で並び替えできない原因
数字の場合
【原因】

数字の表示形式が「文字列」に設定されていると、正しく並び替えできません。
【解決方法】

SORTBY関数とVALUE関数を組み合わせて、基準範囲を「数値」に変換します。
例:=SORTBY(A2:B5,VALUE(B2:B5),1)
VALUE関数の引数:(テキスト)
漢字の場合
【原因】

漢字の「ふりがな情報」が含まれていないため、正しく並べ替えできません。
【解決方法】
- PHONETIC関数が使える場合:
- PHONETIC関数で「ふりがな」の列を作成し、その列を基準に並び替えます。
- PHONETIC関数が使えない場合(web版など):
- Geminiに以下のような命令文を入力し、「コードをコピー」を押してエクセルに戻します。
以下の氏名をカタカナに変換し、コードブロック内に1行1名ずつ出力して。
漢字や記号などの装飾は一切不要です。
(ここに名前を貼り付け) - 詳しい解説は「ふりがなを振る方法」の記事をご覧ください。
- Geminiに以下のような命令文を入力し、「コードをコピー」を押してエクセルに戻します。
スピルエラーの場合
【原因】

数式の結果を表示しようとしている場所に、既に他の文字やデータが入っているとスピルエラーになります。
【解決方法】
数式を入れたセルの「右」や「下」にあるデータを削除して、結果が展開されるための「空きスペース」を作ります。
💡 ポイント:
- 目に見えない「スペース(空白)」が入っていないかも確認します。