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

Excelのソート: テキスト、日付、数値、または色でデータを並べ替え

Author: Xiaoyang Last Modified: 2025-08-06

Excelでデータを並べ替えることは、非常に一般的で簡単な作業であり、選択した並べ替えの種類に基づいてデータを再整理するのに役立ちます。通常、組み込みの並べ替え機能を使用すると、1つまたは複数の列にある数字、テキスト文字列、日付や時刻を並べ替えることができます。また、自分で作成したカスタムリストや、セルの書式(フォントの色、背景色、アイコンなど)に基づいてデータを迅速かつ簡単に並べ替えることも可能です。

これらの簡単な並べ替えに加えて、日常業務で必要になる可能性がある、さらに有用で複雑な並べ替えが多数存在します。このチュートリアルでは、Excelでの問題解決に役立つさまざまな種類の並べ替えを紹介します。

目次:

1. Excelでの並べ替えオプションにアクセスする

2. ソートの基本的な使用方法

3. ソートの高度な使用方法

4. データを入力または変更する際にデータを自動的に並べ替える

5. その他の並べ替えケース


Excelでの並べ替えオプションへのアクセス

Excel は、並べ替え機能とそのオプションにアクセスするための複数の方法を提供しています。

1.1 リボン内のソートボタン

並べ替え機能を適用する最速の方法は、リボンの並べ替えボタンを使用することです。

値を並べ替える列の任意のセルをクリックし、次に [データ] タブをクリックします。[並べ替えとフィルター] セクションで、[A から Z で並べ替え] または [Z から A で並べ替え] ボタンをクリックして、データを昇順または降順のアルファベット順に並べ替えます。スクリーンショットをご覧ください:

A screenshot of the Sort A to Z and Sort Z to A buttons in the Sort & Filter group of Excel's Data tab

: データ範囲に空白行がある場合、これらのボタンを適用した後、選択したセルの上または下にある空白行以外のデータ範囲のみが正常に並べ替えられます。


1.2 ソートダイアログボックス

並べ替えとフィルターグループの データタブには、もう一つの並べ替えボタンがあります。スクリーンショットをご覧ください:

A screenshot of the Sort button in the Sort & Filter group of Excel's Data tab

この「ソート」ボタンをクリックすると、下のスクリーンショットに示すように、「ソート」ダイアログボックスが表示されます。

A screenshot of the Sort dialog box in Excel with options for sorting by column, sort on, and order

次に、[ソート] ダイアログ ボックスで、必要に応じてデータをソートするための対応するルールを選択できます。

ヒント: ショートカットキーを使用してこの「並べ替え」ダイアログボックスを開くこともできます。キーボードで Alt + A + S + S キーを順に押してください。


1.3 フィルターメニュー内のソートオプション

データ範囲にフィルターを適用している場合、フィルターオプションと一緒に並べ替えオプションも見つけることができます。任意の列のフィルターアイコンをクリックすると、下のスクリーンショットに示すように、展開されたリストに並べ替えオプションが表示されます。

A screenshot showing the sorting options in the Filter menu in Excel

: これらの並べ替えオプションは、列内のデータに基づいて変更されます。列にテキストがある場合、「AからZへ」、「ZからAへ」が表示されます。列に数字がある場合、「最小から最大へ」、「最大から最小へ」が表示されます。列に日付がある場合、「古い順から新しい順」、「新しい順から古い順」が表示されます。


1.4 右クリックによるソートオプション

Excelでは、右クリックによる並べ替えオプションを使用してデータを迅速かつ簡単に並べ替えることができます。並べ替えたい値が含まれる列の任意のセルを右クリックすると、コンテキストメニューに6つの並べ替えオプションが表示されます。必要なオプションを選択してください。スクリーンショットをご覧ください:

A screenshot of the right-click context menu in Excel showing six sorting options


ソートの基本的な使用方法

このExcelの並べ替え機能は、数値、テキスト文字列、日付を昇順または降順で並べ替えたり、フォントや背景色に基づいてセルを並べ替えるなど、簡単な並べ替えを行うのに役立ちます。このセクションでは、この並べ替え機能の基本的な使用方法について説明します。


2.1 テキスト、数字、または日付でデータを並べ替える

テキスト、数字、または日付に基づいてデータ範囲を昇順または降順で並べ替えるには、次の手順に従ってください:

1. ソートしたいデータ範囲を選択し、次に [データ] > [ソート] をクリックします。スクリーンショットをご覧ください:

A screenshot of the Sort button in the Sort & Filter group of Excel's Data tab

2. [ソート] ダイアログ ボックスで、次の操作を行います:

  • セクションで、基準として並べ替えたい列名を選択してください。
  • ソート基準」セクションで、「セルの値」オプションを選択します。
  • 順序」セクションで、並べ替えの順序を指定します。(テキスト文字列を並べ替える場合は、A から Z または Z から A を選択してください。数値リストを並べ替える場合は、最小から最大 または 最大から最小 を選択してください。日付セルを並べ替える場合は、古いものから新しいもの または 新しいものから古いもの を選択してください。)
  • ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがあります」オプションがチェックされていることを確認してください。データにヘッダーがない場合は、このオプションのチェックを外してください。

A screenshot of the Sort dialog box in Excel with options for sorting data by column, values, and order

3. 次に、[OK] ボタンをクリックすると、選択したデータが指定した列に基づいて一度に並べ替えられます。


2.2 セルの色、フォントの色、セルのアイコンでデータを並べ替え

セルの色、フォントの色、または条件付き書式アイコンに基づいてデータ範囲を並べ替えたい場合、[ソート] 機能を使用するとこのタスクを迅速に解決できます。

セルの色で書式設定されたデータ範囲があるとします(下のスクリーンショットを参照)。このデータをセルの色に基づいて並べ替える必要がある場合、例えば、薄い赤の行を上に、続いて薄い黄色や薄い青の行を配置したい場合、行をセルの色で並べ替えるには、次の手順を実行してください。

A screenshot of an Excel table formatted with different cell colors for sorting purposes

1. セルの色に基づいて並べ替えたいデータ範囲を選択し、次に [データ] > [並べ替え] をクリックして [並べ替え] ダイアログボックスを開きます。

2. [ソート] ダイアログ ボックスで、次の操作を指定します:

2.1) 最初のセルの色を次のように上部に設定します:

  • 」セクションで、色付きのセルがある「名前」や他の列を選択します。この例では、すべての列に色付きのセルがありますので、どの列名でも選択できます。
  • ソート基準」セクションで、「セルの色」オプションを選択してください。
  • 順序」セクションで、上または下に配置したいセルの色を1つ選択します。

2.2) 次に、[追加] ボタンをクリックして、2 番目およびその他のルールレベルを追加し、上記の手順を繰り返して 2 番目およびその他のセルの色を設定します。

  • ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがあります」オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of the Sort dialog box in Excel with multiple levels added for sorting by cell color

3. 設定が完了したら、[OK] ボタンをクリックすると、指定したセルの色でデータ範囲が並べ替えられます。スクリーンショットをご覧ください:

A screenshot showing an Excel table sorted by cell color in the specified order

ヒント:上記の手順に従って、フォントの色やセルのアイコンに基づいてデータを並べ替えることもできます。そのためには、 フォントの色 または 条件付き書式のアイコン 「並べ替え」ダイアログボックスで。
A screenshot of Excel's Sort dialog box configured to sort data by font color or conditional formatting icon


2.3 複数の列でデータを並べ替える

以下スクリーンショットに示すような大規模なデータセットがあり、データをより明確に読むために多段階のデータ並べ替えを行いたいとします。例えば、まず「地域」列で並べ替え、次に「州」列、最後に「売上」列で並べ替える場合です。この並べ替えをExcelでどのように行うことができますか?

A screenshot of a large dataset in Excel to be sorted by Region, State, and Sales columns

複数の列でデータを並べ替えるには、以下の手順に従ってください:

1. 並べ替えたいデータの範囲を選択し、次に「データ」>「並べ替え」をクリックして、「並べ替え」ダイアログボックスを開きます。

2. [ソート] ダイアログ ボックスで、[レベルの追加] ボタンを 3 列分使用したいので 2 回クリックします。これで、リスト ボックスに 2 つの [次に] ルール レベルが追加されます。

ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがあります」オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Excel's Sort dialog box with multiple levels added for sorting by three columns

3. 「並べ替えの基準」および「次に並べ替え」ドロップダウンリストから、並べ替えを基にする列名を選択し、選択した各列に対して「 並べ替え対象」セクションから「セルの値」を選択して、最後に必要な並べ替え順序を選びます。

A screenshot of Excel's Sort dialog box with columns, sorting values, and orders selected for multi-level sorting

