表のソートや複数データの抽出を簡単に実行
Excel 2019で登場した「スピル」と呼ばれる機能は、数式の戻り値が1つではなく複数となる場合に、それぞれの値を隣接するセルにまとめて表示する働きをします。
Excel 2021では、このスピルを活用した関数として以下の6つが追加されています。それぞれの機能や使い方を見ていきましょう。
- FILTER
- SORT
- SORTBY
- UNIQUE
- SEQUENCE
- RANDARRAY
条件に一致する行を表示するFILTER関数
あるセルの値が50以上、あるいはセルに入力された文字列が「○」のものだけを抜き出して表示したい、などといった場面で利用できるのがFILTER(フィルター)関数です。
FILTER関数の構文と引数の意味は、以下のようになります。
=FILTER
(
範囲,
条件,
一致しない場合の値
)
- [範囲]......検索の対象となる範囲を指定。
- [条件]......範囲の中から取り出す行を検索する条件を指定。
- [一致しない場合の値]......条件に一致する行がない場合の値を指定(任意)。
1FILTER関数で条件を指定する
FILTER関数の第1引数[範囲]としてセルA2:A10を指定し、第2引数[条件]として、結果の列の値が60より大きいもの(C2:C10>60)を指定しています。
2条件に合致したデータだけが表示された
検索条件に合致した行がスピルで表示されました。
データを並べ替えて取り出すSORT関数とSORTBY関数
SORT(ソート)関数とSORTBY(ソート・バイ)関数は、いずれもデータを並べ替え、その結果をスピルとして表示する関数です。
両者の違いは指定できる並べ替えの条件の数で、SORTは1つ、SORTBYは複数(最大126)の条件を指定できます。
SORT関数およびSORTBY関数の構文と引数の意味は、以下のようになります。
=SORT
(
範囲,
基準,
順序,
データの並び,
)
- [範囲]......元のデータの範囲を指定。
- [基準]......並べ替えの基準となる列または行の位置を、先頭を1として指定。
- [順序]......並べ替えの順序を指定。昇順は「1」、降順は「-1」。
- [データの並び]......元のデータが並んでいる方向を指定。行方向は「TRUE」、列方向は「FALSE」。
=SORTBY
(
範囲,
基準1,
基準1の順序,
基準2,
基準2の順序,
...,
基準126,
基準126の順序,
)
- [範囲]......元のデータの範囲を指定。
- [基準]......並び替えの基準となるデータの範囲を指定。
- [順序]......並べ替えの順序を指定。昇順は「1」、降順は「-1」。
1SORTBY関数を使ってソート条件を複数指定する
SORTBY関数を使って、複数の条件で並べ替えを行います。[範囲]となるセルA2:A13を指定したうえで、1つ目の[基準]と[順序]としてブロック(B2:B13)を昇順、2つ目の[基準]と[順序]としてスコア(C2:C13)を降順で並べ替えます。
2ブロックとスコアがソートされた
スピルで結果が表示され、ブロックが昇順、スコアが降順で表示されました。
重複するデータをまとめて表示するUNIQUE関数
データの中に重複する値があるとき、重複するデータを1つにまとめたり、1回だけ現れるデータだけを抜き出したりできるのがUNIQUE(ユニーク)関数です。
UNIQUE関数の構文と引数の意味は、以下のようになります。
=UNIQUE
(
範囲,
検索方向,
回数
)
- [範囲]......検索の対象となる範囲を指定。
- [検索方向]......検索方向を指定。行方向は「TRUE」、列方向は「FALSE」。
- [回数]......範囲で指定した中に複数回現れるデータの扱いを指定。1回だけ現れるデータだけを取り出す場合は「TRUE」、複数回現れるデータを1つにまとめる場合は「FALSE」。
1UNIQUE関数で重複するデータをまとめる
UNIQUE関数を使って、複数回現れるデータを1つにまとめます。対象となる[範囲](B2:B48)を指定し、[検索方向]として列方向(FALSE)、[回数]として「FALSE」を指定しました。
2重複したデータが1つにまとめられた
複数回現れる値(米など)が1つにまとめられ、ユニークな(固有の)値のみが取得できました。
任意の配列や乱数表を作成できるSEQUENCE関数とRANDARRAY関数
SEQUENCE(シーケンス)関数は、指定した値から指定した増分ずつ増える等差数列の表を作成できる関数です。例えば、10から始まり5ずつ増える数値が入った、10行×10列の表を作成するといったことができます。
RANDARRAY(ランダム・アレイ)関数は、指定した行数と列数のセルに乱数を入力する関数です。
SEQUENCE関数およびRANDARRAY関数の構文と引数の意味は、以下のようになります。
=SEQUENCE
(
行数,
列数,
開始値,
増分
)
- [行数]......配列の行数を指定。
- [列数]......配列の列数を指定。
- [開始値]......数列の最初の値を指定。省略すると「1」。
- [増分]......数列の増分を指定。省略すると「1」。
=RANDARRAY
(
行数,
列数,
最小値,
最大値,
乱数の種類
)
- [行数]......配列の行数を指定。
- [列数]......配列の列数を指定。
- [最小値]......乱数の最小値を指定。省略すると「0」。
- [最大値]......乱数の最大値を指定。省略すると「1」。
- [乱数の種類]......整数の乱数を発生させる場合は「TRUE」、実数(小数)の乱数を発生させる場合は「FALSE」。
11から始まる3ずつ増える10行×10列の表を作成する
SEQUENCE関数を利用して、10行×10列の配列に対し、1から始まり3ずつ増加する表を作成します。つまり、[行数]と[列数]はともに10、[開始値]は1、[増分]は3となります。
2表が作成された
1から始まり3ずつ増加した等差数列の表が作成されました。