FILTER関数などで「指定した範囲内」に収めて表示! #Excel #LifeHacks #Office
FILTER関数って「条件に合うものをすべて抽出」できて本当に便利なんですが、表のレイアウトが決まっているときほど困るのが“あふれ(スピル)”問題でした。私の場合、タスク管理表で「着手中のタスク」や「直近完了したタスク」を別枠(5行だけ、みたいな固定枠)に出したくてFILTERを使ったら、件数が多い日に枠からはみ出して表示が崩れたり、周りに値があるせいでエラーになったり…。そこで役に立ったのが、FILTERの結果をTAKEで“指定行数だけ”切り出す方法です。 例えば、完了したタスクを完了日で並べ替えて上位(または直近)だけ表示したいなら、まずはSORT+FILTERで抽出します。 ・抽出:FILTER(範囲, 条件) ・並べ替え:SORT(抽出結果, 並べ替え列, 昇順/降順) ここまでだと件数が増えるほどスピル範囲が広がります。 そこで最後にTAKEを重ねます。 TAKE(array, rows, [columns]) なので、rowsに「表示したい最大行数」を入れるだけ。私は「最大5行」にしたいとき、TAKE(… ,5)の形で固定枠に収めています。逆に“直近(末尾側)を取りたい”ときはrowsをマイナスにしてTAKE(…,-5)にすると、最後の5件を抜き出せて便利でした。 さらに実務だと「5行も存在しない日」もありますよね。ここも嬉しいポイントで、TAKEは“足りない分を無理に埋めようとしてエラー”になりにくく、結果が少ない日は少ないまま表示されます(空白が出るだけで、表全体が壊れにくい)。 貸出管理のデータ分析でも同じ考え方が使えました。例えば、貸出一覧から「未返却だけ抽出」→「期限が近い順にSORT」→「上位10件だけTAKE」とすると、ダッシュボード的に“今見るべき件数”に絞れます。条件に合うものをすべて抽出しつつ、見せ方は指定範囲内に収める、という運用に変えてから管理表がかなり安定しました。 もしFILTER関数のエラーに悩んでいたら、まずは「抽出(FILTER)→整列(SORT)→件数制限(TAKE)」の順で組んでみてください。タスク名・進捗・完了日みたいな列構成でも、そのまま応用できます。










