Excel関数に関するお悩み等ありましたらお問合せフォームからメッセージください(^^)

TAKE&SORT&FILTER関数で便利なデータ抽出

今回は下記のようなタスク一覧を「ステータスが完了以外で、期日の近い5つのタスク」を抽出する方法を考えてみました。

 

こんな日付の並びがバラバラなタスク一覧から・・・

 

 

期日の近いタスク5件のみを自動で抽出する!

 

手順

使用する関数

まずは今回使用する関数を確認してみましょう。

使用する関数は3つです。

TAKE関数

指定した範囲から、指定した行数・列数分、配列を抜き出します。

引数説明省略可否
array抜き出したい範囲を指定する必須
rows抜き出した行数を指定する必須
columns抜き出したい列数を指定する省略可

SORT関数

指定した範囲から、基準にした列または行を並び替えて配列を返します。

引数説明省略可否
配列並び替えたい範囲を指定します。必須
インデックス並べ替えの基準となる列または行の位置を、先頭を1として指定します。省略可
順序並べ替えの順序を以下のように指定します。
1:昇順
-1:降順
省略可
基準行・列どちらで並び替えるか指定します。
TRUE:列で並び替える
FALSE:行で並び替える
省略可

FILTER関数

指定した範囲から、指定した条件に一致する配列を抜き出します。

引数説明省略可否
配列抜き出したい範囲を指定します。必須
含む指定した範囲から抜き出したい条件を指定します。省略可
空の場合条件に一致しない場合に返す値を指定します。省略可

 

関数を組み合わせる

上記3つの関数を使用して、下記のような関数を入力します。
※関数をわかりやすくするために、タスク一覧はテーブル化して「タスク一覧」というテーブル名を付けています。

=TAKE(SORT(FILTER(タスク一覧,タスク一覧[ステータス]<>”完了”),2,1,FALSE),5)

 

分解してみる

分解してみてみるとわかりやすいかもしれません。

TAKE

引数入力内容
arrayタスク一覧
rows5
columns入力なし

SORT

引数入力内容
配列タスク一覧
インデックス2
順序1
基準FALSE:行で並び替える

FILTER

引数入力内容
配列タスク一覧
含むタスク一覧[ステータス]<>”完了”
空の場合入力なし

 

まとめ

とりあえず下の関数を覚えとけば間違いなし。

=TAKE(SORT(FILTER(抜き出したい表の範囲,条件を指定する範囲と条件),並び替えたい値は何列(行)目か,昇順か降順か(1 or -1),列・行どちらで並び替えるか(TRUE or FALSE)),先頭からいくつ抜き出すか)

業務代行始めました!

ココナラにてExcel業務の代行サービスを始めました。
以下のような事でお悩みの方、お気軽にご相談ください。

 エクセルでの業務を効率化するツールを作りたいけど、イメージ通りに作れない・・・

 業務で使っている既存のファイルが使いにくいけど、どう改修すればいいかわからない・・・

 エクセルを使った業務は苦手なので、そもそも誰かに代行してほしい・・・

 後から自分でもメンテナンスしたいから、マクロとか高度な機能は使わないで欲しい・・・