4. 次に、「OK」をクリックすると、以下のスクリーンショットのように並べ替え結果が表示されます。

A screenshot of a sorted Excel dataset based on Region, State, and Sales columns


2.4 カスタムリストに基づいてデータを並べ替える

アルファベット順や数値順にデータを並べ替える代わりに、このソート機能ではカスタムリストによる並べ替えも提供されています。例えば、ステータス(未開始、進行中、完了)に基づいて以下のようなデータ範囲を並べ替えたい場合、あなたが定義した条件で行うことができます。ここで、このタイプの並べ替えをどのように実行するかをご紹介します。

A screenshot of an Excel dataset to be sorted by a custom list defined by Status (Not Started, In Progress, Completed)

1. ソートしたいデータ範囲を選択し、次に [データ] > [ソート] をクリックして [ソート] ダイアログボックスを開きます。

2. [ソート] ダイアログ ボックスで、[列] セクションから並べ替えたい列を選択し、[ソート基準] セクションで [セルの値] を選択します。[順序] セクションで、[カスタムリスト] オプションをクリックしてください。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合、[データにヘッダーが含まれている] オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Excel's Sort dialog box showing the Custom List option selected for custom sorting

3. そして、カスタムリストのボックスがポップアップ表示されます。次の操作を行ってください:

  • カスタムリスト」ボックスで「新しいリスト」をクリックします。
  • リストエントリボックスに、並べ替えたい順序でテキスト文字列を入力してください。(テキストを入力する際は、Enterキーを押してエントリを区切ってください。)
  • 最後に、「追加」ボタンをクリックすると、新しいリストが「カスタムリスト」ボックスにすぐに追加されます。

A screenshot of the Custom Lists dialog box in Excel, with a new list being created for custom sorting

4. 次に、「OK」ボタンをクリックして「並べ替え」ダイアログボックスに戻ります。新しいカスタムリストの項目が теперь表示されます。「順序」ドロップダウンリストに表示されます。

A screenshot of Excel's Sort dialog box displaying the newly created custom list in the Order section

5. そして、[OK] ボタンをクリックしてダイアログボックスを閉じます。その結果、データ範囲が定義したカスタムリストで並べ替えられます。スクリーンショットをご覧ください:

A screenshot of an Excel dataset to be sorted by a custom list defined by Status (Not Started, In Progress, Completed)


2.5 データを左から右に並べ替える(水平ソート)

通常、データテーブルは上から下に垂直に並べ替えますが、場合によっては、行の値に基づいてデータを並べ替えたい(左から右に並べ替え)ことがあります。例えば、以下のデータ範囲では、Name行の値に基づいて並べ替えたいと思います。

A screenshot of a dataset in Excel to be sorted horizontally based on the Name row

この場合、ソート機能には左から右へのソートを可能にする組み込みの機能があります。以下の手順で行ってください:

1. 並べ替えたいデータ範囲(ヘッダーを除く)を選択し、次に「データ」>「並べ替え」をクリックして、「並べ替え」ダイアログボックスを開きます。

2. 表示された「並べ替え」ダイアログボックスで、「オプション」ボタンをクリックします。次に、「並べ替えオプション」ダイアログボックスで、「左から右へ並べ替え」オプションを選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort Options dialog box with the Sort left to right option selected

3. [OK] をクリックして [並べ替え] ダイアログに戻ります。ここで、[] セクションでデータを並べ替える基準となる行番号を指定し、[並べ替え対象] セクションで [セルの値] を選択し、最後に [順序] セクションで必要な並べ替え順を選択します。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog box configured to sort data horizontally based on a specific row

4. 次に、「OK」をクリックすると、データは以下のスクリーンショットのように並べ替えられます。

A screenshot of an Excel dataset sorted horizontally based on the values in the Name row


2.6 大文字と小文字を区別してデータを並べ替える

一般的に、データの並べ替えは、以下の最初のスクリーンショットに示すように、大文字と小文字を区別する順序では行われません。しかし、以下の2番目のスクリーンショットのように、並べ替えを大文字と小文字を区別する形式で行いたい場合、Excelでこのタスクをどのように解決すればよいでしょうか?

A screenshot of an Excel dataset where sorting is case-insensitive and case-sensitive

Excelで大文字と小文字を区別するソートを実行するには、次の手順に従ってください:

1. 並べ替えたいデータ範囲を選択し、次に「データ」>「並べ替え」をクリックして、「並べ替え」ダイアログボックスを開きます。

2. [ソート] ダイアログ ボックスで、[列] セクションに並べ替えたいデータの列名を指定し、[ソート対象] セクションで [セルの値] を選択してから、[順序] セクションで必要な並べ替え順を選択します。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合、[データにヘッダーがあります] オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of the Excel Sort dialog box

3. このダイアログボックスで「オプション」ボタンをクリックし続け、ソートオプションのプロンプトボックスで「大文字と小文字を区別する」オプションをチェックしてください。スクリーンショットをご覧ください:

A screenshot of the Sort Options dialog box in Excel with the Case sensitive option selected

4. [OK] をクリックし、続いてもう一度 [OK] をクリックしてダイアログを閉じます。同じテキストの場合、データは小文字が先に、その後大文字が続く形で大文字と小文字を区別して並べ替えられます。スクリーンショットをご覧ください:

A screenshot of an Excel dataset sorted in case-sensitive order, with lowercase letters sorted before uppercase


高度な並べ替えの使用方法

日々の業務において、より複雑で実用的かつ特定の並べ替え問題に直面することがあるかもしれません。このセクションでは、Excelでのさまざまな種類の並べ替えタスクについて説明します。

3.1 データを頻度に基づいて並べ替え

列にデータのリストがあると仮定し、その列をデータの出現頻度の降順で並べ替えたいとします(下のスクリーンショットを参照)。ここでは、このタスクを解決するための2つの方法を紹介します。

A screenshot of an Excel column showing unsorted data where sorting by frequency is required

 ヘルパーカラムを使用して頻度に基づいてデータを並べ替える

Excelでは、出現回数に基づいてデータを直接並べ替える方法はありません。ここで、各テキストの出現頻度を取得するための補助式を作成し、補助列で並べ替えて必要な並べ替え結果を得ることができます。

1. 以下の数式を、元のデータの隣にある空白セル(例えばB2)に入力し、その後、この数式を適用するためにフィルハンドルを下にドラッグして他のセルに適用します。スクリーンショットをご覧ください:

=COUNTIF($A$2:$A$16,A2)

: 上記の数式において、A2:A16 は頻度で並べ替えたいデータのリストであり、A2 はこのリストの最初のデータです。

A screenshot of an Excel dataset with a helper column showing occurrence counts using a COUNTIF formula

2. 次に、数式セルの選択を維持し、必要に応じて [データ] をクリックしてから、[A から Z へ並べ替え] または [Z から A へ並べ替え] を選択します。表示される [並べ替えの警告] プロンプトボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort Warning prompt asking to expand the selection when sorting by a helper column

3. そして、[ソート] ボタンをクリックすると、元の列が次のスクリーンショットに示すように頻度順に並べ替えられます。

A screenshot of an Excel column sorted by the frequency of values using a helper column

ヒント:

1. 結果を得た後、必要に応じてヘルパーカラムを削除できます。

2. 同じ回数出現するテキスト文字列がある場合、同じテキストが一緒に並べ替えられないことがあります。この場合、次の手順に進む必要があります。 ソート ダイアログボックスで、まずヘルパー列で並べ替え、次に以下のスクリーンショットのようにテキストで並べ替えます。
A screenshot of Excel's Sort dialog box configured to sort by a helper column and then by text values


 頻度に基づいてデータを並べ替える便利な機能

Kutools for Excel をお持ちの場合、その高度なソート機能を使用して、ヘルパー列を用いることなくデータを出現頻度に基づいて迅速かつ簡単に並べ替えることができます。

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

1. 並べ替えたいデータリストを選択し、次に [Kutools Plus] > [ 並べ替え] > [高度な並べ替え] をクリックします。スクリーンショットをご覧ください:

A screenshot of the Kutools Plus Advanced Sort option in Excel

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションから選択し、続いて「 ソート基準」のドロップダウンリストから「出現頻度」を選択します。最後に、「順序」セクションでソートの順番を指定してください。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合は、「データにヘッダーが含まれている」オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of the Advanced Sort dialog box in Kutools for Excel, configured to sort data by frequency

3. 次に、「OK」ボタンをクリックすると、データリストが出現回数に基づいて一度にソートされます。スクリーンショットをご覧ください:

A screenshot showing data in Excel sorted by frequency using Kutools


