KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で週末と祝日を強調表示するには、どうすればよいですか?

著者Xiaoyang変更日

Excel で日々の記録表を扱う際、平日と週末・祝日を視覚的に区別できれば、データのレビューが格段にスムーズになります。こうした強調表示は、勤怠表やプロジェクトのタイムライン、業務ログなど、営業日と非営業日を明確に分け、視覚的な管理やその後の分析を行う場面で特に効果を発揮します。Excel では、条件付き書式の活用、カスタム補助数式列の設定、さらには高度な VBA による自動化など、さまざまな手法で実現可能です。最適な方法の選択は、テーブルのレイアウトや新規データの追加頻度、休日リストの更新頻度によって左右されます。


条件付き書式を使用するで週末と祝日を強調表示する

Excel の条件付き書式機能を使えば、データ内に計算式を入力することなく、日付レコードの週末(通常は土曜日と日曜日)および祝日を自動的に強調表示できます。この方法は、ワークシートを頻繁に確認・更新し、データや祝日の変更に応じて非営業日の色分けが即座に反映されるようにしたいユーザーに最適です。

条件付き書式を使用するを週末と祝日に設定するには、次の手順に従ってください:

1。強調表示したい日付を含むセル範囲を選択します。

2。「ホーム」タブに移動し、「条件付き書式を使用する」をクリックして「新規ルール」を選択すると、ルールエディターが開きます。スクリーンショットを参照してください:

[ホーム]>[条件付き書式]>[新しいルール]をクリック

3。「新しい書式ルール」ダイアログで:

  • ルールのタイプリストから、数式を使用して書式設定するセルを決定するを選択する。
  • 数式入力ボックスに、次の数式を入力します:=NETWORKDAYS($A2,$A2,$F$2:$F$6)=0
  • 次に、書式設定ボタンをクリックして、強調表示のスタイルを設定します。
:この数式では、$A2は選択範囲内の最初の日付セルを指します(開始セルが異なる場合は適宜調整してください)。$F$2:$F$6には休日の一覧を含めてください(実際の休日範囲に合わせて編集してください)。NETWORKDAYS 関数は月曜日から金曜日のみを営業日として扱います。週末のスケジュールが異なる場合や特定の曜日のみを対象にしたい場合は、カスタム数式が必要になる場合があります。

ダイアログボックスでオプションを指定

4。「セルの書式設定」ウィンドウで、「塗りつぶし」タブに切り替えて、週末と祝日に使用する背景色を選択してください。この色を設定すれば、非営業日が通常の日付と一目で区別できるようになります。

[塗りつぶし]タブで、行を強調表示する色を指定

5。「OK」を2 回クリックしてダイアログボックスを閉じると、選択範囲内の週末や登録済みの祝日に該当する日付に、自動的に指定した強調表示が適用されます。祝日リストはいつでも編集可能で、変更に応じて書式も自動的に更新されます。

週末と休日を含む行が影付けされています

ヒントとトラブルシューティング:強調表示が適用されない場合は、日付の書式設定を再度ご確認ください(この数式は実際のExcel 日付でのみ機能します)。書式が一致しないと、条件付き書式ルールが正しく動作しないことがあります。複数の列に適用する場合は、必要に応じて数式を調整してください。また、データが複数年にわたる場合は、正しい休日リストを反映するよう随時更新してください。

メリット:追加の列や手動作業が一切不要。テーブルが拡張されたり、休日リストが変更されたりしても、完全に動的に対応できます。
潜在的な制限事項:条件付き書式にはワークシートあたりの最大ルール数という制限があります(通常は達しません)。また、過度に複雑な数式は大規模なデータセットでワークブックのパフォーマンスを低下させる可能性があります。

kutools for excel ai のスクリーンショット

KUTOOLS AI でExcel の魔法を解き放ちましょう

  • スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
  • カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
  • VBA コーディング:VBA コードを簡単に記述・実装できます。
  • 数式の解釈:複雑な数式が簡単に理解できます。
  • テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
AI 搭載のツールでExcel の機能をさらに強化しましょう。今すぐダウンロードして、これまでにない効率を体験してください!

Excel 数式 – 補助列を使用して週末と祝日をフラグ付けする

色分けをより細かく制御したい場合や、営業日と非営業日で並べ替え・フィルターをかけたい場合は、数式を使った補助列を追加するのが確実な方法です。この手法を使えば、各行が週末・祝日・平日のいずれに該当するかを明確にマークでき、データのフィルタリングや手動での書式設定、集計にも活用できます。
単なる色分けだけでは物足りない場面や、週末・祝日の合計を直接集計したい場合に、この方法は特に効果を発揮します。

日付が列 A(2 行目から)にあり、祝日がF2:F6にリストされていると仮定します。日付列の隣に新しい列を挿入し、「日付タイプ」などの見出しを入力してください。

1。補助列のセルB2に、次の数式を入力してください:

=IF(OR(WEEKDAY(A2,2)>=6,COUNTIF($F$2:$F$6,A2)>0),"Weekend/Holiday","Workday")

この数式は、各日付に対して次の2 つのチェックを行います:
-WEEKDAY(A2,2)>=6:土曜日(6)と日曜日(7)を週末として扱います(週末の定義が異なる場合は、それに応じて調整してください)。
-COUNTIF($F$2:$F$6,A2)>0:日付が休日リスト内のいずれかの日付と一致するかどうかを確認します。

