excel

【Excel】エクセルで日付順に並び替えする(ならない時も・自動で・SORT関数:行ごと:常に最新順)

当サイトでは記事内に広告を含みます

Excelで売上データや予定表、記録データなどを管理していると、日付順に並べ替える作業が頻繁に発生します。

取引履歴を最新順に表示したい、予定を古い順から確認したい、売上データを日付の昇順で整理したいなど、日付を基準にしたデータの並べ替えは、業務で最もよく使われる操作の一つです。

通常の並べ替え機能を使えば、データタブから並べ替えを実行できますが、新しいデータを追加するたびに毎回手動で並べ替えを実行しなければなりません。

データを追加するたびに「データ」タブの「並べ替え」ボタンをクリックして、日付列を選択して、昇順か降順を指定して実行する、という作業を繰り返すのは非効率で、作業時間の無駄になります。データ件数が数百、数千と増えてくると、この繰り返し作業は大きな負担となり、並べ替えを忘れてしまうとデータの順序が混乱してしまいます。

Excelには、並び替えを効率化したり自動化したりする複数の方法があります。

テーブル機能を使えばワンクリックで並び替えができ、SORT関数を使えば元データに追加するだけで自動的に並び替えられた結果が表示され、マクロを使えばボタン一つで複雑な並び替えを実行できます。

本記事では、通常の並び替え機能からテーブル機能、SORT関数やSORTBY関数を使った自動並び替え、マクロによる自動化まで、日付順の並び替えに関するあらゆる方法を詳しく解説します。

手動操作を減らして作業効率を向上させたい方は、ぜひ最後までお読みください。

ポイントは

・通常の並び替えとテーブル機能で手動操作を効率化

・SORT関数で日付列を基準に自動並び替え可能

・マクロやVBAでボタン一つでの自動実行も実現

です。

それでは詳しく見ていきましょう。

通常の並び替え機能で日付順に整理する

それではまず、Excelの標準的な並び替え機能を使った日付の並び替え方法を確認していきます。

データタブからの基本的な並び替え

最も基本的な方法は、「データ」タブの並び替え機能を使って日付列を基準に並べ替えることです。

並び替えたいデータ範囲内のいずれかのセルを選択し、「データ」タブの「並び替え」ボタンをクリックします。並び替えダイアログが表示されたら、「最優先されるキー」で日付が入力されている列を選択し、「順序」で「昇順」または「降順」を選択してOKをクリックします。

昇順を選択すると古い日付から新しい日付へ、降順を選択すると新しい日付から古い日付へと並び替えられます。例えば、2025年1月1日、2025年1月15日、2025年2月1日というデータがある場合、昇順では1月1日が最初に、降順では2月1日が最初に表示されます。

データ範囲に見出し行がある場合は、ダイアログ内の「先頭行をデータの見出しとして使用する」にチェックを入れることで、見出し行を除外して並び替えができます。

操作 手順 結果
昇順並び替え データ→並び替え→日付列→昇順 古い日付が上に表示
降順並び替え データ→並び替え→日付列→降順 新しい日付が上に表示
クイック昇順 日付列選択→昇順ボタン ワンクリックで昇順
クイック降順 日付列選択→降順ボタン ワンクリックで降順

クイック並び替えボタンの活用

より素早く並び替えを実行するには、「データ」タブの「昇順」「降順」ボタンを使用します

日付が入力されている列のいずれかのセルを選択し、「データ」タブにある「昇順」ボタン(AからZのアイコン)または「降順」ボタン(ZからAのアイコン)をクリックするだけで、その列を基準にした並び替えが即座に実行されます。

この方法は、並び替えダイアログを開く必要がないため、単純な日付順の並び替えには最も効率的です。ただし、複数の条件で並び替えたい場合や、詳細な設定が必要な場合は、通常の並び替えダイアログを使用する必要があります。

複数条件での並び替え

同じ日付のデータが複数ある場合、第2キー、第3キーを設定して優先順位を指定できます

並び替えダイアログで「レベルの追加」ボタンをクリックすると、第2キー、第3キーを追加できます。例えば、第1キーを「日付」の昇順、第2キーを「金額」の降順に設定すれば、まず日付順に並べ替えられ、同じ日付内では金額の大きい順に並び替えられます。

この機能により、同一日付内でのデータの並び順も制御でき、より詳細なデータ整理が可能になります。

通常の並び替え機能は、データが更新されるたびに手動で実行する必要があります。

新しい行を追加した場合、その行は元の位置に挿入されるため、再度並び替えを実行しなければ日付順は維持されません。

頻繁にデータを追加する場合は、次に紹介するテーブル機能や関数を使った自動化が効率的です。

