Excel で平日と週末をフィルターするにはどうすればよいですか?
データ分析や勤怠管理では、Excel の長いリストから週末または平日の日付をフィルターする必要が頻繁にあります。たとえば、残業計算のために土曜日と日曜日のみをハイライトしたり、営業日を分析するために平日に絞り込んだりするケースです。日付が「06/07/2012」のような標準形式で表示されている場合、各日付が週末か平日かを直感的に判断するのは難しく、手動でのフィルター作業は非効率でミスも起こりやすくなります。本記事では、平日や週末を素早く識別・フィルターするための実用的な方法をいくつかご紹介します。ここには、Excel の組み込み機能、便利な数式、VBA による自動化、そしてKutools for Excel のような使いやすいアドインが含まれます。これらのテクニックを習得・活用すれば、ワークフローを大幅に効率化し、手動での並べ替えを最小限に抑え、日付分析タスクにおける誤分類を確実に防ぐことができます。
➤ 関数で平日と週末をフィルターする
➤ Kutools for Excel で平日と週末をフィルターする
➤ Kutools for Excel のスーパーフィルターユーティリティで平日と週末をフィルターする
➤ VBA マクロを使用して平日または週末を自動的にフィルターまたはハイライトする
➤ カスタム条件を使用した高度なフィルターで平日と週末をフィルターする
関数を使って平日と週末をフィルターする
Microsoft Excel のWEEKDAY 関数は、指定された日付に対応する曜日を表すシリアル番号()1~7)を返します。第2 引数を省略したデフォルト設定では、1が日曜日、7が土曜日を表します。たとえば、日付が日曜日の場合、関数は1を返し、金曜日の場合は6を返します。これを使えば、週末と平日を簡単に識別して、柔軟にフィルターできます!
この方法はほとんどの一般的なデータテーブルに適しており、完全な制御が可能ですが、ヘルパー列が必要です。
手順1: 日付列の隣にある空白列(例:セル)C2)に、次の数式を入力して曜日のインデックスを取得します。
=WEEKDAY(B2) 
手順2:Enterキーを押して、フィルハンドルを下にドラッグし、数式を他の日付行にも適用します。すると、各行に曜日の数値が表示されます。

手順3:データ>フィルターをクリックして、フィルターを有効にします。事前にデータセット内のセルを選択しておけば、Excel が自動的にデータ範囲を認識します。
手順4: 各列のヘッダーにドロップダウン矢印が表示されます。ヘルパー列(例:Weekday)のフィルター矢印をクリックし、
週末(日曜日と土曜日)をフィルターするために1と7のチェックボックスをオンにしてください。

手順5:フィルターメニューでOKをクリックすると、Excel は選択内容(1 と7)に一致する週末の日付のみを表示します。

注:平日のみ(月曜日~金曜日)をフィルターしたい場合は、2、3、4、5、および6のチェックボックスをオンにしてください。
ヒントとリマインダー:
- 地域によって週の開始曜日が異なる場合は、
=WEEKDAY(B2, 2)を使って、月曜日を1、日曜日を7 に統一しましょう。その設定に応じてフィルターも調整してください。 - 日付列の空白セルは予期しない結果を引き起こす可能性があります。必要に応じて、データをクリーンアップしてください。
- 完全なフィルター精度を確保するには、常に数式をすべての行にドラッグしてください。
Kutools for Excel を使って平日と週末をフィルターする
Excel の組み込み機能を使う場合、通常はヘルパー列が必要です。一方、Kutools for Excelなら、もっと簡単な解決策をご提供します。日付の書式設定で直接曜日の名前を表示したり、プレーンテキストに変換してフィルターしやすくしたりすることが可能です。日付形式を適用ツールを使えば、この作業を素早く・簡単に実行できます。
Kutools for Excel-Excel 向けの必須ツールを300 種類以上搭載!作業がより迅速に、簡単に、効率的になります。今すぐダウンロード!
手順1: 変換したい日付の範囲を選択してください。
手順2:Kutoolsタブに移動し、書式 > 日付形式を適用をクリックすると、ダイアログボックスが表示されます。
手順3:ダイアログボックスで、日付形式リストからWedまたはWednesdayの書式を選択して、曜日の名前を表示します。

手順4:OKをクリックすると、選択した日付が曜日の名前として表示されるようになります。日付ではなくテキストとしてフィルターしたい場合は、Kutools>実際の値に変換をクリックして、書式設定された結果を静的なテキストに変換してください。
手順5:データ>フィルターをクリックします。フィルタードロップダウンの
で、SatとSunにチェックを入れて、週末のみを表示します。この方法は曜日の数値を使うよりも視覚的にわかりやすいです。

