ExcelでFILTER関数を使って土日・祝日をスピルカウントする方法
土日や祝日のデータを効率的に抽出し、個数をカウントしたいと考えたことはありませんか?手作業で行うと時間がかかるだけでなく、ミスの可能性も高まります。この記事では、ExcelやGoogleスプレッドシートでFILTER関数を使用して土日・祝日のデータをスピルカウントする方法を詳しく解説します。これにより、業務効率が大幅に向上し、正確な分析結果を得ることができます。
📊 やり方の比較
| 手法 | メリット | デメリット | 推奨 |
|---|---|---|---|
| 数式(FILTER関数) | 自動更新される, 複雑な条件も設定可能 | 古いExcelでは使えない, 関数の理解が必要 | ◎ |
| マウス操作(フィルタ機能) | 直感的で簡単 | 元データが消える可能性あり, 複雑な条件設定は難しい | 〇 |
fx 使用する数式
Excel / SpreadSheet
=COUNT(FILTER(A2:A100, (WEEKDAY(A2:A100)=7) + (WEEKDAY(A2:A100)=1) + ISNUMBER(MATCH(A2:A100, B2:B5, 0))))💡 仕組みの解説
この数式は、FILTER関数を使って土日と祝日のデータを抽出し、COUNT関数でその個数をカウントします。まず、WEEKDAY関数(またはWEEKNUM関数)を使用して週末の日付を特定します。7は土曜日、1は日曜日に該当します。次に、祝日のリストと比較するため、ISNUMBER(MATCH(A2:A100, B2:B5, 0))で祝日が存在するかどうかを確認します。最後に、これらの条件の合計が真(TRUE)である場合のみ、FILTER関数は該当するデータを抽出し、COUNT関数はその個数をカウントします。この方法では元データが削除されることはありません。
具体的な手順
1
土日・祝日のリストを作成します。祝日の列は別途用意しておきます(例:B2:B5)
2
FILTER関数を使用し、土日と祝日のデータを抽出します。具体的な数式は上記の通りです
3
COUNT関数を使って、FILTER関数で抽出されたデータの個数をカウントします
よくある質問
Q Q1. VBAとの違いは?
A.
A1. VBAはマクロ言語であり、Excelの機能を拡張できますが、FILTER関数はより簡潔で直感的な方法です。VBAは複雑な処理や大量のデータ処理に向いています。
Q Q2. スピルエラーとは?
A.
A2. スピルエラーは、関数が予想外の結果を返したときに発生します。通常、正しい範囲や条件を設定することで解消できます。
Q Q3. スマホ版でも使える?
A.
A3. GoogleスプレッドシートではスマートフォンからもFILTER関数を使用できますが、Excelはデスクトップ版でのみ利用可能です。