テーブル機能で並び替えを効率化する

続いては、テーブル機能を使った並び替えの効率化方法を確認していきます。

データをテーブルに変換する

Excelのテーブル機能を使うと、各列の見出しにフィルターボタンが自動的に追加され、ワンクリックで並び替えができます

データ範囲内のいずれかのセルを選択し、「挿入」タブの「テーブル」ボタンをクリックするか、Ctrl+Tキーを押します。「テーブルの作成」ダイアログが表示されたら、データ範囲を確認し、「先頭行をテーブルの見出しとして使用する」にチェックを入れてOKをクリックします。

テーブルに変換されると、各列の見出しに下向き矢印のボタンが表示されます。このボタンをクリックすると、並び替えやフィルターのメニューが表示され、「昇順で並び替え」「降順で並び替え」を選択するだけで、その列を基準にした並び替えが実行されます。

テーブル化されたデータは、書式が自動的に適用され、縞模様の表示で見やすくなり、データの追加時には自動的にテーブル範囲が拡張されます。

テーブルでの日付並び替えの利点

テーブル機能を使った並び替えには、通常の並び替えにはない複数のメリットがあります。

各列のフィルターボタンから直接並び替えができるため、「データ」タブに移動する必要がなく、操作が非常にスピーディーです。日付列の矢印ボタンをクリックして「昇順で並び替え」を選択するだけで、2クリックで並び替えが完了します。

また、テーブル内でデータを追加すると、自動的にテーブルの一部として認識されるため、範囲の再選択が不要になります。テーブルの最終行の下に新しいデータを入力すると、自動的にテーブル範囲が拡張され、同じ書式が適用されます。

フィルター機能と組み合わせることで、特定の期間のデータだけを表示しながら並び替えることもできます。例えば、2025年1月のデータだけを表示し、その範囲内で日付順に並べ替えるといった操作が簡単に実現できます。

機能 通常の範囲 テーブル テーブルの利点
並び替え操作 データタブから 列ボタンから 2クリックで完了
範囲の拡張 手動で再選択 自動拡張 範囲指定不要
書式の適用 手動でコピー 自動適用 統一された見た目
フィルター併用 設定が必要 標準装備 即座に利用可能

テーブルのデフォルト並び順を設定する

テーブルでは並び順が保存されないため、ファイルを開くたびに並び替えを実行する必要があります

ただし、よく使う並び順がある場合は、並び替えた状態でファイルを保存すれば、次回開いたときも同じ順序で表示されます。例えば、常に日付の降順で表示したい場合は、降順で並び替えた状態で保存します。

新しいデータを追加した後は、再度並び替えボタンをクリックする必要がありますが、テーブルなら2クリックで完了するため、作業負担は最小限です。

SORT関数で日付の自動並び替えを実現する

続いては、関数を使って並び替えを完全に自動化する方法を確認していきます。

SORT関数の基本構文と使い方

SORT関数は、指定した範囲のデータを自動的に並び替えて、結果を別のセル範囲に表示する関数です。

この関数はExcel 365およびExcel 2021以降で使用可能な動的配列関数で、数式を入力したセルから自動的に結果が展開されます。

SORT関数の基本構文は「=SORT(配列,並べ替えインデックス,並べ替え順序,並べ替え基準)」という形式になります。配列には並び替えたいデータ範囲を指定し、並べ替えインデックスには並び替え基準とする列番号を指定します。並べ替え順序は昇順なら1(または省略)、降順なら-1を指定します。

例えば、A1からC10までのデータがあり、B列に日付が入っている場合、E1セルに「=SORT(A1:C10,2,1)」と入力すると、B列(2列目)の日付を昇順で並び替えた結果がE1セルから下方向に自動的に展開されます。

=SORT(A1:C100,2,1)

この数式は、A1:C100の範囲を、2列目(B列の日付)を基準に、昇順(1)で並び替えます。

元データに新しい行を追加すると、自動的に並び替え結果も更新されます。

引数 指定内容 説明
配列 並び替えるデータ範囲 A1:C100 元データの範囲全体
並べ替えインデックス 基準とする列番号 2 範囲内の2列目(B列)
並べ替え順序 1=昇順、-1=降順 -1 新しい日付から古い日付へ
並べ替え基準 FALSE=列、TRUE=行 FALSE 列方向に並び替え(通常)

日付の昇順・降順を切り替える

SORT関数で日付の並び順を変更するには、第3引数の値を1か-1に変更します

古い日付から新しい日付へ並べ替えたい場合は「=SORT(A1:C100,2,1)」とし、新しい日付から古い日付へ並べ替えたい場合は「=SORT(A1:C100,2,-1)」とします。

