Note: The other languages of the website are Google-translated. Back to English

Excelで日付を入力または変更したときに日付を自動ソートするにはどうすればよいですか? 

Excelでは、 並び替え 関数は、必要に応じて日付を昇順または降順で並べ替えるのに役立ちます。 ただし、動的ではありません。日付を並べ替えてから新しい日付を追加した場合は、もう一度並べ替える必要があります。 ワークシートに毎回新しい日付を入力するときに、日付を自動ソートするための適切で迅速な方法はありますか?

日付が数式で入力または変更されたときの自動ソート日付

日付がVBAコードで入力または変更されたときの自動ソート日付


矢印青い右バブル 日付が数式で入力または変更されたときの自動ソート日付

たとえば、列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 自動並べ替える元の日付範囲です。

日付によるドキュメントの自動並べ替え1

2. 次に、をクリックして数値を日付形式としてフォーマットします 短い日付 から 全般 下のドロップダウンリスト ホーム タブ、スクリーンショットを参照してください:

日付によるドキュメントの自動並べ替え2

3。 次に、シーケンス番号が日付形式に変換され、元の日付も並べ替えられました。スクリーンショットを参照してください。

日付によるドキュメントの自動並べ替え3

4。 これ以降、新しい日付を入力するか、列Aの日付を変更すると、列Cの日付が自動的に昇順で並べ替えられます。スクリーンショットを参照してください。

日付によるドキュメントの自動並べ替え4


矢印青い右バブル 日付がVBAコードで入力または変更されたときの自動ソート日付

次のVBAコードは、新しい日付を入力したり、必要に応じて日付を変更したりするときに、元の列の日付を自動並べ替えるのに役立ちます。

1。 日付を入力または変更するときに、日付を自動ソートするワークシートに移動します。

2。 シートタブを右クリックして、 コードを表示 コンテキストメニューから、ポップアウトで アプリケーション向け Microsoft Visual Basic ウィンドウの場合は、次のコードをコピーして空白に貼り付けてください モジュール ウィンドウ、スクリーンショットを参照してください:

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

日付によるドキュメントの自動並べ替え6

注意:上記のコードでは、入力された日付は列Aに自動ソートされ、変更できます A1 及び A2 必要に応じて自分の細胞に。

3。 これ以降、列Aに日付を入力すると、日付は自動的に昇順で並べ替えられます。


最高のオフィス生産性ツール

Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (15)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
数式が配列であることに言及するのを忘れたので、Ctrl + Shift+Enterを押す必要があります。 幸いなことに、スクリーンショットを持っているか、ページがサイバースペースの無駄になります
このコメントは、サイトのモデレーターによって最小化されました
リストに重複する日付がある場合はどうなりますか? そして、両方の数字を表示したいと思います。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ライアン、

重複する日付で日付を並べ替えるには、次の式を適用する必要があります。

=IFERROR(INDEX($A$2:$A$11,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$11,"<="&$A$2:$A$11),0)),IF(ROWS($A$2:A2)<ROWS($A$2:$A$11),B3,""))

Shift + Ctrl+Enterキーを同時に押すことを忘れないでください。

それがあなたを助けることができることを願っています、ありがとう!
このコメントは、サイトのモデレーターによって最小化されました
素晴らしい:)うまく機能している
このコメントは、サイトのモデレーターによって最小化されました
これと同じ並べ替え計算を、最新の日付から最も古い日付までどのように行うことができますか? 現在、最も古いものから最も新しいものです。 <記号を反転するだけでは不十分であり、それを超えると、それが何をしているのかを十分に理解できません。 また、発生している可能性があるのは、Excelが上から下に自動的に機能して問題を引き起こすことだと思います。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ボー、

