📘 Excel逆引き事典

Excelで土日・祝日のスピル抽出:FILTER関数を使って効率化

毎週の業務で頻繁に遭遇する「土日や祝日の抽出」。手作業では時間がかかる上、ミスも増えますよね。この記事では、ExcelのFILTER関数を使ってスピル機能を活用し、効率的にデータを抽出する方法を詳しく解説します。マウス操作と比較しながら、最新のExcel技術で業務をもっとスマートに進めるためのヒントをお伝えします。

📊 やり方の比較

手法メリットデメリット推奨
数式(FILTER関数)スピル機能を使用して自動更新古いバージョンでは対応していない可能性あり
マウス操作(フィルタリング)直感的で簡単、手順が覚えやすい元データの変更や消去リスクがある

fx 使用する数式

Excel / SpreadSheet
=FILTER(A2:A100, (WEEKDAY(A2:A100)=7) + (WEEKDAY(A2:A100)=1) + ISNUMBER(MATCH(A2:A100, B2:B5, 0)))

💡 仕組みの解説

FILTER関数は、特定の条件を満たすデータだけを抽出します。この例では、土日と祝日の日付のみを抽出しています。

  1. WEEKDAY(A2:A100)=7:土曜日(6)と日曜日(7)を判定します。
  2. (WEEKDAY(A2:A100)=1):月曜日は1なので、これは日曜日の判定です。
  3. ISNUMBER(MATCH(A2:A100, B2:B5, 0)):祝日リスト(B列)に該当する日付を検索します。

これらの条件が全てのデータに対して評価され、結果として抽出されます。元データは変更や削除されません。

具体的な手順

1
日付データのある範囲(例:A2:A100)を選択します。
2
B列に祝日のリストを入力し、その範囲を指定します。
3
=FILTER(A2:A100, (WEEKDAY(A2:A100)=7) + (WEEKDAY(A2:A100)=1) + ISNUMBER(MATCH(A2:A100, B2:B5, 0)))と入力し、スピル機能を有効にします。

よくある質問

Q Q1. VBAとFILTER関数の違いは?

A.
VBAはマクロ言語であり、複雑な処理や自動化が可能です。一方、FILTER関数は特定の条件に基づいてデータを抽出するためのシンプルな方法です。

Q Q2. スピルエラーとは?

A.
スピルエラーは、関数の結果が範囲外に広がる場合や、計算可能な値がない場合に発生します。適切な範囲を指定することで解決できます。

Q Q3. スマホ版でも使える?

A.
スマートフォン版のExcelもスピル機能に対応していますが、操作性はPC版と比べて制限があります。