ステップ 6:「OK」をクリックすると、フィルター結果に週末(土曜日と日曜日)のみが表示されます。

注記:
- 平日のみをフィルターするには、ステップ5 でMon、Tue、Wed、Thu、およびFriにチェックを入れてください。
- 元の日付値を保持するには、書式設定やフィルターを適用する前に、ヘルパー列にコピーすることをおすすめします。
- 日付形式を適用およびTo Actualツールは、レポートやエクスポート用に読みやすい曜日データをサクッと整えるのに役立ちます。
これらのツールの詳細はこちら:
-日付形式を適用
-To Actual
Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
Kutools for Excel のスーパーフィルターユーティリティで平日と週末をフィルターします
元のデータ形式を変更せずに、曜日や週末で日付をフィルターしたい場合、スーパーフィルターKutools for Excelのユーティリティが効率的な解決策を提供します。
Kutools for Excel-Excel 向けの必須ツールを300 種類以上搭載!作業がより迅速に、簡単に、効率的になります。今すぐダウンロード!
この方法は、複数の条件でフィルターをかけたい方、生データを変更したくない方、または繰り返しフィルタリング作業を行う際にグラフィカルなインターフェースを好む方に最適です。
ステップ1:KUTOOLS PLUS>スーパーフィルターをクリックして、ワークブック内のスーパーフィルターペインを有効化します。
ステップ2:スーパーフィルターペインで、次の操作を行います:

1)Browseボタンをクリックして、フィルターをかけたいデータ範囲を選択してください。
2)ORラベルにカーソルを合わせて条件エディターを展開し、次にフィルタ条件を設定します:
- 最初のボックスで列名(例:Date)を選択してください。
- 2 番目のボックスでWeekを選択してください。
- 3 番目のボックスでEqualsを選択してください。
- 最後のボックスで1 から7 までの数値を選択してください(例:1=日曜日、7=土曜日)。
注:数値1~7 はそれぞれ日曜日から土曜日を表します。週の開始曜日やロケール設定が異なる場合は、条件を調整してください。
3)Filterボタンをクリックして、フィルターを適用します。
これで、指定した曜日に該当する行だけが表示されます。たとえば、日曜日を選択すると、1になります。

週末(土曜日と日曜日)すべてをフィルターしたい場合は、次の2 つの条件を追加してください。
- Date>Week>Equals>1
- Date>Week>Equals>7
これらの条件間の論理演算子がORに設定されていることをご確認ください。

平日(月曜日~金曜日)のみをフィルターするには、次のように設定してください。
- Date>Week>Does not equal>1
- Date>Week>Does not equal>7
これらの条件間の論理演算子がANDに設定されていることをご確認ください。

