5/29/2023

Excel。1行おきにデータを並べ替えもして手早く抽出するにはどうしたらいい。【extract】

Excel。1行おきにデータを並べ替えもして手早く抽出するにはどうしたらいい。

<SORT+FILTER関数>

2行1組のデータから、1行おきにデータを抽出したいのですが、抽出後、並べ替えをするなら、抽出した時に、並べ替えが終わっていたら、作業効率がいいわけですね。


次の表をつかって、説明します。

FILTER関数

それぞれの店舗のデータは、販売数のデータと、売上高のデータで構成されています。


売上高だけのデータを抽出して、さらに、6月の売上高を降順にしたいとします。


オートフィルター機能をつかったとしても、ちょっと面倒な作業なわけですね。


ところが、SORT関数とFILTER関数を組み合わせてつかうことで、手早く抽出して並べ替えもおこなうことができます。


必要な見出しをA11:E11に設定しておきます。


A12に次の数式を設定します。

=SORT(FILTER(A2:E9,B2:B9="売上高"),5,-1,FALSE)


これで、売上高のデータで6月のデータの降順で抽出することができました。


そして、この数式は、オートフィル機能をつかわなくても、スピル機能によって、自動的に数式が拡張されます。


では、数式を確認していきましょう。


SORT関数は、並べ替えを行う関数です。

最初の引数は、「配列」。

つまり範囲選択ですね。


ここにFILTER関数をネストしてます。

FILTER関数の説明はあとに回します。


2番目の引数は「並べ替えインデックス」。

左から何列目を並べ替えの対象としますかという設定です。

6月で並べ替えをしたいわけですから、左から5つ目なので、「5」


3番目の引数は「並べ替えの順序」。

「-1」を設定することで降順と指示できます。

ちなみに「1」だと昇順です。


最後の引数は「並べ替えの基準」。

「FALSE」の「行で並べ替え」を設定します。

「TRUE」にすると、「列で並べ替え」を設定できます。


「配列」で設定したFILTER関数も確認しておきます。

最初の引数は、「配列」。

範囲選択ですね。

「A2:E9」を設定します。


2番目の引数は、「含む」。

これが条件に該当します。

「B2:B9="売上高"」とすることで、B2:B9で売上高が対象にすることができるというわけですね。


FILTER関数と色々な関数を組み合わせて使ってみることで、意外な方法が見つかるかもしれませんね。