📘 Excel逆引き事典

Excelで土日・祝日を効率的に抽出する完全ガイド

Excelで土日や祝日のデータを手作業で抽出するのは大変な作業です。しかし、適切な関数を使用すれば、この作業は瞬時に完了します。本記事では、UNIQUEとFILTER関数を使った自動抽出方法と、マウス操作による手動抽出方法の両方を詳しく解説し、それぞれの利点と欠点を比較します。これにより、あなたが最適な方法を選択できるようになります。

📊 やり方の比較

手法メリットデメリット推奨
数式(FILTER関数)自動更新される, データ元を保つ古いExcelでは使えない, 関数の理解が必要
マウス操作(フィルタ機能)直感的で簡単, すぐに結果が得られる元データが消える可能性あり, 手作業によるエラーのリスク

fx 使用する数式

Excel / SpreadSheet
=FILTER(A2:A100, (WEEKDAY(A2:A100) > 5) + ISNUMBER(MATCH(A2:A100, B2:B10, 0)))

💡 仕組みの解説

【数式の仕組み】この数式は、土日と祝日のデータを抽出します。FILTER関数は、条件を満たすデータだけを選択します。WEEKDAY関数は、与えられた日付が週の中で何曜日に当たるかを判定し、ISNUMBER(MATCH(…))は祝日リストに該当する日付があるかどうかを確認します。この数式を使用することで、元のデータは削除されず、別の場所に抽出されたデータのみが表示されます。

具体的な手順

1
まず、土日のデータを抽出するための条件式を作成します。例えば、WEEKDAY関数を使って週末を判定します:=WEEKDAY(A2) > 5
2
祝日リストがある場合は、ISNUMBER(MATCH(…))関数を使用して祝日のデータを抽出します。祝日リストは別シートやセル範囲に用意します。
3
最後にFILTER関数で条件式を組み合わせて、土日・祝日のデータだけを抽出します:=FILTER(A2:A100, (WEEKDAY(A2:A100) > 5) + ISNUMBER(MATCH(A2:A100, B2:B10, 0)))

よくある質問

Q Q1. VBAとの違いは?

A.
A1. VBAを使用すると、より高度な処理や自動化が可能ですが、学習曲線が急で初心者には敷居が高いです。一方、関数を使う方法は直感的で容易に実装できます。

Q Q2. スピルエラーとは?

A.
A2. スピルエラー(#SPILL!)は、結果が他のセルと衝突した場合に出るエラーです。この問題を避けるには、関数の結果が広範囲にわたる場合は適切な範囲を指定する必要があります。

Q Q3. スマホ版でも使える?

A.
A3. Excel公式アプリでは、同様の関数を使用して土日・祝日のデータを抽出できますが、スマートフォンでの操作はPCに比べて若干不便な場合があります。