重要なポイントと提案事項:
- スーパーフィルターは、日付範囲や数値、テキストフィールドを組み合わせた複雑で多層的なフィルタリングをサポートしています。
- フィルター設定を保存して再利用可能。定期的なレポート作成やバッチデータレビューに最適です。
スーパーフィルターユーティリティの詳細をご覧ください。
Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手
VBA マクロを使用して平日または週末を自動的にフィルターやハイライトする
大規模なデータセットを扱っている場合、自動化が必要な場合、または平日・週末を頻繁にフィルターやハイライトする必要がある場合は、VBA マクロを使うことで時間を節約し、繰り返しの手作業を大幅に削減できます。この方法はExcel マクロに慣れた上級ユーザー向けで、ヘルパー列やサードパーティ製アドインは不要です。マクロを実行する前に、マクロが有効になっており、かつブックが信頼されていることを必ずご確認ください。
手順1:Alt + F11キーを押して、Microsoft Visual Basic for Applicationsエディターを開きます。次に、挿入 > 標準モジュールをクリックし、モジュールウィンドウに以下の VBA コードを貼り付けてください。
Sub FilterWeekendDates()
Dim rng As Range
Dim cell As Range
Dim ws As Worksheet
Dim weekDayNum As Integer
Set ws = ActiveSheet
On Error Resume Next
Set rng = Application.InputBox("Select the date range to filter (single column, without header):", "Filter Weekends Only", Type:=8)
On Error GoTo 0
If rng Is Nothing Then Exit Sub
If rng.Columns.Count > 1 Then
MsgBox "Please select only one column.", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False
ws.Rows.Hidden = False
For Each cell In rng
If IsDate(cell.Value) Then
weekDayNum = Weekday(cell.Value, vbSunday)
If weekDayNum <> 1 And weekDayNum <> 7 Then
cell.EntireRow.Hidden = True
End If
Else
cell.EntireRow.Hidden = True
End If
Next cell
Application.ScreenUpdating = True
End Sub 手順2:VBA エディターを閉じて、マクロを実行します。Alt + F8を押してリストからFilterWeekendDatesを選択し、実行をクリックしてください。するとダイアログボックスが表示され、ヘッダーを除く単一列の日付範囲を選択するよう求められます。その後、マクロは週末(土曜日および日曜日)以外のすべての行を非表示にします。
平日をフィルターしたい場合は、週末ではなく、ループ内のコード行を次のように更新してください。
元のコード:
If weekDayNum 1 And weekDayNum 7 Then
変更後:
If weekDayNum = 1 Or weekDayNum = 7 Then
この変更により、週末(土曜日・日曜日)は非表示になり、平日(月曜日~金曜日)のみが表示されます。
ヒントと注意点:
- このスクリプトでは、
Weekday(cell.Value, vbSunday)は米国のロケール設定に基づき、日曜日を1、土曜日を7 として扱います。お使いのロケールで週の開始日が月曜日の場合は、ロジックを調整してください。 - 週末を強調表示するには(フィルターではなく)、次の数式を使った条件付き書式を適用します:
=OR(WEEKDAY(A2,1)=1,WEEKDAY(A2,1)=7)(日付が A 列にあると仮定)。 - このマクロは行を視覚的に非表示にするだけです。データは一切削除されず、フィルターを解除するか
ws.Rows.Hidden = Falseを実行すれば、すぐに再表示できます。
トラブルシューティング:
- マクロが実行されない場合は、Excel のトラストセンターでマクロが有効になっていることを確認してください。
- 「範囲を選択してください」には有効な日付値が含まれていることをご確認ください。テキスト形式または空白のセルは誤って解釈され、非表示になる可能性があります。
- 実行後何も起こらない場合は、範囲が正しく選択されており、かつ列数が正確に1 列であることをご確認ください。
カスタム条件を使用した高度なフィルターで平日と週末をフィルターする
Excel の高度なフィルター機能を使えば、ヘルパー列やアドインを一切使わずに、カスタム条件に基づいてデータをその場で絞り込んだり、結果を別の場所にコピーしたりできます。WEEKDAY 関数を使ったカスタム数式を条件範囲に設定すれば、平日のみ、週末のみ、さらには特定の曜日だけを自在に抽出可能。この方法なら、ワークシートに余分な列を追加することなく、一時的・一度限りのフィルター作業もスピーディーにこなせます!
高度なフィルターを使って平日/週末をフィルターする手順は次のとおりです。
- ステップ1:データにヘッダーが含まれていることを確認してください。たとえば、日付がB 列にある場合(ヘッダー:Date)。
- ステップ2:シート内の別の場所に条件範囲を設定します。条件範囲のヘッダーセル(例:D1)には、日付列と同じヘッダー(「Date」)を入力してください。その下のセル(例:D2)には、週末をフィルターするための次の数式を入力します:
=OR(WEEKDAY(B2)=1, WEEKDAY(B2)=7) - ステップ3: 元のデータを選択します。「並べ替えとフィルター」グループで、Data > Advanced をクリックします。
- ステップ4:「高度なフィルター」ダイアログで次のように設定します:
- リスト範囲:ヘッダーを含む元のデータ
- 条件範囲:条件ブロック(ヘッダーと数式セル)
- リストをその場でフィルターするか、他の場所にコピーするかを選択します。
- ステップ5:OKをクリックすると、週末の日付のみが表示されます(または、そのオプションを選択した場合はコピーされます)。
代わりに平日をフィルターするには:
「Date」ヘッダーの下にある条件セルに次の数式を使用します。
=AND(WEEKDAY(B2)>1, WEEKDAY(B2)<7) 実用上の注意点:
- 条件セルの数式は、日付列の最初のデータセル(例:B2)を参照する必要があります。
- 数式を配列として入力せず、通常の数式としてそのまま入力してください。
- 一時的な表示やフィルター済みのエクスポートでヘルパー列を追加したくない場合は、高度なフィルターが最適です。
制限事項:
- 新しいデータが追加された場合は、高度なフィルターを再度適用する必要があります。
- 条件範囲のヘッダーは、データセット内の列名と完全に一致している必要があります。
一般的なエラーとトラブルシューティング:
- 数式が正しいセル(たとえば、日付列が B 列の場合は B2)を参照していることをご確認ください。
- データが返されない場合は、サンプル行で数式を手動テストし、そのロジックを確認してください。
デモ:Excel で平日と週末をフィルターする
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得