日付を新しいものから古いものに自動ソートするには、上記の式の<=を>=に次のように変更する必要があります。
=INDEX($A$2:$A$15,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$15,">="&$A$2:$A$15),0))
この数式を挿入した後、正しい結果を得るには、Ctrl + Shift+Enterキーを同時に押すことを忘れないでください。
ぜひお試しください。
このコメントは、サイトのモデレーターによって最小化されました
重複する日付に加えて、並べ替え時に複数の列のデータを含める方法もありますか? 複数の列を含めて、それらをすべて有効期限とともに並べ替える必要があります。
このコメントは、サイトのモデレーターによって最小化されました
私は小切手帳の登録簿を狂わせて、それは機能しますが、私のエントリを日付順にする方法を知りたいです。 どんな助けでもいただければ幸いです。 私はまだExcelを学んでいます。
このコメントは、サイトのモデレーターによって最小化されました
ソートされた日付の後にセルを保持するための特定の数式はありますか? 日付で整理するのは良いことですが、情報の行全体を保持します。 どんな助けでも大歓迎です。
このコメントは、サイトのモデレーターによって最小化されました
VBAコードを使用して、上記をコピーして貼り付けましたが、列Fの日付がデータの並べ替えの値になることを望んでいます。 範囲の値をF2とF3500(行1がタイトルであるスプレッドシートのサイズ)に変更しましたが、それでも列Aの日付で並べ替えられます。誰か助けてくれませんか。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、ロス、
コードを列Fに適用するときは、以下のコードのように、必要に応じていくつかの参照を変更する必要があります。
プライベートサブワークシート_Change(ByValターゲットを範囲として)
'Updateby Extendoffice 20160606
エラーで次の再開
Application.Intersect(Target、Application.Columns(6))が何もない場合は、Subを終了します
Target.Count> 1の場合、Subを終了します
Range( "F1")。Sort Key1:= Range( "F2")、Order1:= xlAscending、Header:= xlYes、_
OrderCustom:= 1、MatchCase:= False、Orientation:= xlTopToBottom
End Subの

ぜひお試しください。お役に立てば幸いです。
このコメントは、サイトのモデレーターによって最小化されました
そのVBAコードは純金です! ありがとうございました! :-)
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、複数の列に対してこれを実行したい場合、または同じ列に新しい開始点を設定したい場合はどうなりますか? 同じウィンドウで休憩してVBAコードを再コピーするだけですか?
ありがとうございました。
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、これは素晴らしいツールです。 ありがとうございました。 これを同じタブの複数の列に適用するにはどうすればよいですか? 同じ列の新しいセルで日付による並べ替えを再開するために適用できますか? VBAコードを同じウィンドウに再貼り付けするだけですか?
ありがとうございました。
このコメントは、サイトのモデレーターによって最小化されました
こんにちはNoname9、お元気ですか? VBAコードを使用して目標を達成することは、私の手の届かないところにあります。 しかし、数式を使用してトリックを実行する方法は知っています。A2:B7のようにXNUMX列の日付があるとします。 これらの日付を新しい列に並べ替える方法は? 次のようにしてください。
まず、日付の2つの列を7つの列に結合する必要があります。 数式をコピーして貼り付けます=INDEX($ A $ 2:$ B $ 2、INT((ROWS(D $ 1:D2)-1)/ 2)+2、MOD(ROWS(D $ 1,2:D1)-2)+ 1)セルDXNUMXに。 そして、塗りつぶしハンドルを下にドラッグして、すべての日付を結合します。 スクリーンショットXNUMXを参照してください。
次に、結合された日付を並べ替えます。 数式をコピーして貼り付けます=INDEX($ D $ 2:$ D $ 13、MATCH(ROWS($ D $ 2:D2)、COUNTIF($ D $ 2:$ D $ 13、 "<="&$ D $ 2:$ D $ 13) 、0))F2に。 そして、塗りつぶしハンドルを下にドラッグして、すべての日付を並べ替えます。 スクリーンショット2を参照してください。
それがお役に立てば幸いです。 良い一日を。誠意をこめて、マンディ
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護