📘 Excel逆引き事典

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関数を使用し、土日(週末)と祝日を判定しています。

  1. WEEKDAY(A2:A10) > 5:この式は、週の日付が土曜日または日曜日の場合に真を返します。土曜日は6、日曜日は7で表されます。
  2. ISNUMBER(MATCH(A2:A10, B2:B10, 0)):祝日リスト(B列)と比較し、一致するデータがあれば真を返します。
  3. 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版に比べて制限があります。