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: ドロップダウン矢印 各列のヘッダーに表示されます。ヘルパー列(例:曜日)のフィルター矢印をクリックし、「土曜日」と「日曜日」のチェックボックスをオンにして週末をフィルタリングします。 1 および 7 をフィルタリングして週末(土曜日と日曜日)を表示します。
ステップ5: フィルターメニューで「OK」をクリックします。Excelは選択に一致する週末の日付のみを表示します(1と7)。
注: 平日(月曜日から金曜日)のみをフィルタリングしたい場合は、2、3、4、5、6のチェックボックスをオンにしてください。
ヒントと注意点:
- 地域によって週の始まりが異なる場合は、「
=WEEKDAY(B2, 2)
」を使用して月曜日を1、日曜日を7としてください。フィルターをそれに応じて調整してください。 - 日付列に空白セルがあると予期しない結果が返されることがあります—必要に応じてデータをクリーンアップしてください。
- 常に数式をすべての行にドラッグして、完全なフィルタリング精度を確保してください。
Kutools for Excelを使用して平日と週末をフィルタリング
Excelの組み込みメソッドを使用する場合、通常は平日と週末を区別するためにヘルパー列が必要です。一方で、Kutools for Excelではより簡単な解決策を提供しています。日付書式を使用して曜日名を直接表示したり、それらをプレーンテキストに変換してフィルタリングを容易にしたりできます。「Apply Date Formatting」ツールを使用することで、このプロセスが迅速かつ簡単になります。
Kutools for Excel - Excel向けの300以上の必須ツールを搭載。永久に無料のAI機能をお楽しみください!今すぐダウンロード!
ステップ1: 変換したい日付範囲を選択します。
ステップ2: 「Kutools」タブに移動し、「書式」>「Apply Date Formatting」をクリックします。ダイアログボックスが表示されます。
ステップ3: ダイアログボックスで、「Wed」または「Wednesday」形式を日付形式リストから選択して曜日名を表示します。
ステップ4: 「OK」をクリックします。選択された日付が曜日名として表示されます。日付ではなくテキストとしてフィルタリングしたい場合は、「Kutools」>「To Actual」をクリックして書式設定された結果を静的なテキストに変換します。
ステップ5: に移動します。 データ > フィルターフィルタードロップダウン で 土 および 日 を選択して、週末のみを表示します。この方法は、曜日番号を使用するよりも視覚的に明確です。
ステップ6: 「OK」をクリックします。フィルタリング結果には週末(土曜日と日曜日)のみが表示されます。
注意:
- ステップ5で平日のみをフィルタリングしたい場合は、月、火、水、木、金をチェックしてください。
- 元の日付値を保持したい場合は、書式設定とフィルタリングを適用する前に、それらをヘルパー列にコピーすることを検討してください。
- 「Apply Date Formatting」と「To Actual」ツールは、レポートやエクスポート向けにクリーンで人間が読みやすい曜日データを準備する際に役立ちます。
これらのツールについてさらに学ぶ:
- Apply Date Formatting
- To Actual
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
Kutools for Excelのスーパーフィルターツールを使用して平日と週末をフィルタリング
元のデータ形式を変更せずに、曜日または週末で日付をフィルタリングしたい場合、Kutools for Excelのスーパーフィルターツールは効率的な解決策を提供します。
Kutools for Excel - Excel向けの300以上の必須ツールを搭載。永久に無料のAI機能をお楽しみください!今すぐダウンロード!
この方法は、複数条件でのフィルタリングが必要なユーザー、生データを変更したくないユーザー、または繰り返しのフィルタリングタスクにグラフィカルインターフェースを必要とするユーザーに理想的です。
ステップ1: 「Kutools Plus」>「スーパーフィルター」をクリックして、ワークブックでスーパーフィルターパネルを有効にします。
ステップ2: スーパーフィルターパネルで、以下の操作を行います:

1) 参照ボタンをクリックしてフィルタリングしたいデータ範囲を選択します。
2) ORラベルにカーソルを合わせて条件エディタを展開し、フィルタリング基準を設定します:
- 最初のボックスで列名(例:日付)を選択します。
- 2番目のボックスで「週」を選択します。
- 3番目のボックスで「等しい」を選択します。
- 最後のボックスで1から7の数字を選択します。例えば、1=日曜日、7=土曜日です。
注: 数字1~7はそれぞれ日曜日から土曜日を表します。週の始まりが異なる曜日である場合や異なるロケール設定を使用している場合は、基準を調整してください。
3) フィルターボタンをクリックして適用します。
これで指定した曜日(例:1を選択した場合は日曜日)に一致する行のみが表示されます。
すべての週末(土曜日と日曜日)をフィルタリングしたい場合は、次の2つの条件を追加します:
- 日付>週>等しい>1
- 日付>週>等しい>7
それらの間の論理演算子がORに設定されていることを確認してください。
平日(月曜日から金曜日)のみをフィルタリングする場合は、次の条件を適用します:
- 日付>週>等しくない>1
- 日付>週>等しくない>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列(ヘッダー: 日付)にあるとします。
- ステップ2: シート内の別の場所に基準範囲を設定します。基準範囲のヘッダーセル(例: D1)に、日付列と同じヘッダー("日付")を入力します。その下のセル(例: D2)に、次の数式を入力して週末をフィルタリングします:
=OR(WEEKDAY(B2)=1, WEEKDAY(B2)=7)
- ステップ3: 元のデータを選択します。「データ」>「高度なフィルター」に移動します(並べ替え&フィルターグループ内)。
- ステップ4: 高度なフィルターダイアログで以下を設定します:
- リスト範囲: ヘッダーを含む元のデータ
- 基準範囲: 基準ブロック(ヘッダーと数式セル)
- リストをその場でフィルタリングするか、別の場所にコピーするかを選択します。
- ステップ5: 「OK」をクリックします。週末の日付のみが表示されます(または、そのオプションを選択した場合はコピーされます)。
平日のみをフィルタリングする場合:
「日付」ヘッダーの下の基準セルに次の数式を使用します:
=AND(WEEKDAY(B2)>1, WEEKDAY(B2)<7)
実践的な注意点:
- 基準セル内の数式は、日付列の最初のデータセル(例:B2)を参照する必要があります。
- 配列として数式を入力しないでください。通常の数式として入力してください。
- 高度なフィルターは、ヘルパー列を追加したくない場合の一時的なビューまたはフィルタリング済みエクスポートに最適です。
制限事項:
- 新しいデータが追加された場合、高度なフィルターを再適用する必要があります。
- 基準範囲のヘッダーは、データセット内の列名と完全に一致している必要があります。
一般的なエラーとトラブルシューティング:
- 数式が正しいセル(例:日付列がBの場合、B2)を参照していることを確認してください。
- データが返されない場合は、サンプル行に対して数式を手動でテストし、ロジックを確認してください。
デモ: Excelで平日と週末をフィルタリングする
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得