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

Excel で平日(営業日)のリストを作成するには、どうすればよいですか?

著者Sun変更日

このチュートリアルでは、Excel で特定の日付範囲内の平日(営業日)リストを素早く作成する方法をご紹介します。こうしたリストは、プロジェクトのスケジュール管理やタイムシート、出退勤記録、あるいは平日のみに実施されるタスクの計画に特に役立ちます。以下では、手動と自動の両方のアプローチを解説し、さまざまなシナリオやExcel スキルレベルに柔軟に対応できるようにしています。

オートフィルオプションで平日をリスト化

便利なツール「Kutools for Excel」で平日をリスト化

Excel の WORKDAY/WORKDAY.INTL 関数で営業日をリスト化

VBA コードで平日/営業日を自動リスト化


青い右向き矢印の吹き出しオートフィルオプションで平日をリスト化

Excel では、オートフィルハンドルと平日のフィルオプションを組み合わせれば、平日のリストを素早く簡単に作成できます。この方法は直感的で連続する平日を効率よく生成するのに最適ですが、開始日や終了日をきっちり指定したい場合や、祝日を除外する必要がある場合には、やや柔軟性に欠けます。

1。空のセルに開始日を入力します。たとえば、セルA17/1/2015と入力します。スクリーンショットを参照してください:

Excel で平日のリストを作成するために開始日が入力されているスクリーンショット

2。マウスをセルの右下隅に移動させ、フィルハンドル(+)が表示されるまで待ちます。その後、必要な行数までフィルハンドルを下方向にドラッグします。たとえば、22 個の平日をリストする場合は、その分だけドラッグしてください。

ヒント:塗りつぶす平日の正確な数を事前に見積もるか計算しておく必要があります。もし不明な場合は、必要以上に多くのセルを塗りつぶしておき、後で不要なセルを簡単に削除できます。

Excel でフィルハンドルをドラッグして日付を一覧表示しているスクリーンショット

3。ドラッグ操作が完了したら、選択範囲の近くに表示される小さなオートフィルオプションボタンをクリックします。表示されるメニューから平日のフィルを選択すると、Excel が週末をスキップし、範囲内に平日(月曜日~金曜日)のみを自動的に入力します。

Excel のオートフィルオプションメニューで「平日を埋める」オプションが表示されているスクリーンショット

これで、ワークシートには2015 年7 月1 日を起点とする平日が22 日分連続して表示されているはずです。

生成された平日のみのリストのスクリーンショット

この方法は連続する平日のリストを素早く作成するのに便利ですが、特定の祝日を除外するなどカスタム営業ルールを適用したり、非連続の平日間隔を扱ったりするのには適していません。また、2 つの指定した日付の間に含まれる平日を直接リスト化する機能も備えていません。より高度な要件がある場合は、以下に示す自動化手法のいずれかをご検討ください。


青い右向き矢印の吹き出し 便利なツール「Kutools for Excel」で平日をリスト化

Kutools for Excelは、ランダムデータを挿入する機能を使って、指定した日付範囲内のすべての平日(営業日)を簡単に生成できる便利なソリューションを提供します。この方法は柔軟性に優れており、特に大規模なデータセットを扱う際や、重複のない平日のみを確実に取得したいときに大幅な時間節約につながります。正確な営業日計算に基づいたスケジュール管理やプロジェクト計画が必要なユーザーに最適です。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。リストを生成したい空のセル範囲を選択してください。想定される平日の数よりも多くのセルを確保することをおすすめします。選択したセル数が、生成可能な日付の上限となるためです。スクリーンショットをご参照ください:

Kutools を使用して平日のリストを作成するために選択されたセルのスクリーンショット

2。Excel リボンのKutoolsタブをクリックし、挿入ランダムデータを挿入するを選択してください。スクリーンショットを参照してください:

3。ランダムデータを挿入するダイアログボックスで、日付タブに切り替えます。開始日をFromボックスに、終了日をToボックスに入力して、希望する日付範囲を指定します。営業日をチェックすると、結果が平日(月曜日~金曜日)に限定されます。重複なしをチェックすると、重複する日付が除外されます。スクリーンショットを参照してください:
「ランダムデータの挿入」ダイアログで「営業日」オプションが選択されているスクリーンショット

注:プロジェクトに祝日を含める必要がある場合は、組み込み機能が通常の週末のみをスキップするため、リスト生成後に手動で祝日を除外する必要があります。

4。OKまたは適用をクリックします。これにより、ツールは指定された期間内の該当するすべての平日を「範囲を選択してください」に表示します。「範囲を選択してください」が生成可能な日付数よりも大きい場合、空白セルが残る可能性があります。

空白セルを残したまま平日のリストが挿入されているスクリーンショット

5。(任意)生成された日付を時系列順に並べ替えるには、入力済みの日付範囲を選択し、データタブに移動して古い順に並べ替えをクリックしてください。これで、リストがすっきりと整理されます。

Excel の「データ」タブと「古い順に並べ替え」オプションが表示されているスクリーンショット

これで、生成されたリストには指定されたカスタム範囲内の営業日がすべて、開始日から終了日までの順に表示されます。

Excel で平日が古い順に並べ替えられているスクリーンショット

Kutools for Excel のランダムデータを挿入するユーティリティを使えば、平日だけでなく、乱数、ランダム時刻、一意の値、ランダム文字列、さらにはカスタムリストからもランダムにデータを生成できます。このユーティリティの詳細については、こちらをクリックしてください。