3.2 文字の長さに基づいてデータを並べ替える

異なる長さのテキスト文字列を含むデータリストがあり、そのデータを文字数で並べ替えて列を整然とさせたい場合があります。このセクションでは、文字数に基づいてデータを並べ替える方法について説明します。

 ヘルパー列を使用して文字の長さに基づいてデータを並べ替える

列を文字の長さで並べ替えるには、LEN関数を使用して各セルの文字数を計算し、その後、Sort関数を使用してデータリストを並べ替えます。以下の手順で行ってください:

1. たとえば、元のデータの隣にある空白セル(B2など)にこの数式 =LEN(A2) を入力し、その数式を適用するためにフィルハンドルを下にドラッグしていきます。スクリーンショットをご覧ください:

A screenshot of an Excel dataset with a helper column using the LEN function to calculate character length

2. 次に、数式セルの選択を維持したまま、「データ」>「A から Z へ並べ替え」または「Z から A へ並べ替え」(必要に応じて)をクリックします。表示される「並べ替えの警告」ダイアログボックスで、「選択範囲を拡張する」を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort Warning dialog when sorting by a helper column based on character length

3. 次に、「並べ替え」ボタンをクリックすると、文字の長さに基づいて文字列が並べ替えられます。必要に応じて、ヘルパー列Bを削除できます。スクリーンショットをご覧ください:

A screenshot showing strings sorted by character length in Excel after using a helper column


 文字の長さに基づいてデータを簡単なオプションで並べ替え

データを文字数で迅速かつ簡単に並べ替えるために、ここでは便利なツールである Kutools for Excelをおすすめします。Advanced Sort機能を使用すれば、このタスクを簡単に行うことができます。

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

1. ソートしたいデータリストを選択し、次に Kutools Plus > ソート > 高度なソート をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションから選択し、「 ソート基準」のドロップダウンリストから「テキストの長さ」を選んで、最後に「順序」セクションで必要なソート順を指定します。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合、[データにヘッダーがある] がチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Kutools Advanced Sort dialog configured to sort data by text length in Excel

3. 次に、[ OK] ボタンをクリックすると、リスト内のテキスト文字列が文字数で並べ替えられ、以下のスクリーンショットのように表示されます。

A screenshot showing data sorted by text length in Excel using Kutools


3.3 名前を姓で並べ替える

フルネームのリストを並べ替えるとき、Excelは名前の最初の文字を使用して並べ替えを行いますが、姓でデータを並べ替えたい場合はどうすればよいでしょうか?ここでは、Excelでフルネームを簡単に姓で並べ替えるためのいくつかの方法をご紹介します。

 ヘルパー列を使用してフルネームを姓で並べ替える

フルネームを姓に基づいて並べ替える場合、まず姓を新しい列に抽出し、その後「並べ替え」機能を使用して姓のアルファベット順にフルネームを整理する必要があります。次の手順で行ってください:

1. 以下の数式を、元のデータの隣にある空白セル(例えばB2)に入力またはコピーし、その後、この数式を適用するためにフィルハンドルを下にドラッグして、他のセルにも適用します。スクリーンショットをご覧ください:

=RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2," ","@",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))

A screenshot of an Excel dataset with a helper column extracting last names from full names

2. 引き続き数式セルを選択し、必要に応じて [データ] をクリックしてから [ A から Z へ並べ替え] または [Z から A へ並べ替え] を選択します。表示される [並べ替えの警告] プロンプトボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort Warning dialog prompting to expand the selection when sorting by last names

3. 次に、「並べ替え」ボタンをクリックすると、姓に基づいてフルネームが並べ替えられます。完了後、必要に応じてヘルパーカラムを削除できます。スクリーンショットをご覧ください:

A screenshot of full names in Excel sorted alphabetically by last names using a helper column


 簡単な方法でフルネームを姓で並べ替える

数式に詳しくない場合でも、フルネームを苗字で並べ替える際に数式を使わずに済む方法があります。Kutools for Excel高度なソート機能(Advanced Sort)がそのお手伝いをします。

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

1. 並べ替えたいフルネームのセルを選択し、Kutools Plus 並べ替え高度な並べ替え をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションから選択し、「ソート基準」のドロップダウンリストから「」を選んでください。最後に、「順序」セクションで必要なソート順を指定します。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合、[データにヘッダーがある] オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of the Kutools Advanced Sort dialog configured to sort data by last names in Excel

3. 次に、[OK] ボタンをクリックすると、フルネームの列がすぐに姓でソートされます。

A screenshot of full names in Excel sorted alphabetically by last names using Kutools


3.4 メールアドレスをドメイン別に並べ替える

メールアドレスのリストがあり、それを単にアドレスの最初の文字ではなくドメインごとに並べ替えたい場合、Excelでこれをどのように実現すればよいでしょうか?このセクションでは、メールアドレスをドメインごとに並べ替えるためのいくつかの簡単な方法について説明します。

 ヘルパーカラムを使用してメールアドレスをドメイン別に並べ替える

ここでは、メールドメインを別の列に抽出する数式を作成し、新しいドメイン列に基づいて元のメールアドレスを並べ替えることができます。

1. メールアドレスの隣にある空白セルに次の数式を入力します。この例では、セルC2にこの数式を入力し、塗りつぶしハンドルをドラッグして数式を適用したい範囲を選択します。これにより、すべてのメールドメインがアドレスから抽出されます。スクリーンショットをご覧ください:

=RIGHT(B2,LEN(B2)-FIND("@",B2))

A screenshot of an Excel dataset with a helper column extracting domains from email addresses

2. 数式が含まれるセルを選択したまま、[データ] → 必要に応じて [A から Z へ並べ替え] または [Z から A へ並べ替え] をクリックします。[並べ替えの警告] ダイアログボックスで、[選択範囲を拡張する] をチェックしてください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort Warning dialog prompting to expand the selection when sorting by domains

3. そして、指定した昇順または降順でデータをメールドメイン別に並べ替えるために [Sort] ボタンをクリックします。

A screenshot of email addresses in Excel sorted by domains in alphabetical order

4. ソート後、必要に応じてヘルパーカラムを削除できます。


 数回のクリックでドメイン別にメールアドレスを並べ替え

Kutools for Excel をお持ちの場合、その Advanced Sort 機能を使用すると、メールアドレスをドメイン名でアルファベット順に数回のクリックだけで並べ替えることができます。

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

1. ソートしたいデータ範囲全体を選択し、次に [Kutools Plus] → [ソート] → [高度なソート] をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションから選択し、「ソート基準」のドロップダウンリストから「メールドメイン」を選択します。最後に、「順序」セクションで必要なソート順を指定します。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合、[データにヘッダーがある] オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of the Kutools Advanced Sort dialog configured to sort email addresses by domains in Excel

3. 「OK」をクリックすると、データ範囲がメールドメイン別にソートされ、以下のスクリーンショットのように表示されます。

A screenshot of email addresses in Excel sorted alphabetically by domains using Kutools


3.5 ある列を別の列に合わせてソートする

2つの列にまったく同じまたはほぼ同じデータがあり、順序が異なる場合、これらの列を並べ替えて、同じ値が2つの列で同じ行に揃うようにする必要があるかもしれません。このセクションでは、この種の並べ替えに関する2つのケースを紹介します。

 同じ項目を持つ2つの列を一致させるために並べ替えます

例えば、同じ項目を含むが順序が異なる2つの列があり、ここで、次のスクリーンショットに示すように、2番目の列を1番目の列に一致するように並べ替えたいとします。

A screenshot of two columns with identical items in different orders, ready to be matched in Excel

1. 元のデータの隣にある空白セルに以下の数式を入力し、塗りつぶしハンドルをドラッグしてこの数式をリスト内のすべてのセルに適用します。これにより、列Bの各値が列Aに対してどの位置にあるかが返されます。スクリーンショットをご覧ください:

=MATCH(B2,$A$2:$A$10,0)

A screenshot of Excel showing a helper column using the MATCH formula to align two columns

2. 次に、列Bと新しいヘルパーカラムを選択し、[データ] > [並べ替え] をクリックして [並べ替え] ダイアログボックスを開きます。[並べ替え] ダイアログボックスで、次の操作を行います:

  • データの並べ替えを基にするヘルパーカラムを「」セクションから選択します。
  • 次に、[ソート基準] セクションで [ セルの値] を選択します。
  • 最後に、「順序」セクションで「最小から最大へ」オプションを選択します。

A screenshot of Excel's Sort dialog configured to align two columns based on a helper column

3. そして、[OK] ボタンをクリックします。これで、下のスクリーンショットのように2つの列が完全に一致します。必要に応じて、数式の列を削除できます。

