Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

Excelでは、日付を含むデータを扱う機会が非常に多く、行を日付順に並べ替えたい場面はよくあります。Excelには「並べ替えとフィルター」「フィルター」「ユーザー設定の並べ替え」右クリックメニューなどの標準機能に加え、MONTHYEARSORTSORTBYなどの関数やVBAマクロを使った方法まで、日付で行を並べ替える手段が多数用意されています。

ここでは、特定の日付ごとの合計コストを記録したデータセットを例に、データ全体を日付順に並べ替える手順を解説します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

本記事では、さまざまな機能・関数、そしてVBAマクロを使って日付順に並べ替える方法を詳しく紹介します。

Excelファイルのダウンロード

Excelで日付順に行を並べ替える8つの簡単な方法

並べ替えは、データセットの内容を把握するために欠かせない基本操作です。日付順に並べ替えることで、時系列でのデータ確認や分析が格段にしやすくなります。同じシート内でも、別の場所に結果を出力する方法など、複数のアプローチがあります。以下の手順に従って、目的に合った方法でデータを効率よく並べ替えましょう。

方法1:「並べ替えとフィルター」機能を使う

Excelでは、ホームタブとデータタブの両方に「並べ替えとフィルター」機能が用意されています。どちらを使っても日付順に並べ替えられます。

🔺 「並べ替えとフィルター」を適用するには、ホームタブ > 編集グループの「並べ替えとフィルター」 > 「古い順から新しい順へ並べ替え」(昇順)を選択します。「新しい順から古い順へ並べ替え」(降順)を選んでも構いません。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔼 または、データタブ > 並べ替えとフィルターグループの(A→Z)または(Z→A)ボタンをクリックしても同じ操作ができます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 いずれの場合も、「並べ替えの警告」ダイアログが表示され、選択範囲を拡張するかどうかを尋ねられます。「現在選択している範囲を拡張する」を選ぶと、日付列だけが並べ替えられて他の列との対応関係が崩れてしまうため注意が必要です。必ず「選択範囲を拡張する」を選んで「並べ替え」をクリックしましょう。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔼 どちらの方法でも、下の画像のようにデータセット全体が日付(古い順→新しい順)で並べ替えられます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

なお、ショートカットキーAlt+A+S+Aで昇順(古い順)、Alt+A+S+Dで降順(新しい順)の並べ替えを実行できます。

関連記事: [解決法] Excelで並べ替えとフィルターが動作しないときの対処法

方法2:右クリックメニュー(コンテキストメニュー)を使う

🔺 データセット内の日付列を選択して右クリックすると、コンテキストメニューが表示されます。メニューから「並べ替え」 > 「古い順から新しい順」または「新しい順から古い順」を選択します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 「並べ替えの警告」ウィンドウが表示されたら、「選択範囲を拡張する」を選んで「並べ替え」をクリックします。「現在選択している範囲を拡張する」を選ぶと日付列だけが並べ替えられ、データ全体の整合性が失われるので注意してください。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔼 その後、Excelは選択した条件(古い順→新しい順または新しい順→古い順)に従ってデータを並べ替えます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

関連記事: Excelで列ではなく行単位でデータを並べ替える2つの方法

方法3:フィルター機能を使って並べ替える

「並べ替えとフィルター」と同様に、フィルター機能でも日付順の並べ替えが可能です。手順を見ていきましょう。

🔺 まず、ホームタブ > 編集グループの「並べ替えとフィルター」 > 「フィルター」を選択して、データセットにフィルターを適用します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 次に、日付列見出しの横にあるフィルターアイコンをクリックします。表示されるコマンドボックスから、「古い順から新しい順へ並べ替え」または「新しい順から古い順へ並べ替え」のいずれかを選びます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔼 これで、データセットが希望どおりの日付順に並べ替えられているか確認できます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

関連記事: Excelにおける「並べ替え」と「フィルター」の違い

方法4:「ユーザー設定の並べ替え」を使う

ユーザー設定の並べ替えでは、セルのフォントの色条件付き書式アイコンなどを基準に、任意の列見出しを指定して並べ替えられます。日付の場合は、古い順から新しい順新しい順から古い順ユーザー設定リストの3つのオプションが利用できます。

🔺 ホームタブ > 編集グループの「並べ替えとフィルター」 > 「ユーザー設定の並べ替え」を選択します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 「並べ替え」ダイアログボックスが開きます。

