ExcelでFILTER関数を使って土日・祝日の入力規則を設定する方法
日々の業務で、土日や祝日の入力を制限したいというニーズはよくあります。手作業で行うと時間がかかるだけでなく、ミスが発生する可能性もあります。この記事では、ExcelのFILTER関数を活用してスピル機能を使って自動的に土日・祝日の入力規則を設定する方法を詳しく解説します。また、マウス操作による代替案も紹介し、それぞれのメリットとデメリットを比較します。これで効率的な業務管理が可能になります。
📊 やり方の比較
| 手法 | メリット | デメリット | 推奨 |
|---|---|---|---|
| 数式(FILTER関数) | スピル機能により自動更新される | 古いExcelでは使えない、複雑な条件設定が必要 | ◎ |
| マウス操作(入力規則の設定) | 直感的で簡単、手動での調整が容易 | 元データが消える可能性あり、自動更新が難しい | 〇 |
fx 使用する数式
Excel / SpreadSheet
=FILTER(A2:A10, (WEEKDAY(A2:A10) > 5) + ISNUMBER(MATCH(A2:A10, B2:B10, 0)))💡 仕組みの解説
【数式の仕組み】この数式は、土日や祝日のデータを抽出します。FILTER関数では、条件を指定して範囲からデータをフィルタリングできます。ここでは、WEEKDAY関数とISNUMBER関数を使用し、土日(週末)と祝日を判定しています。
WEEKDAY(A2:A10) > 5:この式は、週の日付が土曜日または日曜日の場合に真を返します。土曜日は6、日曜日は7で表されます。ISNUMBER(MATCH(A2:A10, B2:B10, 0)):祝日リスト(B列)と比較し、一致するデータがあれば真を返します。FILTER関数:上記の条件を満たすデータのみを抽出します。ただし、元データは削除されません。スピル機能により、範囲が変更された場合でも自動的に更新されます。
具体的な手順
1
まず、土日や祝日のリストを作成します(例:B列に祝日を記入)
2
FILTER関数を使用して、土日・祝日のデータを抽出します。具体的には、
=FILTER(A2:A10, (WEEKDAY(A2:A10) > 5) + ISNUMBER(MATCH(A2:A10, B2:B10, 0)))と入力します3
スピル機能を有効にし、抽出したデータが自動的に更新されるように設定します
よくある質問
Q Q1. VBAとの違いは?
A.
A1. VBAを使用すると、より高度な制御や自動化が可能ですが、FILTER関数はよりシンプルでスピル機能を活用できます。
Q Q2. スピルエラーとは?
A.
A2. スピルエラーは、数式の範囲を超えるデータが存在する場合に発生します。適切な範囲を指定することで解決できます。
Q Q3. スマホ版でも使える?
A.
A3. Excelのスマートフォンアプリでは、FILTER関数とスピル機能を使用することができますが、操作性はPC版に比べて制限があります。