A screenshot of two columns in Excel successfully matched by sorting with a helper column


 完全に同じ項目ではない2つの列を一致させるために並べ替えます

時々、2つの列の項目が完全に同じではない場合があります。例えば、2列目のデータを1列目と一致するように並べ替えたいのですが、これにより同じ値が同じ行に揃うようにしたいのです(以下のスクリーンショット参照)。

A screenshot of two columns with non-identical items, ready to be matched in Excel

1. 2列の間に新しい空白列を挿入します。

2. 以下の数式をセル B2 に入力し、その後、フィルハンドルをドラッグしてこの数式を必要なセルに適用します。これで、列 C のデータが列 A のデータと一致するように並べ替えられたことが確認できます。

=IF(ISNA(MATCH(A2,$C$2:$C$8,0)),"",INDEX($C$2:$C$8,MATCH(A2,$C$2:$C$8,0)))

A screenshot of two columns in Excel aligned by inserting a blank column and using a formula


3.6 データリストから一意の値をソートして抽出

重複を含む値のリストがあり、その中から一意の値を抽出してアルファベット順に並べ替えたい場合(下のスクリーンショットを参照)、ここではそのような並べ替えを行うためのいくつかの数式を紹介します。

A screenshot of an Excel list with duplicates, ready for sorting and extracting unique values

1. 次の数式を空白のセル(C2)に入力し、Ctrl + Shift + Enterキーを押して最初の結果を得てください。スクリーンショットをご覧ください:

=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,"<"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")

: 式の中で、A2:A12は一意の値を抽出したいデータリストであり、C1は配置した式の上のセルです。必要に応じてこれらを変更してください。

A screenshot of unique values being extracted and sorted in Excel using a formula

2. 次に、空白セルが表示されるまでフィルハンドルをドラッグして値を抽出すると、すべての一意の値が昇順で抽出され並べ替えられます。スクリーンショットをご覧ください:

A screenshot of an Excel column with unique values sorted alphabetically

ヒント:

1. 抽出した一意の値を降順で並べ替えたい場合は、以下の数式を適用してください。(Ctrl + Shift + Enter キーを押すことを忘れないでください)

=IFERROR(INDEX($A$2:$A$12,MATCH(0,COUNTIF($A$2:$A$12,">"&$A$2:$A$12)-SUM(COUNTIF($A$2:$A$12,"="&C$1:C1)),0)),"")

2. データリストに空白セルや数値が含まれている場合、上記の数式は機能しません。この場合、次の数式を使用する必要があります。(Ctrl + Shift + Enterキーを押すことを忘れないでください)

=IFERROR(SMALL(IF((COUNTIF($C$1:C1,$A$2:$A$12)=0)*ISNUMBER($A$2:$A$12),$A$2:$A$12,"A"),1),INDEX($A$2:$A$12,MATCH(SMALL(IF(ISTEXT($A$2:$A$12)*(COUNTIF(C1:$C$1,$A$2:$A$12)=0),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),1),IF(ISTEXT($A$2:$A$12),COUNTIF($A$2:$A$12,"<"&$A$2:$A$12),""),0)))

A screenshot of unique numeric values being extracted and sorted in Excel using an advanced formula


3.7 複数の行または列を一度に独立して並べ替え

1行または1列に基づいてデータの範囲を並べ替えるのは簡単ですが、時には範囲内の各行または列を独立してアルファベット順に並べ替えたい場合があります。Excelでこのタスクを実現するにはどうすればよいでしょうか?

 複数の行を個別に並べ替える

各行のデータをアルファベット順に並べ替える必要がある場合、以下のスクリーンショットのような状況を想定してください。この問題を解決するために、ここでは2つの簡単な方法をご紹介します。

A screenshot of multiple rows in Excel to be sorted independently

数式を使用して複数の行を一度に独立して並べ替える

1. 並べ替えた結果を取得したい別の場所に行ラベルをコピーします。

2. そして、次の数式を空白のセル(H2)にコピーまたは入力し、Ctrl + Shift + Enterキーを同時に押して最初の結果を得ます。スクリーンショットをご覧ください:

=INDEX($B2:$E2, MATCH(COLUMNS($B2:B2), COUNTIF($B2:$E2, "<="&$B2:$E2), 0))

A screenshot showing the formula applied to sort the first row independently in Excel

3. 次に、数式セル H2 を選択し、フィルハンドルを右方向にドラッグして数式を最初の行の他のセルにコピーします。この例では、セル K2 までドラッグします。スクリーンショットをご覧ください:

A screenshot showing sorted values in the first row of an Excel table using a formula

4. 最初の行(H2:K2)にある数式セルを選択し続け、フィルハンドルを下にドラッグして他の行に数式をコピーします。これで、各行の値が個別に昇順で並べ替えられたことが確認できます。

A screenshot of multiple rows sorted independently in Excel using a formula


VBAコードを使用して複数の行を一度に独立して並べ替える

次のVBAコードも、各行のデータをアルファベット順に簡単に並べ替えるのに役立ちます。以下の手順で行ってください:

1. 各行で並べ替えたいデータを選択します。

2. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。

3. 次に、 [挿入] > [モジュール] をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード:複数の行を一度に独立して並べ替える

Sub SortIndividualR()
'Updateby Extendoffice
    Dim xRg As Range, yRg As Range
    If TypeName(Selection) <> "Range" Then Exit Sub
    Set xRg = Selection
    If xRg.Count = 1 Then
        MsgBox "Select multiple cells!", vbExclamation, "Kutools for Excel"
        Exit Sub
    End If
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
    End With
    Application.ScreenUpdating = False
    For Each yRg In xRg.Rows
        yRg.Sort Key1:=yRg.Cells(1, 1), _
        Order1:=xlAscending, _
        Header:=xlNo, _
        Orientation:=xlSortRows
    Next yRg
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
    Application.ScreenUpdating = True
End Sub

4. 次に、 F5キーを押してこのコードを実行すると、各列のデータがすぐに昇順で並べ替えられます。スクリーンショットをご覧ください:

A screenshot of multiple rows sorted independently in Excel using VBA code


 複数列を個別に並べ替え

各列のデータを個別に並べ替えるには、次の2つの方法が役立ちます。

数式を使用して複数の列を一度に独立して並べ替える

1. 並べ替えた結果を取得したい別の場所に列ラベルをコピーします。

2. 次に、空白のセル(F3)に以下の数式を入力し、Ctrl + Shift + Enterキーを同時に押して最初の結果を得ます。その後、フィルハンドルを下にドラッグしてこの数式を他の行にコピーしてください。スクリーンショットをご覧ください:

=INDEX(A$3:A$6,MATCH(ROWS(A$3:A3),COUNTIF(A$3:A$6,"<="&A$3:A$6),0))

A screenshot showing the formula applied to sort the first column independently in Excel

3. 最初の行(F3:F6)にある数式セルを選択したまま、フィルハンドルを右方向にドラッグして他の列に数式をコピーします。これで、各列の値が個別に昇順で並べ替えられます(下のスクリーンショット参照)。

A screenshot of multiple columns sorted independently in Excel using a formula


VBAコードを使用して複数の列を一度に独立して並べ替える

複数の列のデータを個別に並べ替えるには、次のVBAコードも役立ちます。以下のように操作してください:

1. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 次に、[挿入] > [ モジュール] をクリックし、次のコードをモジュールウィンドウに貼り付けます。

VBAコード:複数列を一度に独立して並べ替え

Sub SortIndividualJR()
'Updateby Extendoffice
    Dim xRg As Range
    Dim yRg As Range
    Dim ws As Worksheet
    Set ws = ActiveSheet
    On Error Resume Next
    Set xRg = Application.InputBox(Prompt:="Range Selection:", _
                                    Title:="Kutools for excel", Type:=8)
    Application.ScreenUpdating = False
    For Each yRg In xRg
        With ws.Sort
            .SortFields.Clear
            .SortFields.Add Key:=yRg, Order:=xlAscending
            .SetRange ws.Range(yRg, yRg.End(xlDown))
            .Header = xlNo
            .MatchCase = False
            .Apply
        End With
    Next yRg
    Application.ScreenUpdating = True
End Sub

3. 次に、このコードを実行するために [F5] キーを押すと、プロンプトボックスが表示されます。ソートしたいデータ範囲を選択してください。スクリーンショットをご覧ください:

A screenshot showing the VBA prompt for selecting a range to sort multiple columns independently in Excel

4. そして、「OK」をクリックすると、各列が個別に迅速に並べ替えられます。

A screenshot of multiple columns sorted independently in Excel using VBA code


3.8 Excelでデータをランダムに並べ替える