売上履歴や取引記録など、最新のデータを上部に表示したい場合は降順(-1)が適しており、予定表やスケジュールなど、近い日付から確認したい場合は昇順(1)が適しています。

第3引数を省略すると、デフォルトで昇順になります。

SORTBY関数で別列を基準に並び替える

SORTBY関数を使うと、表示する範囲と並び替えの基準とする列を別々に指定できます

SORTBY関数の構文は「=SORTBY(配列,基準配列1,順序1,基準配列2,順序2,…)」という形式で、複数の基準を同時に指定できます。

例えば、A1:A100に商品名、B1:B100に日付、C1:C100に金額が入力されている場合、E1セルに「=SORTBY(A1:C100,B1:B100,-1)」と入力すると、B列の日付を基準に降順で全体が並び替えられた結果が表示されます。

SORTBY関数は、複数の基準列を指定する場合に特に便利です。「=SORTBY(A1:C100,B1:B100,1,C1:C100,-1)」とすれば、まず日付の昇順で並び替え、同じ日付内では金額の降順で並び替えるという複雑な処理が一つの数式で実現できます。

マクロとVBAで並び替えを自動実行する

続いては、マクロを使ってボタン一つで並び替えを実行する方法を確認していきます。

マクロの記録機能で並び替えを自動化

プログラミングの知識がなくても、Excelのマクロ記録機能を使って並び替え操作を自動化できます

「表示」タブの「マクロ」→「マクロの記録」を選択し、マクロ名を入力して記録を開始します。記録中に通常通り並び替え操作を実行し、完了したら「記録終了」ボタンをクリックします。

記録されたマクロは、「マクロ」ダイアログから実行するか、ボタンやショートカットキーに割り当てることで、ワンクリックまたはキー操作で並び替えを実行できます。

クイックアクセスツールバーにマクロを追加すれば、どのシートからでも即座に実行できるようになります。

VBAコードで高度な自動並び替え

VBAを使えば、データが追加されたタイミングで自動的に並び替えを実行する仕組みを作成できます。

Worksheet_Changeイベントを使用すると、特定の範囲にデータが入力されたときに自動的にマクロが実行されます。例えば、A列からC列のいずれかのセルにデータが入力されたときに、自動的に日付順に並び替えるコードを記述できます。

ただし、自動実行マクロはファイルサイズや動作速度に影響を与える可能性があるため、大量のデータを扱う場合は注意が必要です。

マクロを含むファイルは、拡張子を.xlsmで保存する必要があります。

また、マクロのセキュリティ設定によっては、ファイルを開いたときにマクロが無効化される場合があるため、信頼できる場所に保存するか、マクロを有効にする必要があります。

まとめ エクセルで日付順に並び替えを自動化する方法

エクセルで日付順の並び替えを効率化・自動化する方法をまとめると

・通常の並び替え:データタブから日付列を選択して昇順・降順を指定、クイックボタンで2クリック実行も可能、複数条件の設定もできるが手動操作が必要

・テーブル機能:データをテーブル化すれば各列にフィルターボタンが追加、2クリックで並び替え可能、範囲の自動拡張で管理が楽

・SORT関数:「=SORT(A1:C100,2,-1)」で日付列を基準に自動並び替え、データ追加時に自動更新、降順は-1で指定

・SORTBY関数:複数の基準列を指定可能、「=SORTBY(配列,基準列1,順序1,基準列2,順序2)」の形式

・マクロ/VBA:マクロ記録で操作を自動化、ボタンやショートカットに割り当て、Worksheet_Changeイベントでデータ入力時の自動実行も可能

これらの方法を状況に応じて使い分けることで、並び替え作業を大幅に効率化できます。

データの追加頻度が低く、シンプルな並び替えで十分な場合は、通常の並び替え機能やテーブル機能が適しています。テーブル化すれば2クリックで並び替えができるため、手動操作でも十分に効率的です。

データを頻繁に追加し、常に最新の並び順を維持したい場合は、SORT関数やSORTBY関数が最適です。元データとは別の場所に並び替え結果を表示できるため、入力用のシートと表示用のシートを分離して、入力シートにデータを追加するだけで表示シートが自動的に更新される仕組みを構築できます。

複雑な処理や定期的な一括処理が必要な場合は、マクロやVBAの活用を検討してください。ただし、Excel 365やExcel 2021を使用していない環境では、SORT関数やSORTBY関数が使えないため、テーブル機能やマクロでの対応が必要になります。

Excelの日付並び替え機能を使いこなして、データ管理業務の効率化を実現していきましょう!