注:特定の祝日を除外する必要がある場合や、可変的な勤務週を含む日付範囲を扱う場合は、生成された日付が要件を満たしていることを必ず再確認してください。

Kutools for Excel-Excel 向けの必須ツールを300 種類以上搭載!作業がより迅速に、簡単に、効率的になります。今すぐダウンロード!

青い右向き矢印の吹き出し Excel の WORKDAY/WORKDAY.INTL 関数で営業日をリスト化

Excel のWORKDAY 関数とWORKDAY.INTL 関数を使えば、2 つの日付間の営業日を自動でリストアップできます。WORKDAYはデフォルトで土曜日と日曜日を週末としてスキップし、WORKDAY.INTLでは独自の週末設定や祝日カレンダーを組み込むことも可能。人事スケジューリングや給与計算など、正確性が求められる業務プロセスの自動化に最適で、高い柔軟性を発揮します。

便宜上、数式を使用して動的な営業日リストを作成する手順を以下に示します:

1。セルA1に開始日を入力します(例:2015/7/1)。セルB1には終了日を入力します(例:2015/7/31)。

2。セルC1に、営業日を連続して取得する次の数式を入力します:

=IF(WORKDAY($A$1,ROW(A1)-1,$B$2)<=$B$1,WORKDAY($A$1,ROW(A1)-1,$B$2),"")

パラメーターの説明:

  • $A$1: 開始日(絶対参照)
  • ROW(A1)-1: 行ごとに営業日番号をインクリメントします
  • $B$2: 任意で、除外する祝日の日付を含む範囲を指定します(祝日を B2:B10 または他の希望する範囲に入力するか、必要ない場合は空白のままにしてください)
  • $B$1:リスト用の終了日(選択した終了地点で系列が停止することを保証します)

3。セルC1の数式を、セルが空白になるまで下方向にドラッグしてください。これにより、週末や指定された祝日を除いたすべての営業日が自動的にリストされます。

ヒント:

  • カスタム週末(例:日曜日のみを週末とするなど)を設定したい場合は、WORKDAY.INTL 関数をご活用ください。この関数では「週末」引数を指定することで、どの曜日を週末とするかを自由に定義できます(詳細はExcel のヘルプドキュメントをご参照ください)。
  • 祝日が営業日の連続に誤って含まれるのを防ぐため、祝日の日付は明確かつ独立した範囲で管理してください。
  • 祝日を考慮する必要がない場合は、数式内の祝日範囲を省略できます。

一般的なエラー:#NUM! エラーや期待する場所に空白が表示される場合は、開始日と終了日が有効かどうかを確認し、使用している祝日リストに日付以外のテキストやデータが含まれていないかをご確認ください。

青い右向き矢印の吹き出し VBA コードで平日/営業日を自動リスト化

任意の期間内に平日または営業日の完全なリストを生成する必要がある場合は、カスタム VBA マクロでこの処理を自動化できます。この方法は上級Excel ユーザーに最適であり、異なるデータセットに対してこの作業を頻繁に繰り返す場合にも非常に効果的です。VBA を使えば、独自の週間勤務パターンや祝日を考慮したうえで、結果をワークシート内の任意の場所に出力することも可能です。

1をクリックします。開発者ツール > Visual Basicをクリックして、Microsoft Visual Basic for Applicationsウィンドウを開きます。次に、挿入 > 標準モジュールをクリックし、次のコードをモジュールに貼り付けます。

Sub ListBusinessDays()
    Dim StartDate As Date
    Dim EndDate As Date
    Dim r As Integer
    Dim ws As Worksheet
    Dim currDate As Date
    Dim Holidays As Range
    
    On Error Resume Next
    Set ws = ActiveSheet
    StartDate = Application.InputBox("Enter start date:", "KutoolsforExcel", Type:=2)
    EndDate = Application.InputBox("Enter end date:", "KutoolsforExcel", Type:=2)
    Set Holidays = Application.InputBox("Select range for holidays (optional, press Cancel if none):", "KutoolsforExcel", Type:=8)
    On Error GoTo 0
    
    r = 1
    For currDate = StartDate To EndDate
        If Weekday(currDate, vbMonday) <= 5 Then ' Monday = 1, Friday = 5
            If Holidays Is Nothing Then
                ws.Cells(r, 3).Value = currDate
                r = r + 1
            Else
                If Application.CountIf(Holidays, currDate) = 0 Then
                    ws.Cells(r, 3).Value = currDate
                    r = r + 1
                End If
            End If
        End If
    Next
End Sub

2ボタンをクリックするか、実行ボタンキーを押してF5コードを実行すると、リストの開始日と終了日の入力を求められます。必要に応じて、除外する祝日の範囲を選択することもできます(不要な場合は「キャンセル」を押してください)。マクロはアクティブなワークシートの C 列に各営業日を入力し、週末(土曜日と日曜日)および指定した祝日をスキップします。

注意事項とトラブルシューティング:

  • 日付が表示されない場合は、入力された日付が有効かつ正しい日付形式であることをご確認ください。
  • 祝日範囲が指定されていない場合、開始日から終了日までのすべての平日がリストされます。
  • 結果は常に列 C から始まります。出力を他の場所に表示したい場合は、ws.Cells(r,3)のコードを調整してください。

最高の 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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得