データを昇順または降順でアルファベット順に並べ替えるのは一般的ですが、選択した範囲内のデータをランダムに並べ替えたことはありますか?このセクションでは、セルの範囲をランダムな順序でシャッフルする方法について説明します。

 ヘルパー列を使用してデータの列をランダムに並べ替える

通常、RAND関数を使用して乱数を取得し、その乱数リストに基づいてデータを並べ替えることができます。以下のように操作してください:

1. データの隣にある空白セルにこの数式「=RAND()」を入力し、下にフィルハンドルをドラッグして次のスクリーンショットのようにランダムな数字のリストを作成します。

A screenshot of a column in Excel with random numbers generated for sorting

2. 引き続き数式セルを選択し、必要に応じて [データ] をクリックして [A から Z へ並べ替え] または [Z から A へ並べ替え] を選択します。表示される [並べ替えの警告] ダイアログボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog used to shuffle data based on random numbers

3. そして、[ソート] ボタンをクリックすると、データリストがすぐにシャッフルされます。スクリーンショットをご覧ください:

A screenshot showing data shuffled randomly in Excel using a helper column


 驚きの機能でセル、行、または列をランダムに並べ替え

Kutools for Excel は、強力な機能である「範囲をランダムに並び替え」をサポートしています。この機能を使用すると、セルの範囲内のデータをランダム化したり、選択範囲の各列や行ごとにデータをランダム化したり、さらに一度にすべての行または列全体をランダム化することができます。

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

1. ランダムに並べ替えたいデータ範囲を選択し、次に [Kutools Plus] → [ソート] → [範囲をランダムに並べ替え] をクリックします。スクリーンショットをご覧ください:

A screenshot of the Kutools Sort Range Randomly feature in Excel

2. 「並び替え、選択、またはランダムに」ダイアログボックスの「ソート」タブで、必要な次のオプションのいずれかを選択してください:

  • すべての行:選択範囲内のすべての行をランダムにシャッフルします。
  • すべての列: 選択範囲内のすべての列をランダムにシャッフルします。
  • 各行のセル:各行のセルを個別にシャッフルします。
  • 各列のセル:各列のセルを個別にシャッフルします。
  • 選択範囲内のすべてのセル:選択した範囲内のすべてのセルをランダム化します。

A screenshot of options for sorting rows, columns, or cells randomly using Kutools

3. 次に、「 OK」ボタンをクリックすると、データが即座にランダム化されます。


3.9 月、日、または月と日に基づいて日付のリストをソートする

Excelで日付を並べ替える場合、[並べ替え] 機能はデフォルトで日付のリストを年、月、日の順に並べ替えますが、特定の状況では、年を無視して日付を月または日、あるいは月と日で並べ替えたい場合があります。この問題をExcelでどのように解決すればよいでしょうか?

 ヘルパー列を使用して日付のリストを月または日でソートする

日付を月または日に基づいてソートするには、日付から月または日の番号を抽出し、抽出した月または日の番号の列に基づいて日付をソートします。

1. ご使用のデータの隣にある空白セルに以下の数式を入力し、塗りつぶしハンドルを下にドラッグしてこの数式を他のセルにコピーしてください。スクリーンショットをご覧ください:

=MONTH(B2) (月番号を抽出)
=DAY(B2)
(日数を抽出)

A screenshot of Excel showing extracted months from dates for sorting

2. 月または日の番号が返された後、引き続き数式セルを選択し、必要に応じて [データ] > [A から Z へ並べ替え] または [ Z から A へ並べ替え] をクリックします。表示される [並べ替えの警告] ダイアログボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog to organize dates by extracted months

3. 次に、「並べ替え」ボタンをクリックすると、年と日を無視して日付が月別に並べ替えられます。スクリーンショットをご覧ください:

A screenshot of a list of dates sorted by month in Excel, ignoring year and day


 数回のクリックで日付のリストを月または日で並べ替える

Kutools for Excel をお持ちの場合、その Advanced Sort 機能を使用すると、数回のクリックで日付のリストを月または日のみで並べ替えることができます。

Kutools for Excel - Excel向けの300以上の必須ツールを搭載。永久に無料のAI機能をお楽しみください!今すぐダウンロード!

1. ソートしたいデータ範囲を選択し、次に Kutools Plus > ソート > 高度なソート をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションから選択し、「ソート基準」のドロップダウンリストから「」または「」を選択します。最後に、「順序」セクションで必要なソート順を指定します。

ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがあります」のオプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Kutools' Advanced Sort dialog sorting dates by month in Excel

3. 次に、[ OK] ボタンをクリックすると、年を無視して指定した月または日に基づいてデータが並べ替えられます。スクリーンショットをご覧ください:

A screenshot of a list of dates sorted by month in Excel using Kutools


 ヘルパー列を使用して日付のリストを月と日で並べ替える

これで、年を除いて日付のリストを月と日だけで並べ替える必要がある場合、TEXT関数を使用して日付を指定された形式のテキスト文字列に変換し、その後、必要なように並べ替え機能を適用できます。

1. データの隣にある空白セルに以下の数式を入力し、その数式をデータの最後までコピーすると、月と日が下のスクリーンショットに示すようにテキスト文字列として抽出されます。

=TEXT(B2,"MMDD")

A screenshot of Excel extracting month and day from dates using the TEXT function

2. 数式が含まれるセルを選択したまま、[ データ] → 必要に応じて [AからZへ並べ替え] または [ZからAへ並べ替え] をクリックします。表示される [並べ替えの警告] ダイアログボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog to organize dates by month and day only

3. 次に、「ソート」ボタンをクリックすると、データが月と日だけでソートされます。

A screenshot of a list of dates sorted by month and day in Excel using a helper column


3.10 曜日に基づいて日付のリストを並べ替える

曜日に基づいて日付のリストを並べ替えるとは、月曜日から日曜日、または日曜日から土曜日の順に日付をソートすることを意味します。このセクションでは、Excelでこのタスクを完了するための2つの方法を紹介します。

 ヘルパー列を使用して日付のリストを曜日で並べ替える

曜日ごとに日付を並べ替える場合、曜日に応じた番号を返すための補助列が必要です。その後、その補助列を使って日付を並べ替えます。

1. 以下の数式を空白のセルに入力またはコピーし、塗りつぶしハンドルを下にドラッグしてこの数式を他のセルにコピーしてください。スクリーンショットをご覧ください:

=WEEKDAY(B2)(日曜日(1)から土曜日(7)まで)
=WEEKDAY(B2,2)       
(月曜日(1)から日曜日(7)まで)

A screenshot of Excel showing WEEKDAY formulas extracting weekday numbers from dates

2. 数式が含まれるセルを選択したまま、[データ] → 必要に応じて [A から Z へ並べ替え] または [Z から A へ並べ替え] をクリックします。表示される [並べ替えの警告] ダイアログボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog sorting dates based on weekday numbers

3. そして、必要な並べ替え結果を得るために [Sort] ボタンをクリックします。スクリーンショットをご覧ください:

A screenshot of Excel showing a list of dates sorted by days of the week


 簡単なオプションで曜日順に日付リストを並べ替える

Kutools for ExcelAdvanced Sort機能を使用すると、ヘルパー数式を一切使用せずに、この問題をできるだけ迅速に解決できます。

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

1. ソートするデータ範囲を選択し、次に [Kutools Plus] → [ ソート] → [高度なソート] をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションから選択し、「ソート基準」のドロップダウンリストから「曜日」を選んで、最後に「順序」セクションで必要なソート順を指定します。

ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがあります」オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Kutools' Advanced Sort feature with an option to sort by day of the week

3. 次に、[OK] ボタンをクリックすると、データは必要に応じて曜日順に並べ替えられます。スクリーンショットをご覧ください:

A screenshot of Excel showing dates sorted by days of the week using Kutools


3.11 四半期に基づいて日付のリストを並べ替える

このセクションでは、年を無視して日付のリストを四半期ごとに並べ替える方法について説明します。2つのテクニックをご紹介します。

 補助列を使用して日付のリストを四半期順に並べ替える

上記の解決策と同様に、指定された日付から四半期の番号を抽出するための関数ヘルパーカラムを作成し、その後、この新しいヘルパーカラムに基づいて日付をソートする必要があります。

1. 以下の数式を空白のセルに入力またはコピーし、塗りつぶしハンドルを下にドラッグして他のセルにこの数式をコピーしてください。スクリーンショットをご覧ください:

=ROUNDUP(月(B2)/3,0)

A screenshot of Excel with a helper column showing quarter numbers extracted from dates

