📘 Excel逆引き事典

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はデスクトップ版でのみ利用可能です。