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関数は、特定の条件を満たすデータだけを抽出します。この例では、土日と祝日の日付のみを抽出しています。
WEEKDAY(A2:A100)=7:土曜日(6)と日曜日(7)を判定します。(WEEKDAY(A2:A100)=1):月曜日は1なので、これは日曜日の判定です。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版と比べて制限があります。