最優先されるキー「注文日」を選択

並べ替えのキー「セルの値」を選択

順序「古い順から新しい順」または「新しい順から古い順」を選択

最後に「OK」をクリックします。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔼 すぐに、下の画像のようにデータセット全体が指定した条件で並べ替えられます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

関連記事: Excelでユーザー設定の並べ替えリストを作成する方法

あわせて読みたい記事

  • Excelでデータ入力時に自動で並べ替える3つの方法
  • Excelで姓(ラストネーム)順に並べ替える4つの方法
  • Excelで行をまとめたまま列を並べ替える方法
  • Excelで値を基準に列を並べ替える5つの方法
  • Excelでランダムに並べ替える方法(数式+VBA)

方法5:関数の結果を使って日付順に並べ替える

ヘルパー列を作成し、MONTH関数やDAY関数で日付から月・日の数値を取り出して、その結果をもとにデータ全体を並べ替える方法もあります。ここではMONTH関数を使った例を紹介します。データの種類によってはYEAR関数も活用できます。

🔺 空白セル(例:E5)に次の数式を入力します。

=MONTH(B5)

この数式は、日付から月の数値を取り出します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 フィルハンドルを使って、数式を他のセルにも適用します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 方法3と同じ手順でデータセットにフィルターを適用し、フィルターアイコンをクリックして「最小から最大へ並べ替え」または「最大から最小へ並べ替え」を選択します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔼 下の画像のように、Excelが選択した条件に従ってデータセット全体を並べ替えます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

関連記事: Excelで日付と時刻の両方で並べ替える4つのスマートな方法

方法6:SORT系関数(SORT・SORTBY)を使う

Excel 365には、並べ替え専用の類似関数が2つ用意されています。SORT関数とSORTBY関数は、特定の列を基準にデータセットを並べ替えます。SORT関数の構文は次のとおりです。

SORT(配列, [並べ替えインデックス], [並べ替え順序], [並べ替えの方向])

各引数の意味は以下のとおりです。

配列(array):並べ替える対象の範囲または配列。

並べ替えインデックス(sort_index):並べ替えの基準となる列番号。既定値は1[省略可能]

並べ替え順序(sort_order):昇順 = 1降順 = -1。既定値は昇順[省略可能]

並べ替えの方向(by_col):列方向に並べ替え = TRUE行方向に並べ替え = FALSE。既定値はFALSE(行方向)[省略可能]

🔺 任意のセル(例:H5)に次の数式を入力します。

=SORT(B5:F16,1,1,FALSE)

この数式では、

array = B5:F16

sort_index = 1

sort_order = 1(昇順)

by_col = FALSE

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 Enterキーを押すと数式が実行され、すぐにワークシート内の別の場所に並べ替え済みのデータセット全体が出力されます。昇順を指定しているため、日付の古い順に整列されます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔄 SORT関数と異なり、SORTBY関数は多段階(複数レベル)の並べ替えに対応しています。SORTBY関数の構文は次のとおりです。

SORTBY(配列, 基準配列, [並べ替え順序], [配列/順序], ...)

各引数の意味は以下のとおりです。

配列(array):並べ替える対象の範囲または配列。

基準配列(by_array):並べ替えの基準となる範囲または配列。

並べ替え順序(sort_order):昇順 = 1(既定値)、降順 = -1

配列/順序(array/order):追加の配列と並べ替え順序のペア。[省略可能]

🔺 空白セル(例:H5)に次の数式を貼り付け、Enterキーを押します。

=SORTBY(B5:F16,B5:B16,1)

構文と照らし合わせると、array = B5:F16by_array = B5:B16sort_order = 1(昇順)となります。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

関連記事: Excelで複数の行を並べ替える2つの方法

方法7:数式(INDEX-MATCH)で自動並べ替えを実現する

INDEX-MATCHの組み合わせた数式を使うと、日付を自動的に並べ替えることができます。任意のセルC5に次の数式を入力します。

=IFERROR(INDEX($B$5:$B$16, MATCH(ROWS($B$5:B5),COUNTIF($B$5:$B$16, "<="&$B$5:$B$16), 0)), "")

🔼 MATCH(ROWS($B$5:B5),COUNTIF($B$5:$B$16, "<="&$B$5:$B$16), 0) ➤ の部分が、INDEX関数のrow_num(行番号)として機能します。