2. 引き続き数式セルを選択し、必要に応じて [データ] → [A から Z へ並べ替え] または [Z から A へ並べ替え] をクリックします。表示される [並べ替えの警告] プロンプトボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog sorting dates based on extracted quarter numbers

3. そして、 ソート ボタンをクリックすると、データ範囲が四半期別にソートされます(以下のスクリーンショット参照):

A screenshot showing a list of dates sorted by quarter in Excel


 便利な機能を使用して日付のリストを四半期ごとに並べ替える

Kutools for Excelがインストールされている場合、高度なソート機能を使用すると、このタスクを数回のクリックで解決できます。

1. ソートしたいデータ範囲を選択し、次に [Kutools Plus] → [ソート] → [高度なソート] をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションから選択し、「ソート基準」のドロップダウンリストから「四半期」を選択します。最後に、「順序」セクションで必要なソート順を指定します。

ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがある」オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Kutools' Advanced Sort feature used to sort dates by quarter in Excel

3. 最後に、[OK] ボタンをクリックすると、選択した範囲が四半期ごとに必要な順序で並べ替えられます。


3.12 月名または曜日名に基づいてデータを並べ替える

月名がテキストとしてリスト化されている場合、それらを並べ替えると、1月から12月までの月順ではなく、アルファベット順に整理されます。月名を1月から12月の順に並べ替える必要がある場合、並べ替え機能内のカスタムソートを利用すると便利です。

1. 月名に基づいて並べ替えたいデータ範囲を選択し、次に [データ] > [並べ替え] をクリックして [並べ替え] ダイアログボックスを開きます。

2. [ソート] ダイアログ ボックスで、[列] セクションで月名を含む列名を選択し、[ソート基準] セクションで [セルの値] を選択し、最後に [順序] セクションで [カスタムリスト] を選択します。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合、[データにヘッダーがある] オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Excel's Sort dialog showing custom list selection

3. 次に、表示された「カスタムリスト」ダイアログボックスで、ワークシート内の月の表示形式に基づき、完全な月名(1月、2月、3月、…)または略称(1月、2月、3月…)を選択してください。スクリーンショットをご覧ください:

A screenshot of the Custom List dialog in Excel with month names selected

4. そして、[OK] > [OK] をクリックしてダイアログを閉じます。これで、データが月名の時系列順に並べ替えられました。下のスクリーンショットのように表示されます。

A screenshot of sorted data arranged by month names in chronological order

ヒント: 曜日名で並べ替えるには、必要に応じて「カスタムリスト」ダイアログボックスで完全な名前(日曜日、月曜日、火曜日、…)または短縮名(日、月、火…)を選択してください。


3.13 奇数または偶数に基づいてデータを並べ替える

Excelで数字を昇順または降順に並べ替えるのは簡単かもしれませんが、リスト内の数字を奇数から偶数、または偶数から奇数に並べ替えたことはありますか?このセクションでは、そのような操作を行うためのいくつかの方法を紹介します。

 ヘルパー列を使用して奇数または偶数でデータを並べ替える

数字のリストを奇数または偶数で並べ替えるには、奇数または偶数を識別するための数式を作成し、その後でソート機能を適用する必要があります。

1. 数字のリストの隣に、空白のセルにこの数式 =ISODD(A2) を入力し、他のセルに数式をコピーするためにドラッグしてください。これで TRUE と FALSE が表示されます。TRUE は奇数を、FALSE は偶数を示します。

A screenshot of Excel showing the ISODD formula identifying odd and even numbers

2. 引き続き数式セルを選択し、必要に応じて [データ] をクリックして [昇順] または [降順] を選択します。表示される [並べ替えの警告] ダイアログボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog sorting numbers by odd and even values

3. そして [Sort] ボタンをクリックすると、すべての偶数が一緒に 並べ替えられ、その後に奇数が続くか、またはその逆になります。スクリーンショットをご覧ください:

A screenshot of a sorted list where numbers are grouped by odd or even values


 奇数または偶数でデータを並べ替える便利な機能

Kutools for ExcelのAdvanced Sort機能を使用すると、奇数から偶数、またはその逆の順に数字を迅速に並べ替えることができます。

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

1. 並べ替えたいデータ範囲を選択し、次に [Kutools Plus] → [並べ替え] → [高度な並べ替え] をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションからクリックし、「ソート基準」セクションで「偶数と奇数」を選択します。その後、ソート順を指定します(A から Z は偶数から奇数へのソート、Z から A は奇数から偶数へのソート)。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがあります」オプションがチェックされていることを確認してください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Kutools' Advanced Sort feature with an option to sort by odd and even numbers

3. そして、[OK] ボタンをクリックすると、次の結果が得られます。

A screenshot showing numbers sorted by odd and even values using Kutools


3.14 絶対値に基づいてデータを並べ替える

列に正の数と負の数が共に存在する場合、Excelではデフォルトで昇順または降順に数字が並べられます。しかし、特定の場合、データをソートする際に負の符号を無視したい場合があります。つまり、絶対値で数字をソートするということです。このタスクをExcelでどのように実現すればよいでしょうか?

 ヘルパー列を使用して絶対値でデータを並べ替える

数値を絶対値で並べ替えるには、通常、まずすべての値を絶対値に変換する数式を作成し、その後で並べ替え機能を使用して数値を並べ替える必要があります。

1. 隣接する空白セル(例:B2)に、この数式 =ABS(A2) を入力し、塗りつぶしハンドルをドラッグしてこの数式を他のセルにコピーします。これで、すべての値が絶対値に変換されたことが確認できます。

A screenshot of Excel showing the ABS formula to convert numbers to absolute values

2. 数式が含まれるセルを選択したまま、[データ] → 必要に応じて [ A から Z へ並べ替え] または [Z から A へ並べ替え] をクリックします。表示される [並べ替えの警告] ダイアログボックスで、[選択範囲を拡張する] を選択してください。スクリーンショットをご覧ください:

A screenshot of Excel's Sort dialog for sorting numbers based on absolute values

3. 次に「並べ替え」ボタンをクリックすると、すべての数値が以下のスクリーンショットのように絶対値で並べ替えられます。

A screenshot showing numbers sorted by absolute values in Excel


 便利なオプションを使用して絶対値でデータを並べ替え

ヘルパ列の作成に疲れた場合、ここではKutools for Excelをお勧めします。高度なソート機能を使用すると、数値を絶対値で直接かつ簡単に並べ替えることができます。

Kutools for Excel - Excel向けの300以上の必須ツールを搭載。永久に無料のAI機能をお楽しみください!今すぐダウンロード!

1. 並べ替えたいデータ範囲を選択し、次に [Kutools Plus] → [並べ替え] → [高度な並べ替え] をクリックします。

2. 「高度なソート」ダイアログボックスで、ソートしたい列を「」セクションからクリックし、「ソート基準」セクションで「絶対値」を選択して、ソート順を指定します。スクリーンショットをご覧ください:

ヒント: データにヘッダーが含まれている場合は、「データにヘッダーがある」にチェックを入れてください。データにヘッダーがない場合は、チェックを外してください。

A screenshot of Kutools' Advanced Sort feature sorting numbers by absolute values

3. 次に、[OK] をクリックすると、負の符号を無視して、すべての数字が最小から最大、または最大から最小の値で並べ替えられます。


データを入力または変更するときに自動的にデータを並べ替える

Excelの並べ替え機能は動的ではないため、データが変更されるたびや新しいデータが追加されるたびに再び並べ替える必要があります。このセクションでは、データ範囲に新しい値が追加されるたびにデータを自動的に並べ替える方法について説明します。


4.1 数式を使用して列内の数値を自動的に並べ替える

数値のリストを昇順または降順で自動的に並べ替えるには、LARGE関数、SMALL関数、およびROW関数に基づいた数式を使用できます。

1. ご使用の元データの隣にある空白セルに以下の数式を入力またはコピーし、その後、この数式を適用したいセルまでフィルハンドルを下にドラッグすると、数字が最小値から最大値の順に並べ替えられます。スクリーンショットをご覧ください:

=IFERROR(SMALL($A$2:$A$100,ROWS(B$2:B2)),"")

: この数式では、A2:A100 は自動的に並べ替えたい数値のリストで、新しい入力用にいくつかの空白セルを含んでいます。B2 は数式を入力するセルです。

A screenshot of an Excel column showing automatically sorted numeric values using a formula

2. これで、ソースデータを変更したり新しいデータを入力すると、以下に示すデモのように並べ替えられたリストが自動的に更新されます。

A demonstration gif of auto-sorting numbers in Excel using a formula

ヒント: 数値を降順で自動的に並べ替えるには、以下の数式を適用してください。

=IFERROR(LARGE($A$2:$A$100,ROWS(B$2:B2)),"")


