メインコンテンツへスキップ

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelで平日と週末をフィルタリングするにはどうすればよいですか?

Author Kelly Last modified

データ分析や勤怠管理において、Excelの長いリストから週末または平日の日付をフィルタリングする必要がよくあります。例えば、残業計算のために土曜日と日曜日だけをハイライトしたり、平日に焦点を当てて稼働日を分析したりします。日付が06/07/2012のような標準的な日付形式で表示されている場合、その日が週末か平日かは一目では分かりにくく、手動でのフィルタリングは非効率的でエラーが発生しやすくなります。この記事では、平日または週末を迅速に区別してフィルタリングするための実用的な方法をいくつか紹介します。組み込みのExcelメソッド、役立つ数式、VBAオートメーション、Kutools for Excelなどの使いやすいアドインも含まれます。これらの手法を学び適用することで、ワークフローを合理化し、手動での並べ替えを最小限に抑え、日付分析作業における誤分類を防ぐことができます。


関数を使用して平日と週末をフィルタリング

Microsoft ExcelのWEEKDAY関数は、与えられた日付に対応する曜日を表す1から7までの連番を返します。デフォルトでは(第2引数を使用しない場合)、1は日曜日、7は土曜日を表します。例えば、日付が日曜日の場合、関数は1を返します。金曜日の場合は結果は6になります。これにより、週末または平日を識別し、それに応じてフィルタリングすることが可能になります。

この方法は、ほとんどの一般的なデータテーブルに適しており、完全な制御が得られますが、ヘルパー列が必要です。

ステップ1: 日付列の隣にある空白列(例:セルC2)に、次の数式を入力して曜日のインデックスを取得します。

=WEEKDAY(B2)

a screenshot showing how to use the WEEKDAY function

ステップ2: Enterキーを押し、塗りつぶしハンドルを下にドラッグして、数式を残りの日付行に適用します。これで各行に曜日番号が表示されます。

a screenshot of the formula results

ステップ3: リボンの「データ」>「フィルター」に移動してフィルタリングを有効にします。データセット内のセルを選択すると、Excelは自動的にデータブロックを選択します。

ステップ4: ドロップダウン矢印 drop-down arrow 各列のヘッダーに表示されます。ヘルパー列(例:曜日)のフィルター矢印をクリックし、「土曜日」と「日曜日」のチェックボックスをオンにして週末をフィルタリングします。 1 および 7 をフィルタリングして週末(土曜日と日曜日)を表示します。

a screenshot of checking the number 1 and 7 in the filter list

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

a screenshot of the filtered result

注: 平日(月曜日から金曜日)のみをフィルタリングしたい場合は、23456のチェックボックスをオンにしてください。

ヒントと注意点:

  • 地域によって週の始まりが異なる場合は、「=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」形式を日付形式リストから選択して曜日名を表示します。

Select weekday format in Apply Date Formatting dialog

ステップ4: 「OK」をクリックします。選択された日付が曜日名として表示されます。日付ではなくテキストとしてフィルタリングしたい場合は、「Kutools」>「To Actual」をクリックして書式設定された結果を静的なテキストに変換します。

ステップ5: に移動します。 データ > フィルターフィルタードロップダウン Drop-down filter icon および を選択して、週末のみを表示します。この方法は、曜日番号を使用するよりも視覚的に明確です。

Select weekend filter values

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

Weekend filter results

注意:

  • ステップ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: スーパーフィルターパネルで、以下の操作を行います:

Configure the Super Filter pane

1) 参照ボタンをクリックしてフィルタリングしたいデータ範囲を選択します。

2) ORラベルにカーソルを合わせて条件エディタを展開し、フィルタリング基準を設定します:

  • 最初のボックスで列名(例:日付)を選択します。
  • 2番目のボックスで「」を選択します。
  • 3番目のボックスで「等しい」を選択します。
  • 最後のボックスで1から7の数字を選択します。例えば、1=日曜日、7=土曜日です。

注: 数字1~7はそれぞれ日曜日から土曜日を表します。週の始まりが異なる曜日である場合や異なるロケール設定を使用している場合は、基準を調整してください。

3) フィルターボタンをクリックして適用します。

これで指定した曜日(例:1を選択した場合は日曜日)に一致する行のみが表示されます。

Filter result for Sunday only

すべての週末(土曜日と日曜日)をフィルタリングしたい場合は、次の2つの条件を追加します:

  • 日付等しい1
  • 日付等しい7

それらの間の論理演算子がORに設定されていることを確認してください。

Weekend filter result

平日(月曜日から金曜日)のみをフィルタリングする場合は、次の条件を適用します:

  • 日付等しくない1
  • 日付等しくない7

これらの条件間の論理演算子がANDに設定されていることを確認してください。

Filter weekdays only

重要なポイントと提案:

  • スーパーフィルターは、日付範囲、値、テキストフィールドなど、複雑で多層的なフィルターをサポートします。
  • フィルター設定を保存して再利用できるため、定期的なレポートやバッチデータレビューに最適です。

スーパーフィルターツールについてさらに学ぶ。

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 for Excel: あなたの指先に 300 以上の便利なツールが集結!永久無料のAI機能をお楽しみください!今すぐダウンロード!

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ15ツールセット12 種類テキストツールテキストの追加特定の文字を削除など)50種類以上のグラフガントチャートなど)40種類以上の便利な数式誕生日に基づいて年齢を計算するなど)19 種類の挿入ツールQRコードの挿入パスから画像の挿入など)12 種類の変換ツール単語に変換する通貨変換など)7種の統合&分割ツール高度な行のマージセルの分割など)… その他多数
Kutoolsはお好みの言語で利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語、その他40以上の言語に対応!

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