スプレッドシートで空白を除いて並べ替え!SORT関数×FILTER関数の使い方を徹底解説

Googleスプレッドシートでデータを整理していると、「空白の行を飛ばして並べ替えたい」「条件に合うものだけを整列させたい」というシーンに直面することがあります。

手動での並べ替えも可能ですが、関数を使えば、空白を除いて自動で並び替えることもできます。

この記事では、SORT 関数と FILTER 関数を組み合わせて、空白行を除外しながら並べ替える方法を、具体例付きでわかりやすく解説します。


スプレッドシートの基本的な並べ替え方法

まずは、スプレッドシートでの基本的な並べ替えについて確認しておきましょう。

もっとも簡単なのは、メニューの「データ」→「並べ替え範囲」を使う方法です。
昇順または降順で、選択した範囲の中から1列を基準に並び替えられます。

しかしこの方法にはいくつかの制限があります。
たとえば、空白行も並び替えに含まれてしまうため、データの整合性が崩れやすく、自動更新にも対応していません

そこで便利なのが、SORT 関数です。関数を使えば、新しく追加されたデータも含めてリアルタイムで並び替えられます


SORT関数だけでは空白は除けない?

SORT 関数の基本形は次の通りです。

php
=SORT(A2:B10, 2, TRUE)

これは、A2からB10までの範囲を、2列目(つまりB列)で昇順に並べるという意味です。

この方法自体は便利ですが、空白行があってもすべて並び替えに含まれてしまいます。
特定の列が空欄の行を除外したいときには、このままでは不十分です。


FILTER関数と組み合わせることで空白を除外できる

そこで登場するのが FILTER 関数です。
FILTER 関数は、指定した条件を満たす行だけを抽出してくれる関数です。

たとえば、次のように書くことで、B列が空欄でない行のみを抽出することができます。

ruby
=FILTER(F2:G100, B2:B100<>"")

これに SORT を組み合わせると、空欄の行を除外して並び替えることができます。


空白を除いて並べ替える具体的な式

以下が、実際に空白を除いて並べ替える式の例です。

ruby
=SORT(FILTER(F37:G268, B37:B268<>""), 2, FALSE)

この式の意味は次の通りです。

  • FILTER(F37:G268, B37:B268<>""):B列が空でない行だけを対象にする

  • SORT(..., 2, FALSE):G列(2列目)を基準に降順で並べ替える

これにより、B列が空欄の行は無視され、G列の値を基準に整然と並びます。


実例:営業データを並び替えてみよう

以下のようなデータがあるとしましょう。

css
F列:担当者名 G列:売上金額 B列:顧客名(条件)

担当者名 | 顧客名(B列) | 売上(G列)
佐藤   | A社     | 120万円
鈴木   | (空白)   | 90万円
高橋   | B社     | 150万円

このとき、B列 が空欄の行(鈴木さんのデータ)を除外して、売上金額で降順に並び替えたい場合、次のようにします。

ruby
=SORT(FILTER(F2:G10, B2:B10<>""), 2, FALSE)

これにより、**高橋(150万)、佐藤(120万)**の順に表示され、空欄の鈴木さんの行は除外されます。


空欄の行も下に並べたい場合はこうする

空白の行を「削除」ではなく「下に並べるだけ」にしたいケースもありますよね。

そんなときは、次のように中カッコ {} を使って上と下を連結することで実現できます。

ruby
={
SORT(FILTER(F37:G268, B37:B268<>""), 2, FALSE);
FILTER(F37:G268, B37:B268="")
}

この式は次のような動きをします。

  • B列が空欄でない行を、G列の降順で並べる(上段)

  • B列が空欄の行を、そのままの順で下に追加する(下段)

これで、空欄データも大切に扱いながら、見栄えの良い並べ替えができます。


よくある質問と注意点

Q. 関数をどこに書けばいいの?
A. F37:G268 を参照している場合、その**外側(例:I2など)**に書きましょう。同じ場所に書くと循環エラーになります。

Q. 並び替えた結果を上書きしたいときは?
A. コピー → 値のみ貼り付け で手動で上書きできます。

Q. 複数条件で並べ替えできますか?
A. できます。条件を複数の FILTER に組み合わせればOKです。


まとめ

Googleスプレッドシートで「空白を除外して並べ替えたい」ときは、SORT 関数と FILTER 関数の組み合わせが非常に有効です。

手動で並べ替える手間もなくなり、新しくデータを追加しても自動で並び変わるため、日々の業務にもピッタリ。

関数の仕組みを理解すれば、データ処理のスピードと正確性が一気にアップします。
この記事を参考に、ぜひ自分のスプレッドシートにも活用してみてください!

コメント