Excelのオンライン版で、関数「FILTER」と「SORT」を組み合わせた使い方を説明します。
単純に組み合わせただけだとエラーが出る場合があるので、その回避方法を含みます。
結論から言うと、以下の数式になりますが、詳しい解説を読みたい方は、以下のページ本文を読み進めてください。
関数「IFERROR」を使うのがポイントです。
=IFERROR(SORT(FILTER(配列範囲, 抽出条件), 並べ替え基準, 並べ替え順序), エラー時表示)
関数「FILTER」と「SORT」を単独で使うときのやり方
ここでは、簡単に関数「FILTER」と「SORT」の単独での使い方を見ていきます。
関数「FILTER」
関数「FILTER」の使い方は、以下のようになります。
=FILTER(配列範囲,抽出条件)
今回の例では、配列範囲が「A2:C32」で、抽出条件が「B2:B32>=E3」つまり「最高気温が8度以上」となっています。
関数「SORT」
関数「SORT」の使い方は、以下のようになります。
=SORT(配列範囲, 並べ替え基準, 並べ替え順序)
- 配列範囲:セル番地を範囲指定します
- 並べ替え基準:並べ替えのキーとなる列か行の数値
- 並べ替え順序:昇順は1、降順は-1、省略時は1
「並べ替え基準の数字」は、配列範囲の左側から数えた列の番号です。
今回の例では、3つの列があるので、1か2か3の数字を設定することができます。
関数「FILTER」と「SORT」には、それぞれ個別の記事があるので、詳しい説明を見たい方は、そちらを参考にしてください。
関数「FILTER」と「SORT」を組み合わせて使うときのやり方
順番に、やり方を一緒に見ていきましょう。
以下のワークシートから、最終結果は「最高気温が10度以上の行を最高気温の高い順に抽出・表示する」とします。
まず最初に、抽出・表示なので、関数「FILTER」を使います。
=FILTER(A2:C32,(B2:B32>=E3))
- 配列範囲:A2:C32、つまり「日付」「最高気温」「最低気温」の行が、1月1日から31日までの配列範囲
- 抽出条件:B2:B32>=E3、つまり最高気温が10度以上
数式入力エリアに、上記の数式を入力します。
数式を入力した結果、以下のデータが抽出・表示できました。
次に、並べ替えをする関数「SORT」を組み込むことを考えます。
=SORT(配列範囲, 並べ替え基準, 並べ替え順序)
- 配列範囲:セル番地を範囲指定します
- 並べ替え基準:並べ替えのキーとなる列か行の数値
- 並べ替え順序:昇順は1、降順は-1、省略時は1
上記の配列範囲の中に、最初の「FILTER」の抽出結果を組み込んでみます。
=SORT(FILTER(A2:C32,(B2:B32>=E3)), 2, -1)
- 配列範囲:関数「FILTER」の抽出結果
- 並べ替え基準:2、つまり「日付」「最高気温」「最低気温」の2番目なので「最高気温」
- 並べ替え順序:-1、つまり降順(大きい順)
以上の結果、次のデータが表示できました。
一見、これで完成したように見えますが、該当するデータがないときは、以下のようにエラーが出ます。
「#CALC!」と表示されていますが、これは該当するデータがないときのエラー表示です。
以下からは、関数「IFERROR」を使って、エラー表示を回避する方法を説明します。
関数「IFERROR」の使い方は、次のとおりです。
「値」の部分に数式を入れると、エラーでない場合は数式の結果が表示され、エラーの場合は「エラーの場合の値」が表示されます。
=IFERROR(値, エラーの場合の値)
ここまでで、以下の数式が作られました。
=SORT(FILTER(A2:C32,(B2:B32>=E3)), 2, -1)
これを関数「IFERROR」でくくると、以下のようになります。
=IFERROR(SORT(FILTER(A2:C32,(B2:B32>=E3)), 2, -1), "該当なし")
ワークシートに入れてみると、以下のように「該当なし」表示ができるようになりました。
長〜い説明になりましたが、以上です!
お疲れ様でした!
まとめ
Excelのオンライン版で、関数「FILTER」と「SORT」を組み合わせた使い方を説明しました。
単純に組み合わせただけだとエラーが出る場合があるので、関数「IFERROR」を使ってエラーを回避しました。
コメント