🔼 ROWS($B$5:B5) ➤ は、ROWS関数を使ってMATCH関数のlookup_value(検索値)を渡します。

🔼 COUNTIF($B$5:$B$16, "<="&$B$5:$B$16) ➤ は、COUNTIF関数を使ってMATCH関数のlookup_array(検索範囲)を渡します。

🔼 0 ➤ は、MATCH関数のmatch_type(照合の型)、つまり完全一致を示します。

🔺 Enterキーを押し、フィルハンドルで他のセルにも数式を適用します。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 また、COUNTIF関数の代わりにRANK関数で日付の順位を求め、特定の列だけを抽出したい場合は、次の数式も使えます。

=INDEX(B5:F16,MATCH(ROW(A1:A12),RANK(B5:B16,B5:B16,1),0),{1,2,5})

この数式は前の数式とほぼ同じ引数を持ちますが、COUNTIF関数の代わりにRANK関数を使用しており、必要な列だけを自由に取り出せる点が特徴です。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

関連記事: Excelで表を自動的に並べ替える5つの方法

方法8:VBAマクロで日付順に並べ替える

VBAマクロを使えば、データセットを日付順に並べ替えることもできます。

🔺 Alt+F11キーでMicrosoft Visual Basicエディターを開き、対象のワークシートをダブルクリックします。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

🔺 シートのコードウィンドウに、次のマクロを貼り付けます。

Private Sub Worksheet_Change(ByVal Rng As Range)
On Error Resume Next
Range("B4").Sort Key1:=Range("B5"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End Sub

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

最初のRange(例:B4)はデータセットの左端のセル、後のRange(例:B5)はデータの開始位置を指定します。マクロの各行は、データセットを昇順かつ上から下へ(Top to Bottom)の向きで並べ替えるよう指示しています。

🔼 マクロを挿入したらワークシートに戻ります。行を追加・削除したり、単にEnterキーを押すだけで、下の画像のようにデータが自動的に整理されます。

Excelで日付順に行を並べ替える8つの方法【初心者から上級者まで】

関連記事: VBAでExcelの表を並べ替える4つの方法

まとめ

本記事では、Excelの標準機能、各種関数、そしてVBAマクロを使って、行を日付順に並べ替える8つの方法を紹介しました。標準機能では複数のオプションから柔軟に選択でき、カスタマイズした数式なら効率的に並べ替えが可能です。さらにVBAマクロを使えば、データセットを日付順に自動並べ替えできます。これらの方法が、あなたの作業のお役に立てば幸いです。ご質問や追加情報があれば、ぜひコメントでお知らせください。

関連記事

  • Excel VBAのSort関数の使い方(8つの実例付き)
  • Excel VBAで配列を昇順・降順に並べ替える方法
  • VBAでExcelの列を並べ替える4つの方法
  • Excelで一意のリストを並べ替える10の便利な方法
  • Excelに並べ替えボタンを追加する7つの方法
  • ExcelでIPアドレスを並べ替える6つの方法

  1. Excelで行数を制限する3つの効果的な方法

    この記事では、Excelで行数を制限する方法をご紹介します。Excelのワークシートには1,048,576行×16,384列ものセルが用意されていますが、実際の作業でそのすべてが必要になることはほとんどありません。データセットの規模が小さい場合、行数を制限することで、より見やすく使いやすい作業環境を整えることができます。本記事では、Excelワークシートの行数を制限するための基本的なテクニックを3つ解説します。 Excelで行数を制限する3つの効果的な方法 ここでは、食料品店の売上情報を含むデータセットを例に説明します。店舗で扱う商品点数はそれほど多くないため、合計売上や利益を計算する

  2. ExcelでCSVファイルを並べ替える方法|初心者でもできる2つの簡単な手順

    ExcelでCSVファイルを扱う場面は非常に多くあります。氏名や住所のデータ、商品情報、リスト管理など、さまざまな用途で活用されています。しかし、データ量が大きくなると操作が少し複雑になり、CSVファイルを並べ替え(ソート)する必要が出てきます。この記事では、ExcelでCSVファイルを並べ替える2つの簡単な方法を、手順を追ってわかりやすく解説します。 練習用に、サンプルファイルをダウンロードしてご利用ください。 CSVファイルとは? 並べ替えの手順に入る前に、まずCSVについて簡単におさらいしましょう。CSVは「Comma Separated Values(カンマ区切り値)」の略で、データを