2。その後、フィルハンドルを下にドラッグして数式を他の行にも適用します。数式が適用されたら、「週末/祝日」でテーブルをフィルターし、該当する行を抽出したり、手動で強調表示したりできます。また、この列に基づいて条件付き書式を適用し、自動で色付けすることも可能です。

ヒント:お使いの週末が異なる場合は、WEEKDAY 関数のロジックを調整してください(例:日曜日を基準にする場合は1 を使用する、または地域設定に応じた適切な数値を指定する)。休日リストは常に最新の状態に保ちましょう。データ範囲を変更した際には、必要に応じて塗りつぶしやコピーを再度適用してください。

メリット:補助列を使えば、フィルタ条件の設定やレポート作成がぐっと簡単になります。必要な場合に、対象を瞬時に識別・カウント・色付けできるのも大きな利点です。
デメリット:データに追加の列が必要になるうえ、条件付き書式を使わない限り、手動で色を塗らなければなりません。


VBA コード – 週末と祝日を自動的に色付けする

範囲を頻繁に更新する必要がある場合や、数式や条件付き書式の機能を超えて週末と祝日を自動的に強調表示したい場合は、シンプルな VBA マクロを使うのが非常に効率的です。これは、長いリストを管理する方や、ワークシートを繰り返し作成するユーザーに最適です。

マクロを使えば、Excel が選択した日付範囲と祝日リストをもとに、週末と祝日の日付を瞬時に色付けします。コード内で強調表示の色を自由に変更でき、データを更新するたびにマクロを再実行できます。

1開発者Visual Basicをクリックします。Microsoft Visual Basic for Applicationsウィンドウで、挿入標準モジュールを選択します。

2。新しく作成した標準モジュールに、次のコードをコピー&ペーストしてください。

Sub ShadeWeekendsAndHolidays()
    Dim rngDates As Range
    Dim rngHolidays As Range
    Dim cell As Range
    Dim xTitleId As String
    
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    Set rngDates = Application.InputBox("Select the range with dates:", xTitleId, Selection.Address, Type:=8)
    Set rngHolidays = Application.InputBox("Select the range with holiday dates:", xTitleId, , Type:=8)
    On Error GoTo 0
    
    If rngDates Is Nothing Then Exit Sub
    If rngHolidays Is Nothing Then Exit Sub
    
    Application.ScreenUpdating = False
    
    For Each cell In rngDates
        If IsDate(cell.Value) Then
            If Weekday(cell.Value, vbMonday) >= 6 Or Not IsError(Application.Match(CDbl(cell.Value), rngHolidays, 0)) Then
                cell.Interior.Color = RGB(255, 199, 206) ' Light red fill; adjust as needed
            Else
                cell.Interior.ColorIndex = xlNone ' Remove fill from regular days
            End If
        End If
    Next cell
    
    Application.ScreenUpdating = True
End Sub

3F5 キーを押してこのコードを実行すると、日付セルと休日セルのリストを選択するようプロンプトが表示されます。画面上の指示に従ってください。

このマクロは、週末(土曜日/日曜日)および指定した休日リストに基づく休日を塗りつぶし色で強調表示します。必要に応じて、コード内の RGB(255,199,206)を調整してお好みの色を使用できます。

ヒント:
誤って範囲を選択してしまった場合は、マクロを再度実行するだけです。範囲を選択すると、上にある既存の塗りつぶしは、一致しないセルについてリセットされます。
日付と祝日が正しいExcel 日付値(テキストではない)を使用していることを確認してください。

メリット:保存した時間を繰り返しタスクに活用でき、柔軟性も抜群です。手動で書式を再適用する手間が一切ありません。
デメリット:マクロを有効にする必要があります。VBA に不慣れな方は、実行前にファイルを保存し、バックアップコピーで試すことをおすすめします。


関連記事をもっと見る:

  • 結合済みの交互行を色付けする
  • 大量のデータでは、交互に行に異なる色を付けるとデータが見やすくなり、非常に便利です。ただし、場合によってはデータ内に結合セルが含まれていることがあります。以下のようなスクリーンショットのように、結合セルに対しても交互に行を異なる色で強調表示するには、Excel ではどのように設定すればよいでしょうか?
  • 近似一致検索結果を強調表示する
  • Excel では、VLOOKUP 関数を使えば近似一致の値を素早く簡単に取得できます。しかし、行と列のデータに基づいて近似一致を行い、以下のスクリーンショットのように元のデータ範囲内でその近似一致を強調表示したことはありますか?この記事では、Excel でこのタスクを解決する方法をご紹介します。
  • セルを強調表示(条件:値がより大きい他のセル)
  • 2 つの列の値を比較する際、たとえば同じ行で B 列の値が C 列の値より大きい場合に、以下スクリーンショットのように B 列の値を強調表示したいことがあります。この記事では、Excel で「セルの値が別のセルの値より大きい場合にそのセルを強調表示する」ためのいくつかの方法をご紹介します。
  • ドロップダウンリストに基づいて強調表示された行の範囲
  • この記事では、ドロップダウンリストに基づいて該当する行を強調表示する方法をご紹介します。以下のスクリーンショットを例に挙げると、E 列のドロップダウンリストで「進行中」を選択した場合はその行を赤色で、「完了済み」を選択した場合は青色で、「未開始」を選択した場合は緑色で強調表示する必要があります。

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 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 でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得