4.2 数式を使用して列内のテキスト値を自動的に並べ替える

列内のテキスト値を自動的に並べ替えたい場合、上記の数式は機能しません。ここで、別の数式が役立つかもしれません。次の手順で行ってください:

1. データ列の隣にある空白セルに以下の数式を入力またはコピーし、最初のテキストを取得するために Ctrl + Shift + Enter キーを同時に押します。その後、数式セルを選択し、並べ替えたいセルまでフィルハンドルをドラッグしてください。スクリーンショットをご覧ください:

=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")

A screenshot of Excel column showing text strings auto-sorted in ascending order with a formula

2. 今後、列Aに値を入力したり元のデータを変更すると、列Bの文字列は自動的に昇順で並べ替えられます。以下のデモをご覧ください:

A demonstration gif of text auto-sorting in Excel using a formula

ヒント: テキスト文字列を降順で自動的に並べ替えるには、以下の数式を適用してください(Ctrl + Shift + Enterキーを押すことを忘れないでください):

=IFERROR(INDEX($A$2:$A$100,MATCH(ROWS($A$2:A2),COUNTIF($A$2:$A$100,">="&$A$2:$A$100),0)),"")


4.3 VBAコードを使用して列内の数値とテキスト値の混合を自動的に並べ替える

列に数値とテキストの両方がある場合、データの一覧を自動的に並べ替えるには、以下のVBAコードが役立つかもしれません。

1. 自動的にデータをソートしたいシートタブを右クリックし、コンテキストメニューから「コードの表示」を選択します。開かれた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で自動的に並べ替えられます。A1はヘッダー、A2はデータリストの最初のセルです。

A screenshot of Excel VBA editor with a code snippet for auto-sorting data

2. その後、コードウィンドウを保存して閉じます。これで、列Aに新しいデータを入力したり、元のデータを変更したりすると、データは自動的に昇順で並べ替えられます。以下のデモをご覧ください:

A demonstration gif showing VBA auto-sorting data in Excel as values change

ヒント: データのリストを降順で並べ替えたい場合は、次のコードを適用してください。

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:=xlDescending, Header:=xlYes, _
                                        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

その他の並べ替えケース

日々の業務では、さまざまな並べ替えの需要に直面するかもしれません。このセクションでは、セル内のデータの並べ替え、列または行のデータを逆順に並べ替えるなど、その他の並べ替え方法をいくつか紹介します。


5.1 セル内のデータを並べ替える

単一のセル内のテキスト文字列をアルファベット順に並べ替える場合、例えば「HDAW」というテキストを「ADHW」に並べ替える場合や、カンマで区切られた複数の単語をセル内で並べ替える場合(例: 「word, outlook, excel, access」を「access, excel, outlook, word」に並べ替える)があります。このセクションでは、Excelでこのようなタイプの並べ替えを解決する方法について説明します。

 セル内の文字列値をアルファベット順に並べ替える

セル内の文字列値をアルファベット順に並べ替えるには、ユーザー定義関数を作成する必要があります。以下の手順で行ってください。

1. ALT + F11 キーを押しながら押して、 Microsoft Visual Basic for Applications ウィンドウを開きます。

2. [挿入] をクリックし、[モジュール] を選択して、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: セル内のテキスト値をソートする

Function SortCellContents(xRange As Range)
'Updateby Extendoffice
Dim xArr
Dim xF1, xF2 As Integer
Dim xStrValue As String
Dim xStrT As String
If xRange.Count <> 1 Then
    Exit Function
End If
xStrValue = xRange.Value
ReDim xArr(1 To Len(xStrValue))
For xF1 = 1 To UBound(xArr)
    xArr(xF1) = Mid(xStrValue, xF1, 1)
Next
For xF1 = 1 To UBound(xArr)
    For xF2 = xF1 To UBound(xArr)
        If Asc(xArr(xF2)) < Asc(xArr(xF1)) Then
            xStrT = xArr(xF2)
            xArr(xF2) = xArr(xF1)
            xArr(xF1) = xStrT
        End If
    Next xF2
Next xF1
SortCellContents = Join(xArr, "")
End Function

3. その後、このコードを保存して閉じ、ワークシートに戻ります。そして、結果を返すための空白セルにこの数式 =SortCellContents(A2) を入力し、フィルハンドルを下にドラッグして数式を他のセルにコピーすると、セル内のすべてのテキスト値がアルファベット順に並べ替えられます。スクリーンショットをご覧ください:

A screenshot showing string values sorted alphabetically within Excel cells using VBA


 セル内の区切り文字で分かれたテキスト文字列をアルファベット順に並べ替えます

セル内に特定の区切り文字で分かれた複数の単語がある場合、それらをセル内でアルファベット順に並べ替えるには、以下のユーザー定義関数が役立ちます。

1. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 挿入 をクリックし、モジュール を選択して、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: セル内のコンマで区切られたテキスト文字列をソート

Function SortCellWithSeparator(CellAddress As Range, DelimiterChar As String, IncludeSpaces As Boolean) As String
'Updateby Extendoffice
Dim xRg As Range
Dim xString As String
Dim xF1, xF2 As Integer
Dim xSArr
Dim xStrT As String
Dim xStrValue As String
Set xRg = CellAddress
xStrValue = WorksheetFunction.Substitute(xRg.Value, " ", "")
xSArr = Split(xStrValue, DelimiterChar)
    For xF1 = 0 To UBound(xSArr)
        For xF2 = xF1 + 1 To UBound(xSArr)
                If xSArr(xF2) < xSArr(xF1) Then
                    xStrT = xSArr(xF2)
                    xSArr(xF2) = xSArr(xF1)
                    xSArr(xF1) = xStrT
                End If
        Next xF2
    Next xF1
xStrValue = ""
For xF1 = 0 To UBound(xSArr)
    xStrValue = xStrValue & xSArr(xF1) & DelimiterChar
Next xF1
SortCellWithSeparator = xStrValue
SortCellWithSeparator = Left(SortCellWithSeparator, Len(SortCellWithSeparator) - 1)
If IncludeSpaces = True Then SortCellWithSeparator = WorksheetFunction.Substitute(SortCellWithSeparator, ",", ", ")
End Function

3. その後、このコードを保存して閉じ、ワークシートに戻ります。結果を返す空白のセルにこの数式 =SortCellWithSeparator(A2,",",TRUE) を入力し、塗りつぶしハンドルを下にドラッグして数式を他のセルにコピーすると、セル内のすべての文字列がアルファベット順に並べ替えられます。スクリーンショットをご覧ください:

: テキスト文字列が他の区切り文字で分かれている場合、この数式のカンマを自分の区切り文字に変更するだけで済みます。

A screenshot showing text strings separated by delimiters sorted alphabetically within Excel cells using VBA


5.2 列または行のデータの順序を逆にする/反転する

場合によっては、垂直方向のデータ範囲ではデータを上下逆に、水平方向のデータ範囲では左から右に並べ替える必要があるかもしれません。このセクションでは、Excelでこのタスクを解決するための3つの方法をご紹介します。

 数式を使用して列または行のデータの順序を逆にしたり反転させたりする

次の数式を使用すると、列または行のデータの順序を反転できます。以下のように操作してください:

列内のデータの順序を反転する

結果を表示したい空白のセルに次の数式を入力またはコピーし、塗りつぶしハンドルを下にドラッグして、セルの値を逆順で返してください。スクリーンショットをご覧ください:

=OFFSET($A$10,-(ROW(A1)-1),0)

: 上記の数式では、A1は最初のセルで、A10は列の最後のセルです。

A screenshot of Excel flipping the order of data in a column using a formula


行内のデータの順序を反転する

次の数式を適用して、行内のデータの順序を水平方向に反転します:

=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)

: 上記の数式では、A1は行の最初のセルであり、1:1はデータが存在する行番号です。データが10行目にある場合は、それを10:10に変更する必要があります。

次に、すべての値が抽出されるまでフィルハンドルを右にドラッグすると、すべてのデータが水平方向に反転されます。スクリーンショットをご覧ください:

A screenshot of Excel flipping the order of data in a row using a formula


 VBAコードを使用して複数の列または行のデータ順序を逆転/反転させる

上記の数式は、単一の列または行に対してのみ適切に機能します。複数の列や行に逆順にするデータがある場合、次のVBAコードが役立ちます。

セルの範囲内のデータを垂直方向に順序を反転する

1. まず、元のデータをバックアップし、次に ALT + F11 キーを押して Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 挿入 をクリックし、モジュール を選択して、次のコードをモジュールウィンドウに貼り付けます。

VBAコード: 範囲内のセルを垂直方向に逆順で反転

Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

