Excelで土日・祝日をFILTER関数を使ってスピル非表示にする方法
実務でデータ分析を行う際、土日や祝日のデータを一覧から非表示にすることがよくあります。手作業では時間がかかるだけでなく、ミスのリスクも高まります。そこで今回は、ExcelのFILTER関数を使ってスピル非表示にする方法を詳しく解説します。この記事を読めば、効率的に土日・祝日のデータを非表示に設定し、業務効率を大幅に向上させることができます。
📊 やり方の比較
| 手法 | メリット | デメリット | 推奨 |
|---|---|---|---|
| 数式(FILTER関数) | スピル機能で自動更新される | 古いExcelでは使えない | ◎ |
| マウス操作(フィルタリング) | 直感的で簡単 | 手動での更新が必要、非表示にしたデータが元に戻る可能性あり | △ |
fx 使用する数式
Excel / SpreadSheet
=FILTER(A2:A100, NOT(WEEKDAY(A2:A100, 2) = WEEKDAY(TODAY(), 2)), "")💡 仕組みの解説
【数式の仕組み】FILTER関数は、特定の条件を満たすデータだけを抽出します。この場合、WEEKDAY関数(またはWEEKNUM関数)を使用して曜日を判定し、土日や祝日のデータを非表示にします。
A2:A100: 抽出したい範囲のデータです。NOT(WEEKDAY(A2:A100, 2) = WEEKDAY(TODAY(), 2)): 土日や祝日のデータを非表示にする条件式です。WEEKDAY関数は、指定した日付が週の何番目の曜日に当たるかを返します(2は土曜日が1になるように設定)。TODAY関数は今日の日付を取得します。"": 条件に一致しないデータは空文字列として表示されます。ただし、元のデータは削除されません。
この式を使用することで、スピル機能により自動的に更新される非表示設定が可能になります。
具体的な手順
1
まず、データ範囲を選択し、FILTER関数を使用して土日・祝日のデータを非表示に設定します。
2
WEEKDAY関数またはWEEKNUM関数を使って曜日を判定し、条件式を作成します。
3
FILTER関数の引数として作成した条件式を使用して非表示に設定します。
よくある質問
Q Q1. VBAとの違いは?
A.
A1. FILTER関数はマクロレスでスピル非表示を実現できますが、VBAを使用するとより複雑なロジックや自動化が可能です。
Q Q2. スピルエラーとは?
A.
A2. スピルエラーは、数式の結果が範囲外に出力される場合に発生します。スピル機能を無効にするか、適切な範囲を設定することで解決できます。
Q Q3. スマホ版でも使える?
A.
A3. Googleスプレッドシートでは使用可能ですが、ExcelのスマートフォンアプリではFILTER関数がサポートされていない場合があります。