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

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

Excelでデータを入力または変更した際に日付を自動的に並べ替えるにはどうすればよいですか?

Author Xiaoyang Last modified

Excelでは、ソート機能を使用して、必要に応じて日付を昇順または降順で並べ替えることができます。しかし、それは動的ではありません。一度日付を並べ替えた後、新しい日付を追加すると、再度並べ替えを行う必要があります。ワークシートに新しいデータを入力するたびに日付を自動的に並べ替えるための良い方法や迅速な方法はありますか?

数式を使用して日付が入力または変更されたときに自動的に日付を並べ替える

VBAコードを使用して日付が入力または変更されたときに自動的に日付を並べ替える


arrow blue right bubble 数式を使用して日付が入力または変更されたときに自動的に日付を並べ替える

例えば、元の日付が列Aにある場合、次の数式を使用すると、並べ替えたい列に基づいて、日付やその他のテキスト文字列を新しい補助列に自動的に並べ替えることができます。以下の手順に従ってください:

1. 次の数式を入力します:

=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,"<="&$A$2:$A$15),0)) を日付列の隣の空白セル(例:C2)に入力し、Ctrl + Shift + Enterキーを同時に押して数列を取得します。次に、フィルハンドルを下にドラッグして目的のセルまでコピーします。スクリーンショットをご覧ください:

注:上記の数式において、A2:A15は自動的に並べ替えたい元の日付範囲です。

A screenshot showing the application of a formula in Excel to auto-sort dates

2. 次に、 ホームタブの「全般」ドロップダウンリストから「短い日付」を選択して、数字を日付形式に設定します。スクリーンショットをご覧ください:

A screenshot showing how to format sorted numbers as dates in Excel

3. これで連続した番号が日付形式に変換され、元の日付も並べ替えられています。スクリーンショットをご覧ください:

A screenshot showing the result of converting sorted numbers to date format in Excel

4. 今後、列Aに日付を入力または変更すると、列Cの日付が自動的に昇順で並べ替えられます。スクリーンショットをご覧ください:

A screenshot showing automatically sorted dates after entering new data in Excel


arrow blue right bubble VBAコードを使用して日付が入力または変更されたときに自動的に日付を並べ替える

次のVBAコードを使用すると、日付を入力または変更した際に元の列で日付を自動的に並べ替えることができます。

1. 日付を入力または変更した際に自動的に日付を並べ替えたいワークシートに移動します。

2. シートタブを右クリックし、コンテキストメニューから「コードの表示」を選択します。開いたMicrosoft Visual Basic for Applicationsウィンドウで、次のコードを空白のモジュールウィンドウにコピーして貼り付けます。スクリーンショットをご覧ください:

VBAコード:日付が入力または変更された際に自動的に並べ替える:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    On Error Resume Next
    If Application.Intersect(Target, Application.Columns(1)) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

A screenshot of VBA code being entered in the Visual Basic editor for auto-sorting dates

注:上記のコードでは、入力された日付は列Aで自動的に並べ替えられます。必要に応じて、 A1A2を独自のセルに変更できます。

3. 今後、列Aに日付を入力すると、日付が自動的に昇順で並べ替えられます。

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

🤖 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日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得