Excelで土日・祝日の非表示設定(別ブックの場合)
Excelでデータ分析を行う際、土日や祝日のデータを非表示にしたいことはよくあります。特に別のブックから参照する場合、手作業では煩雑な作業が発生します。この記事では、効率的な方法として数式とマウス操作の両方を紹介し、それぞれの利点と注意点について詳しく解説します。これにより、あなたのExcelスキルが大幅に向上するでしょう。
📊 やり方の比較
| 手法 | メリット | デメリット | 推奨 |
|---|---|---|---|
| 数式(WEEKDAY関数) | 自動更新される, データを削除せずに非表示にする | 複雑な設定が必要, 古いバージョンのExcelでは一部機能が利用できない可能性がある | ◎ |
| マウス操作(フィルタリング) | 直感的で簡単, データを削除せずに非表示にする | 手動での設定が必要, 他のユーザーとの共有が難しい | 〇 |
fx 使用する数式
Excel / SpreadSheet
=IF(WEEKDAY(A1)=7 OR WEEKDAY(A1)=1 OR VLOOKUP(A1,'別ブック名'!$A:$B,2,FALSE)=💡 仕組みの解説
【数式の仕組み】この数式は、土日や祝日のデータを非表示にするために使用します。WEEKDAY関数を使用して曜日を判定し、VLOOKUP関数で別ブックから祝日情報を取得します。
- WEEKDAY(A1):A列の日付が週の何番目かを返します(土曜日は7、日曜日は1)。
- VLOOKUP(A1,‘別ブック名’!$A:$B,2,FALSE):別ブック内の祝日のリストから該当する日付を探し、その行の2列目のデータを返します(祝日があればTRUE、なければFALSE)。
- IF関数:土曜日または日曜日、または別ブックに該当日付が存在すれば非表示にする値を設定します。元のデータは削除されません。
具体的な手順
1
別ブックから祝日のリストを参照するためのVLOOKUP関数を作成します。
2
WEEKDAY関数を使用して、土日を判定します。
3
IF関数で条件式を設定し、非表示にする値を指定します。
よくある質問
Q Q1. VBAを使用した場合のメリットは?
A.
VBAを使用すると、複雑な非表示設定を一括で行うことができます。また、定期的な更新や自動化が可能です。
Q Q2. スピルエラーとは何ですか?
A.
スピルエラーは、数式の結果がセル範囲を超えて広がる場合に発生します。これを防ぐには、適切なセル範囲を指定するか、数式の最後に「#SPILL!」を追加して対処します。
Q Q3. スマートフォン版でも同じ設定が適用されますか?
A.
はい、スマートフォン版Excelでも同じ設定が適用されますが、操作性の違いに注意が必要です。