3. 次に、F5キーを押してこのコードを実行すると、垂直方向に反転したいデータ範囲を選択するよう求めるプロンプトボックスが表示されます。スクリーンショットをご覧ください:

A screenshot of the Excel VBA prompt for flipping data vertically in a selected range

4. 次に、[OK] ボタンをクリックすると、データ範囲が以下のように垂直方向に反転します。

A screenshot showing reversed vertical data range in Excel after running VBA code


セル範囲内のデータの順序を水平方向に反転する

データ範囲を水平方向に反転するには、以下のVBAコードを適用してください:

VBAコード: 範囲内のセルを垂直方向に逆順で反転

Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

このコードを実行すると、行のデータが水平方向に反転されます。スクリーンショットをご覧ください:

A screenshot showing reversed horizontal data range in Excel after running VBA code


 たった1回のクリックで列または行のデータ順序を逆にしたり反転させたりします。

Kutools for Excel をお持ちの場合、その Flip Vertical RangeFlip Horizontal Range 機能を使用すると、セルの範囲を上下または左右にワンクリックで反転できます。

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

セルの範囲内のデータを垂直方向に順序を反転する

1. 反転したいデータ範囲を選択し、次に [Kutools] → [ 範囲] → [範囲を垂直に反転] → [すべて / コンテンツのみを反転] をクリックします。スクリーンショットをご覧ください:

ヒント: 「すべて」オプションを選択すると、すべてのセルの書式が同時に反転されます。「コンテンツのみを反転」を選択すると、セルの値のみが反転されます。

A screenshot showing Kutools' Flip Vertical Range option in Excel

2. その後、データ範囲は一度に垂直方向に反転されます。

A screenshot showing reversed vertical data in Excel using Kutools


セル範囲内のデータの順序を水平方向に反転する

1. データ範囲を選択し、次に Kutools > 範囲 > 範囲を水平に反転 > すべて / コンテンツのみを反転 をクリックします。スクリーンショットをご覧ください:

ヒント: 「すべて」オプションを選択すると、すべてのセルの書式が同時に反転します。「コンテンツのみを反転」を選択すると、セルの値のみが反転します。

A screenshot showing Kutools' Flip Horizontal Range option in Excel

2. その後、選択範囲内のすべてのセルの値が、以下のスクリーンショットに示すように、即座に水平方向に反転されます。

A screenshot showing reversed horizontal data in Excel using Kutools


5.3 Excelでワークシートタブをアルファベット順またはタブの色で並べ替える

仮に、ワークブック内に多数のワークシートが存在し、それらのシートタブをアルファベット順に並べ替えたり、タブの色に基づいて並べ替えたい場合、通常の方法(ドラッグ&ドロップ)では多くの時間を浪費することになります。このセクションでは、シートタブを昇順または降順で整理するためのいくつかの便利な方法について説明します。

 VBAコードを使用してワークシートタブをアルファベット順に並べ替える

次のVBAコードを使用すると、シートタブを昇順または降順でアルファベット順に並べ替えることができます。以下のように操作してください:

1. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 挿入 をクリックし、モジュール を選択してから、次のマクロをモジュールウィンドウに貼り付けます。

VBA: すべてのシートをアルファベット順に並べ替える

Sub SortWorkBook()
'Updateby Extendoffice
Dim xResult As VbMsgBoxResult
xTitleId = "KutoolsforExcel"
xResult = MsgBox("Click Yes to sort sheets in ascending order;" & Chr(10) & "Click No will sort in descending order", vbYesNoCancel + vbQuestion + vbDefaultButton1, xTitleId)
For i = 1 To Application.Sheets.Count
    For j = 1 To Application.Sheets.Count - 1
        If xResult = vbYes Then
            If UCase$(Application.Sheets(j).Name) > UCase$(Application.Sheets(j + 1).Name) Then
                Sheets(j).Move after:=Sheets(j + 1)
            End If
            ElseIf xResult = vbNo Then
                If UCase$(Application.Sheets(j).Name) < UCase$(Application.Sheets(j + 1).Name) Then
                    Application.Sheets(j).Move after:=Application.Sheets(j + 1)
            End If
        End If
    Next
Next
End Sub

3. 次に、このマクロを実行するために F5 キーを押します。表示される次のプロンプトボックスで、[はい] をクリックすると、すべてのワークシートが昇順のアルファベット順に並べ替えられます。[ いいえ] をクリックすると、必要に応じてすべてのワークシートが降順のアルファベット順に並べ替えられます。

A screenshot of VBA prompt for sorting Excel worksheet tabs alphabetically


 強力な機能を使用してワークシートタブをアルファベット順/英数字順に並べ替え

Kutools for Excelは、強力な機能である「シートの並べ替え」を提供します。この機能を使用すると、ワークシートをアルファベット順または英数字順に並べ替えたり、タブの色に基づいてシートを並べ替えたり、必要に応じてシートタブを逆順に並べ替えることができます。

Kutools for Excel - Excel向けの300以上の必須ツールを搭載。永久に無料のAI機能をお楽しみください!今すぐダウンロード!

1. シートタブを並べ替えたいワークブックを開き、次に Kutools Plus > ワークシート > すべてのシートを並べ替える をクリックします。スクリーンショットをご覧ください:

A screenshot showing Kutools Sort Sheets feature in Excel

2. 「シートを並べ替える」ダイアログボックスの右ペインで、アルファベット順に並べ替え正確な並べ替えなど、必要な並べ替えタイプを選択します。スクリーンショットをご覧ください:

A screenshot of the Sort Sheets dialog

3. 次に、[OK] ボタンをクリックすると、すべてのワークシートが指定したソートタイプに基づいて並べ替えられます。スクリーンショットをご覧ください:

A screenshot showing worksheets sorted alphabetically in Excel using Kutools


 VBAコードを使用してタブの色に基づいてワークシートタブを並べ替える

Excelでワークシートタブをアルファベット順に並べ替えるのは一般的ですが、タブの色に基づいてシートタブを並べ替えることを試したことはありますか?以下のVBAコードはこの問題を解決するのに役立つかもしれません。次の手順で行ってください:

1. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 挿入 をクリックし、モジュール を選択してから、次のマクロをモジュールウィンドウに貼り付けます。

VBA: シートタブの色に基づいてすべてのシートを並べ替える

Sub SortWorkBookByColor()
'Updateby20140624
Dim xArray1() As Long
Dim xArray2() As String
Dim n As Integer
Application.ScreenUpdating = False
If Val(Application.Version) >= 10 Then
    For i = 1 To Application.ActiveWorkbook.Worksheets.Count
        If Application.ActiveWorkbook.Worksheets(i).Visible = -1 Then
            n = n + 1
            ReDim Preserve xArray1(1 To n)
            ReDim Preserve xArray2(1 To n)
            xArray1(n) = Application.ActiveWorkbook.Worksheets(i).Tab.Color
            xArray2(n) = Application.ActiveWorkbook.Worksheets(i).Name
        End If
    Next
    For i = 1 To n
        For j = i To n
            If xArray1(j) < xArray1(i) Then
                temp = xArray2(i)
                xArray2(i) = xArray2(j)
                xArray2(j) = temp
                temp = xArray1(i)
                xArray1(i) = xArray1(j)
                xArray1(j) = temp
            End If
        Next
    Next
    For i = n To 1 Step -1
        Application.ActiveWorkbook.Worksheets(CStr(xArray2(i))).Move after:=Application.ActiveWorkbook.Worksheets(Application.ActiveWorkbook.Worksheets.Count)
    Next
End If
Application.ScreenUpdating = True
End Sub

3. 次に、F5キーを押してこのコードを実行すると、同じタブ色のシートが一緒に並べ替えられます。スクリーンショットをご覧ください:

A screenshot showing worksheets sorted by tab color in Excel after VBA execution


 驚きの機能を使用して、タブの色に基づいてワークシートタブを並べ替え

Kutools for Excelの「すべてのシートを並べ替える」機能を使用すると、ワークシートタブを色で簡単に迅速に並べ替えることができます。

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

1. Kutools Plus をクリックし、ワークシート > すべてのシートを並べ替える を選択して、「すべてのシートを並べ替える」ダイアログボックスを開きます。ダイアログボックスの右ペインにある「色による並べ替え」ボタンをクリックしてください。スクリーンショットをご覧ください:

A screenshot showing Kutools Color Sort option for sorting worksheet tabs by color

2. 次に、[OK] ボタンをクリックすると、同じタブ色のシートが以下のように一緒に配置されます。

A screenshot showing sorted worksheet tabs by color in Excel using Kutools

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

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ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%向上し、1日に何百回ものマウスクリックも削減できます!