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

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

Excelでデータを並べ替えるのは一般的で簡単な作業です。これは、選択した並べ替えの種類に基づいてデータを並べ替えるのに役立ちます。 通常、組み込みの並べ替え機能を使用すると、XNUMXつ以上の列で数値、テキスト文字列、日付と時刻を並べ替えることができます。 作成したカスタムリスト、またはセルの書式設定(フォントの色、背景色、アイコンなど)でデータをすばやく簡単に並べ替えることもできます。

これらの単純な並べ替えに加えて、日常業務で必要になる可能性のある、はるかに便利で複雑な並べ替えがあります。 このチュートリアルでは、Excelで問題を解決するためのさまざまな種類の並べ替えを紹介します。

目次:

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

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

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

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

5.ソートの他のケース


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

並べ替え機能を適用するために、Excelには並べ替えオプションにアクセスするためのいくつかの方法が用意されています。

1.1リボンの並べ替えボタン

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

並べ替える値が含まれている列のセルをクリックしてから、 且つ タブの 並べ替えとフィルター セクションをクリックします。 ZをZにソートする or ZをAにソートする ボタンを使用して、データをアルファベットの昇順または降順で並べ替えます。 スクリーンショットを参照してください:

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


1.2並べ替えダイアログボックス

並べ替えとフィルター のグループ 且つ タブ、別のものがあります 並び替え ボタン、スクリーンショットを参照してください:

これをクリックした後 並び替え ボタン、 並び替え 以下のスクリーンショットのようにダイアログボックスが表示されます。

そして、 並び替え ダイアログボックスでは、必要に応じてデータを並べ替えるための対応するルールを選択できます。

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


1.3 [フィルター]メニューの並べ替えオプション

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

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


1.4右クリックの並べ替えオプション

Excelでは、右クリックの並べ替えオプションを使用してデータをすばやく簡単に並べ替えたり、並べ替える値を含む列の任意のセルを右クリックしたりできます。コンテキストメニューで、XNUMXつの並べ替えオプションを使用できることがわかります。選択してください必要なものについては、スクリーンショットを参照してください。


ソートの基本的な使用法

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


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

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

1。 並べ替えるデータ範囲を選択し、をクリックします 且つ > 並び替え、スクリーンショットを参照してください:

2。 の中に 並び替え ダイアログボックスで、次の操作を実行します。

  • コラム セクションで、並べ替える列名を選択します。
  • 並べ替え セクション、選択 セル値 オプション;
  • 注文 セクションで、ソート順を指定します。 (テキスト文字列を並べ替えるには、を選択してください Zへ or ZからAへ; 番号リストを並べ替えるには、 最小から最大 or 最大から最小; 日付セルを並べ替えるには、 古い順 or 新しい順.)
  • ヒント:データにヘッダーがある場合は、 私のデータにヘッダーがあります チェックされます。 データにヘッダーがない場合は、チェックを外してください。

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


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

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

以下のスクリーンショットに示すように、いくつかのセルの色でフォーマットされたデータ範囲があるとします。たとえば、セルの色に基づいてデータを再配置する必要がある場合、明るい赤の行を上に配置し、次に光を配置します。黄色と水色の行。行をセルの色で並べ替えるには、次のようにします。

1。 セルの色に基づいて並べ替えるデータ範囲を選択し、をクリックします 且つ > 並び替え 並び替え ダイアログボックス。

2。 の中に 並び替え ダイアログボックスで、次の操作を指定します。

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

  • コラム セクション、選択 名前 または、色付きのセルがある他の列。 この例では、すべての列に色付きのセルがあり、任意の列名を選択できます。
  • 並べ替え セクションを選択してください セルの色 オプション;
  • 注文 セクションで、上または下に配置するセルの色をXNUMXつ選択します。

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

  • ヒント:データにヘッダーがある場合は、 私のデータにヘッダーがあります チェックされます。 データにヘッダーがない場合は、チェックを外してください。

3。 設定が終わったら、 OK ボタンをクリックすると、データ範囲が指定したセルの色で並べ替えられます。スクリーンショットを参照してください。

ヒント:上記の手順に従って、フォントの色またはセルアイコンに基づいてデータを並べ替えることもできます。 フォントの色 or 条件付き書式アイコン [並べ替え]ダイアログボックスで。


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

以下のスクリーンショットに示すような大きなデータセットがある場合は、データをより明確に読み取るためにマルチレベルのデータ並べ替えを実行する必要があります。たとえば、最初に[地域]列、次に[州]列、最後に[販売]列で並べ替えます。 Excelでこの並べ替えをどのように行うことができますか?

データを複数の列で並べ替えるには、次の手順を実行してください。

1。 並べ替えるデータの範囲を選択し、をクリックします 且つ > 並び替え 並び替え ダイアログボックス。

2。 の中に 並び替え ダイアログボックスで、をクリックします。 レベルを追加 並べ替えに使用する列がXNUMXつあるため、ボタンをXNUMX回押します。 次に、XNUMXつを見ることができます それからによって ルールレベルがリストボックスに追加されました。

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

3。 から 並べ替え & それからによって ドロップダウンリストで、並べ替える列名を選択してから、 セル値 並べ替え 選択した列ごとに個別にセクションを作成し、最後に、必要に応じて並べ替え順序を選択します。

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


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

この並べ替え機能は、データをアルファベット順または番号順に並べ替える代わりに、カスタムリストの並べ替えも提供します。 たとえば、以下のデータ範囲をステータス(未開始、進行中、完了、定義済み)で並べ替えたいとします。 ここでは、このようなソートの扱い方を紹介します。

1。 並べ替えるデータ範囲を選択し、をクリックします 且つ > 並び替え 並び替え ダイアログボックス。

2。 の中に 並び替え ダイアログボックスで、並べ替える列を選択します。 コラム セクションをクリックしてから、 セル値 並べ替え セクション、 注文 セクションをクリックします。 カスタムリスト オプション、スクリーンショットを参照してください:

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

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

  • 新しいリスト セクションに カスタム リストボックス;
  • 次に、に基づいて並べ替える必要がある順序でテキスト文字列を入力します。 リスト項目 箱; (テキストを入力するときは、を押してください 入力します エントリを区切るためのキー。)
  • 最後に、 Add ボタンをクリックすると、新しいリストがに追加されます カスタムリスト 一度に箱。

4。 次に、をクリックします。 OK に戻るボタン 並び替え ダイアログボックス。 アイテムの新しいカスタムリストがに表示されるようになりました 注文 ドロップダウンリスト。

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


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

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

この場合、並べ替え機能には、左から右に並べ替えることができる機能が組み込まれています。 以下の手順で実行してください。

1。 並べ替えるデータ範囲(ヘッダーを除く)を選択し、[ 且つ > 並び替え [並べ替え]ダイアログボックスに移動します。

2。 飛び出した 並び替え ダイアログボックスで、をクリックします。 オプション ボタン、次に、 ソートオプション ダイアログボックスで 左から右に並べ替え オプション、スクリーンショットを参照してください:

3に設定します。 OK をクリックします。 OK 並べ替えダイアログに戻るには、 セクションで、データを並べ替える行番号を指定して、を選択します セル値 セクションに 並べ替え セクションでは、最後に、で並べ替え順序を選択します 注文 必要なセクションについては、スクリーンショットを参照してください。

4。 次に、をクリックします。 OK、およびデータは次のスクリーンショットのように並べ替えられます。


2.6大文字と小文字を区別する順序でデータを並べ替える

以下に示す最初のスクリーンショットのように、通常、データの並べ替えは大文字と小文字を区別する順序で実行されません。 しかし、下のXNUMX番目のスクリーンショットのように並べ替えの大文字と小文字を区別したい場合、Excelでこのタスクをどのように解決できますか?

Excelで大文字と小文字を区別する並べ替えを実行するには、次のようにします。

1。 並べ替えるデータ範囲を選択し、をクリックします 且つ > 並び替え 並び替え ダイアログボックス。

2。 の中に 並び替え ダイアログボックス、 コラム セクションで、データを並べ替える列名を指定して、[ セル値 セクションに 並べ替え セクションでは、最後に、で並べ替え順序を選択します 注文 必要なセクションについては、スクリーンショットを参照してください。

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

3。 クリックしてください オプション このダイアログボックスのボタン、および ソートオプション プロンプトボックス、チェックボックス 大文字と小文字を区別 オプション、スクリーンショットを参照してください:

4に設定します。 OK をクリックします。 OK > OK ダイアログを閉じるには、データは大文字と小文字が区別される順序で並べ替えられ、テキストが同じ場合は小文字が最初に、大文字が順に並べられます。 スクリーンショットを参照してください:


ソートの高度な使用法

日常業務では、他のより複雑で実用的な特定の並べ替えの問題に遭遇する可能性があります。このセクションでは、Excelでの複数の種類の並べ替えタスクについて説明します。

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

列にデータのリストがあると仮定し、次に、以下のスクリーンショットに示すように、データの出現頻度の降順でこの列を並べ替えます。 ここでは、この課題を解決するためのXNUMXつの方法を紹介します。

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

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

1。 たとえば、元のデータB2に隣接する空白のセルに次の数式を入力し、この数式を適用するために塗りつぶしハンドルをセルまでドラッグします。スクリーンショットを参照してください。

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

Note:上記の式では、 A2:A16 頻度で並べ替えるデータのリストであり、 A2 このリストの最初のデータです。

2。 次に、数式セルを選択し続けてから、をクリックします 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします 並び替え ボタンをクリックすると、元の列が次のスクリーンショットのように頻度で並べ替えられます。

ヒント:

1.結果を取得したら、必要に応じてヘルパー列を削除できます。

2.同じ回数表示されるテキスト文字列がある場合、同じテキストが一緒にソートされない場合があります。 この場合、あなたはに行く必要があります 並び替え ダイアログボックスで、最初にヘルパー列で並べ替えてから、以下のスクリーンショットのようにテキストで並べ替えます。


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

あなたが持っている場合 Kutools for Excelそのと 高度な並べ替え この機能を使用すると、ヘルパー列を使用せずに、発生頻度に基づいてデータをすばやく簡単に並べ替えることができます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 並べ替えるデータリストを選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え、スクリーンショットを参照してください:

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列を選択します。 コラム セクションをクリックしてから、 周波数 セクションに 並べ替え ドロップダウンリストで、最後に、で並べ替え順序を指定します 注文 セクション、スクリーンショットを参照してください:

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

3。 次に、をクリックします。 OK ボタンをクリックすると、データリストは一度に発生回数でソートされます。スクリーンショットを参照してください。


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

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

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

文字の長さで列を並べ替えるには、LEN関数を使用して各セルの文字数を計算してから、並べ替え関数を適用してデータリストを並べ替える必要があります。次の手順を実行してください。

1。 この式を入力してください = LEN(A2) たとえば、元のデータB2に隣接する空白のセルに入力し、塗りつぶしハンドルをセルまでドラッグして、この数式を適用します。スクリーンショットを参照してください。

2。 次に、数式セルを選択し続けてから、をクリックします 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします。 並び替え ボタンをクリックすると、文字列は文字の長さで並べ替えられます。 必要に応じて、ヘルパー列Bを削除できます。 スクリーンショットを参照してください:


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

文字数でデータをすばやく簡単に並べ替えるために、ここでは便利なツールをお勧めします– Kutools for Excelそのと 高度な並べ替え 機能、あなたは簡単にこのタスクを処理することができます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 並べ替えるデータリストを選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列を選択します。 コラム セクション、および選択 テキストの長さ 並べ替え ドロップダウンリストで、最後に、必要な並べ替え順序を指定します。 注文 セクション。 スクリーンショットを参照してください:

ヒント:データにヘッダーがある場合は、 私のデータにはヘッダーがありますisチェック済み。 データにヘッダーがない場合は、チェックを外してください。

3。 次に、をクリックします。 OK ボタンをクリックすると、リスト内のテキスト文字列は、以下のスクリーンショットに示すように文字長でソートされています。


3.3フルネームを姓で並べ替える

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

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

姓に基づいてフルネームを並べ替えるには、ラストネームを新しい列に抽出してから、並べ替え機能を適用して、分離されたラストネームに基づいてフルネームをアルファベット順に並べ替える必要があります。 次の手順で実行してください。

1。 次の数式を元のデータ(B2など)に隣接する空白のセルに入力またはコピーしてから、この数式を適用するために塗りつぶしハンドルをセルまでドラッグします。スクリーンショットを参照してください。

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

2。 数式セルの選択に進み、次にクリックします 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします。 並び替え ボタンをクリックすると、姓に基づいて並べ替えられたフルネームが表示されます。完了したら、必要に応じてヘルパー列を削除できます。 スクリーンショットを参照してください:


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

数式に慣れていない場合、数式を使用せずにフルネームを名前で並べ替えるには、 高度な並べ替え の特徴 Kutools for Excel あなたに好意を与えることができます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 並べ替えるフルネームセルを選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列を選択します。 コラム セクション、および選択 氏名 並べ替え ドロップダウンリストで、最後に、必要に応じて並べ替え順序を指定します。 注文 セクション。 スクリーンショットを参照してください:

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

3。 次に、をクリックします。 OK ボタンをクリックすると、フルネームの列が名前で一度に並べ替えられます。


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

アドレスの最初の文字だけでなく、ドメインで並べ替える電子メールアドレスのリストがある場合、Excelでどのように行うことができますか? このセクションでは、電子メールアドレスをドメインで並べ替える簡単な方法について説明します。

 ヘルパー列を使用してドメインでメールアドレスを並べ替える

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

1。 メールアドレスの横の空白のセルに次の数式を入力します。この例では、この数式をセルC2に入力し、この数式を適用する範囲に塗りつぶしハンドルをドラッグします。 その後、すべての電子メールドメインがアドレスから抽出されます。スクリーンショットを参照してください。

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

2。 数式セルを選択したままにして、[ 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、 ソート警告 ダイアログボックス、チェック 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします 並び替え ボタンをクリックして、指定した昇順または降順でメールドメイン別にデータを並べ替えます。

4。 並べ替え後、必要に応じてヘルパー列を削除できます。


 数回クリックするだけでドメインでメールアドレスを並べ替える

あなたが持っている場合 Kutools for Excelそのと 高度な並べ替え 機能により、メールアドレスは数回クリックするだけでドメイン名のアルファベット順に並べ替えることができます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 並べ替えるデータ範囲全体を選択し、[ クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列を選択します。 コラム セクション、および選択 メールドメイン 並べ替え ドロップダウンリストで、最後に、必要な並べ替え順序を指定します。 注文 セクション。 スクリーンショットを参照してください:

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

3に設定します。 OK をクリックします。 OK、およびデータ範囲は、以下のスクリーンショットに示すように、電子メールドメインによってソートされています。


3.5ある列を別の列と一致するように並べ替える

データがまったく同じまたはほぼ同じで順序が異なるXNUMXつの列がある場合、XNUMXつの列を並べ替えて、同じ値がXNUMXつの列の同じ行に配置されるようにする必要があります。 このセクションでは、このタイプのソートのXNUMXつのケースを紹介します。

 一致するようにまったく同じアイテムでXNUMXつの列を並べ替えます

たとえば、同じアイテムを含むが順序が異なるXNUMXつの列があります。ここでは、下のスクリーンショットに示すように、最初の列と一致するようにXNUMX番目の列を並べ替えます。

1。 次の数式を元のデータの横の空白のセルに入力し、この数式をリスト内のすべてのセルに適用するための塗りつぶしハンドルをドラッグすると、列Bの各値の位置が列Aに返されます。スクリーンショットを参照してください。 :

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

2。 次に、列Bと新しいヘルパー列を選択し、をクリックします 且つ > 並び替え 並び替え ダイアログボックス、 並び替え ダイアログボックスで、次の操作を実行します。

  • データを並べ替えるヘルパー列をから選択します コラム セクション;
  • 次に、を選択します セル値 セクションに 並べ替え セクション;
  • 最後に、 最小から最大 内のオプション 注文 のセクションから無料でダウンロードできます。

3。 次に、をクリックします OK ボタン。 これで、下のスクリーンショットのようにXNUMXつの列が正確に一致するようになります。 必要に応じて数式列を削除できます。


 一致するアイテムがまったく同じではないXNUMXつの列を並べ替える

XNUMXつの列の項目が完全に同じでない場合があります。 たとえば、次のスクリーンショットのように、同じ値が同じ行に揃うように、XNUMX番目の列のデータを最初の列のデータと一致するように並べ替えたいと思います。

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

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)))


3.6データのリストから一意の値を並べ替えて抽出する

重複を含む値のリストがある場合は、一意の値を抽出して、以下のスクリーンショットに示すようにアルファベット順に並べ替えます。ここでは、このタイプの並べ替えを処理するための数式をいくつか紹介します。

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)),"")

Note:式では、 A2:A12 一意の値を抽出するデータリストです。 C1 数式の上のセルです。 必要に応じて変更してください。

2。 次に、塗りつぶしハンドルをドラッグして、空白のセルが表示されるまで値を抽出します。すべての一意の値が抽出され、昇順で並べ替えられます。スクリーンショットを参照してください。

ヒント:

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)))


3.7複数の行または列を一度に個別に並べ替える

XNUMXつの行または列に基づいてデータの範囲を並べ替えるのは簡単ですが、範囲内の各行または列を個別にアルファベット順に並べ替えたい場合があります。Excelでこのタスクをどのように実行できますか?

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

この問題を解決するために、以下のスクリーンショットのように、各行にアルファベット順に再配置する必要があるデータの範囲があるとします。ここにXNUMXつの簡単なトリックがあります。

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

1。 ソートされた結果を取得する別の場所に行ラベルをコピーします。

2。 次に、以下の数式をコピーするか、空白のセル– H2に入力して、を押します。 Ctrl + Shift + Enter 最初の結果を得るために一緒にキーを押します。スクリーンショットを参照してください。

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

3。 次に、数式セルH2を選択し、塗りつぶしハンドルを右にドラッグして、数式を最初の行の他のセルにコピーします。この例では、セルK2にドラッグします。スクリーンショットを参照してください。

4。 最初の行(H2:K2)で数式セルを選択し、塗りつぶしハンドルを下にドラッグして、数式を他の行にコピーします。 これで、各行の値が昇順で個別にソートされていることがわかります。


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

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

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

2。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

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 このコードを実行するためのキー。各行のデータはすぐに昇順で並べ替えられています。スクリーンショットを参照してください。


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

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

数式を使用して、複数の列を一度に個別に並べ替える

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))

3。 最初の行(F3:F6)で数式セルを選択し、塗りつぶしハンドルを右にドラッグして、数式を他の列にコピーします。 これで、次のスクリーンショットに示すように、各列の値が昇順で個別に並べ替えられました。


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

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

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

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 このコードを実行するためのキーを押すと、プロンプトボックスが表示されます。並べ替えるデータ範囲を選択してください。スクリーンショットを参照してください。

4。 次に、をクリックします OK、各列は個別にすばやく並べ替えられています。


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

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

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

通常、RAND関数を使用して乱数を取得し、このランダムリストに基づいてデータを並べ替えることができます。次のようにしてください。

1。 次の式を入力します。 = RAND() 以下のスクリーンショットに示すように、データの横の空白のセルに入力し、塗りつぶしハンドルを下にドラッグして、乱数のリストを塗りつぶします。

2。 数式セルを選択し続けてから、[D]をクリックしますATA > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします 並び替え ボタンをクリックすると、データリストが一度にシャッフルされました。スクリーンショットを参照してください。


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

Kutools for Excel 強力な機能をサポート– 範囲をランダムに並べ替える、この関数を使用すると、選択範囲の各列/行のセル範囲内のデータをランダム化することも、行または列全体を一度にランダム化することもできます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 ランダムに並べ替えるデータ範囲を選択し、をクリックします クツールズプラス > 並び替え > 範囲をランダムに並べ替える。 スクリーンショットを参照してください:

2。 の中に 範囲をランダムに並べ替え/選択 ダイアログボックス、下 並び替え タブで、必要な次のオプションのいずれかを選択します。

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

3。 次に、をクリックします。 Ok ボタンをクリックすると、データはすぐにランダム化されます。


3.9. XNUMX月、日、または月と日に基づいて日付のリストを並べ替える

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

 ヘルパー列を使用して、日付のリストを月または日で並べ替えます

月または日のみに基づいて日付を並べ替えるには、日付から月または日の番号を抽出してから、抽出した月または日の番号の列で日付を並べ替えます。

1。 以下の数式をデータの横の空白のセルに入力し、塗りつぶしハンドルを下にドラッグして、この数式を他のセルにコピーしてください。スクリーンショットを参照してください。

=MONTH(B2)        (extract month number)
= DAY(B2)             
(日番号を抽出)

2。 月または日の数値を返した後、数式セルを選択し続けて、[ 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします。 並び替え ボタンをクリックすると、年と日を無視して、日付が月でソートされるようになりました。 スクリーンショットを参照してください:


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

あなたが持っている場合 Kutools for Excelそのと 高度な並べ替え この機能では、数回クリックするだけで、日付のリストを月または日で並べ替えることができます。

インストールした後 Kutools for Excel、次の手順で実行してください。

1。 並べ替えるデータ範囲を選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列を選択します。 コラム セクション、および選択 or 日付 並べ替え ドロップダウンリストで、最後に、必要な並べ替え順序を指定します。 注文 のセクションから無料でダウンロードできます。

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

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


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

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

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

=TEXT(B2,"MMDD")

2。 数式セルを選択したままにして、[ 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします。 並び替え ボタンをクリックすると、データは月と日のみで並べ替えられます。


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

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

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

曜日で日付を並べ替える場合は、曜日に対応する番号を返すヘルパー列も必要になります。次に、ヘルパー列で日付を並べ替えます。

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

=WEEKDAY(B2)           (Start from Sunday (1) to Saturday(7))
= WEEKDAY(B2,2)       
(月曜日(1)から日曜日(7)まで)

2。 数式セルを選択したままにして、[ 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします 並び替え 必要な並べ替え結果を取得するためのボタン。スクリーンショットを参照してください。


 簡単なオプションを使用して、日付のリストを曜日で並べ替えます

の助けを借りて、 Kutools for Excelさん 高度な並べ替え 機能を使用すると、ヘルパー式を使用せずにこの問題をできるだけ早く解決できます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 並べ替えるデータ範囲を選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列を選択します。 コラム セクション、および選択 曜日 並べ替え ドロップダウンリストで、最後に、必要な並べ替え順序を指定します。 注文 のセクションから無料でダウンロードできます。

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

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


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

このセクションでは、年を無視して四半期ごとに日付のリストを並べ替える方法について説明します。XNUMXつのトリックが提供されます。

 ヘルパー列を使用して、日付のリストを四半期ごとに並べ替えます

上記のソリューションと同様に、数式ヘルパー列を作成して、指定された日付から四半期番号を抽出し、この新しいヘルパー列に基づいて日付を並べ替える必要があります。

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

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

2。 数式セルを選択し続けてから、をクリックします 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします 並び替え ボタンをクリックすると、下のスクリーンショットに示すように、データ範囲が四半期ごとに並べ替えられています。


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

あなたが持っている場合 Kutools for Excel インストール済み、 高度な並べ替え 機能は、数回クリックするだけでこのタスクを解決するのに役立ちます。

1。 並べ替えるデータ範囲を選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列を選択します。 コラム セクション、および選択 四半期 並べ替え ドロップダウンリストで、最後に、必要な並べ替え順序を指定します。 注文 のセクションから無料でダウンロードできます。

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

3。 最後に、 OK ボタンをクリックすると、選択した範囲が必要に応じて四半期ごとに並べ替えられます。


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

月の名前のリストがテキストとしてあるとすると、月の名前を並べ替えるときに、XNUMX月からXNUMX月までの月の順序ではなく、アルファベット順に並べられます。 XNUMX月からXNUMX月までの月の名前を並べ替える必要がある場合は、並べ替え機能内のカスタム並べ替えをお勧めします。

1。 月の名前に基づいて並べ替えるデータ範囲を選択し、[ 且つ > 並び替え 並び替え ダイアログボックス。

2。 の中に 並び替え ダイアログボックス、 コラム セクションで、月の名前を含む列名を選択します。 並べ替え セクションでは、選択 セル値、最後に、 注文 セクション、選択 カスタムリスト、スクリーンショットを参照してください:

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

3。 次に、飛び出した カスタムリスト ダイアログボックスで、ワークシートに月がどのようにリストされているかに基づいて、完全な月の名前(XNUMX月、XNUMX月、XNUMX月、…)または短い名前(XNUMX月、XNUMX月、XNUMX月…)を選択します。スクリーンショットを参照してください。

4。 次に、をクリックします OK > OK ダイアログを閉じると、次のスクリーンショットに示すように、データが月の名前で時系列に並べ替えられます。

ヒント:平日の名前で並べ替えるには、でフルネーム(日曜日、月曜日、火曜日、…)またはショートネーム(日曜日、月曜日、火曜日…)を選択します。 カスタムリスト 必要に応じてダイアログボックス。


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

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

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

数値のリストを奇数または偶数で並べ替えるには、奇数または偶数を識別する数式を作成してから、並べ替え関数を適用する必要があります。

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

2。 数式セルを選択し続けて、をクリックします 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

3。 次に、をクリックします 並び替え ボタンをクリックすると、すべての偶数が一緒にソートされてから奇数が続きます。その逆も同様です。 スクリーンショットを参照してください:


 便利な機能を使用して、奇数または偶数でデータを並べ替えます

の助けを借りて、 Kutools for Excelさん 高度な並べ替え この機能を使用すると、数値を奇数から偶数に、またはその逆にすばやく並べ替えることができます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 並べ替えるデータ範囲を選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列をクリックします コラム セクションをクリックしてから、 奇数と偶数 並べ替え 次に、セクションで並べ替え順序を指定します(Zへ 偶数から奇数に並べ替え、 ZからAへ 奇数から偶数に並べ替えます)、スクリーンショットを参照してください:

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

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


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

列に正と負の両方の数値が存在する場合、並べ替えの際、Excelではデフォルトで数値が昇順または降順で並べ替えられます。 ただし、場合によっては、データを並べ替えるときに負の符号を無視することをお勧めします。つまり、数値を絶対値で並べ替えます。 Excelでこのタスクを実行するにはどうすればよいですか?

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

数値を絶対値で並べ替えるには、通常、最初にすべての値を絶対値に変換する数式を作成してから、並べ替え関数を適用して数値を並べ替える必要があります。

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

2。 数式セルを選択したままにして、[ 且つ > ZをZにソートする or ZをAにソートする 必要に応じて、ポップアップで ソート警告 プロンプトボックスで、 選択範囲を拡大、スクリーンショットを参照してください:

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


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

ヘルパー列の作成にうんざりしている場合は、ここでお勧めします Kutools for Excelそのと 高度な並べ替え この機能では、数値を絶対値で直接簡単に並べ替えることができます。

インストールした後 Kutools for Excel、次の手順で実行してください。

1。 並べ替えるデータ範囲を選択し、をクリックします クツールズプラス > 並び替え > 高度な並べ替え.

2。 の中に 高度な並べ替え ダイアログボックスで、並べ替える列をクリックします コラム セクションをクリックしてから、 絶対の からの値 並べ替え 次に、セクションで並べ替え順序を指定します。スクリーンショットを参照してください。

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

3。 次に、をクリックします。 OK、すべての数値は、負の符号を無視して、最小値から最大値、または最大値から最小値にソートされます。


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

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


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

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

1。 以下の数式をソースデータの横の空白のセルに入力またはコピーしてから、この数式を適用するセルまで塗りつぶしハンドルをドラッグすると、数値が最小値から最大値の順に並べられます。スクリーンショットを参照してください。

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

Note:この式では、 A2:A100 新しいエントリ用の空のセルを含む、自動的に並べ替える番号リストです。 B2 数式を入力するセルです。

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

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

=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)),"")

2。 今後、列Aに値を入力したり、元のデータを変更したりすると、列Bのテキスト文字列が自動的に昇順で並べ替えられます。以下のデモを参照してください。

ヒント:テキスト文字列を降順で自動的に並べ替えるには、次の式を適用してください(を押すのを忘れないでください) 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.3VBAコードを使用して列内の数値とテキストの組み合わせを自動並べ替える

列に数値とテキストの両方の値がある場合、データのリストを自動的に並べ替えるには、以下のVBAコードを使用するとよいでしょう。

1。 データを自動的に並べ替えるシートタブを右クリックし、[ コードを表示 コンテキストメニューから、ポップアウトで アプリケーション向け 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

Note:上記のコードでは、入力されたデータは列Aに自動的にソートされます。 A1 はヘッダーであり、 A2 データリストの最初のセルです。

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

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

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 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

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) 結果を返す空白のセルに入力し、塗りつぶしハンドルを下にドラッグして数式を他のセルにコピーすると、セル内のすべてのテキスト値がアルファベット順に並べ替えられます。スクリーンショットを参照してください。


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

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

1。 押さえつける Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

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) 結果を返す空白のセルに入力し、塗りつぶしハンドルを下にドラッグして数式を他のセルにコピーすると、セル内のすべてのテキスト文字列がアルファベット順に並べ替えられます。スクリーンショットを参照してください。

Note:テキスト文字列が他の区切り文字で区切られている場合は、この数式のカンマを独自の区切り文字に変更する必要があります。


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

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

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

次の数式は、列または行のデータの順序を反転するのに役立ちます。次のようにしてください。

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

結果を入力する空白のセルに次の数式を入力またはコピーしてから、塗りつぶしハンドルをセルまでドラッグして、セルの値を逆の順序で返します。スクリーンショットを参照してください。

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

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


データの順序を連続して反転します

次の式を適用して、データの順序を水平方向に連続して反転します。

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

Note:上記の式では、 A1 行の最初のセルであり、 1:1 データが配置された行番号です。 データが行10にある場合は、10:10に変更する必要があります。

次に、すべての値が抽出されるまで塗りつぶしハンドルをセルに右にドラッグすると、すべてのデータが水平方向に反転します。スクリーンショットを参照してください。


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

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

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

1。 まず、元のデータをバックアップしてから、 Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

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 このコードを実行するためのキーを押すと、垂直方向に反転するデータ範囲を選択するように求めるプロンプトボックスが表示されます。スクリーンショットを参照してください。

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


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

データ範囲を水平方向に逆にするには、以下の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

このコードを実行した後、行のデータは水平方向に反転しています。スクリーンショットを参照してください。


 ワンクリックで列または行のデータの順序を逆/反転

あなたが持っている場合 Kutools for Excelそのと 垂直範囲を反転 & 水平範囲を反転 機能では、ワンクリックでセルの範囲を垂直方向と水平方向に反転できます。

インストールした後 Kutools for Excel、次のようにしてください。

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

1。 反転するデータ範囲を選択し、をクリックします クツール > レンジ > 垂直範囲を反転 > すべて / 値を反転するだけ、スクリーンショットを参照してください:

ヒント:あなたが選んだ場合 すべて オプションで、すべてのセルのフォーマットが同時に逆になります。 選択した場合 値を反転するだけ、セル値のみが逆になります。

2。 そして、データ範囲は一度に垂直方向に反転します。


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

1。 データ範囲を選択し、をクリックします クツール > レンジ > 水平範囲を反転 > すべて/値を反転のみ、スクリーンショットを参照してください:

ヒント:あなたが選んだ場合 すべて オプションで、すべてのセルのフォーマットが同時に逆になります。 選択した場合 値を反転するだけ、セル値のみが逆になります。

2。 次に、以下のスクリーンショットに示すように、選択範囲内のすべてのセル値がすぐに水平方向に反転します。


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

ブックに多数のワークシートがあるとすると、シートタブをアルファベット順に並べ替えたり、タブの色に基づいてシートタブを並べ替えたりする必要がある場合、通常の方法です。シートタブをドラッグアンドドロップすると多くの時間が無駄になります。 このセクションでは、シートタブを昇順または降順で配置するためのいくつかの秘訣について説明します。

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

次のVBAコードは、シートタブをアルファベットの昇順または降順で並べ替えるのに役立ちます。次のようにしてください。

1。 押さえつける Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次に次のマクロをに貼り付けます モジュール 窓。

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 このマクロを実行するには、次のプロンプトボックスで[キー]をクリックします。 有り、すべてのワークシートはアルファベットの昇順で並べ替えられます。 クリック いいえ、すべてのワークシートは、必要に応じてアルファベットの降順で並べ替えられます。


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

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

インストールした後 Kutools for Excel、次の手順で実行してください。

1。 シートタブを並べ替えるブックを開き、[ クツールズプラス > ワークシート > スプレッドシートを並べ替える、スクリーンショットを参照してください:

2。 の中に スプレッドシートを並べ替える ダイアログボックスで、右側のペインで必要な並べ替えの種類をXNUMXつ選択します。 アルファソート, 英数字ソート。 スクリーンショットを参照してください:

3。 次に、をクリックします。 Ok ボタンをクリックすると、指定した並べ替えの種類に基づいてすべてのワークシートが並べ替えられます。 スクリーンショットを参照してください:


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

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

1。 押さえつける Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次に次のマクロをに貼り付けます モジュール 窓。

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 このコードを実行するためのキーを押すと、同じタブの色のシートが一緒にソートされます。 スクリーンショットを参照してください:


 驚くべき機能を備えたタブの色に基づいてワークシートのタブを並べ替える

Kutools for Excelさん スプレッドシートを並べ替える この機能を使用すると、ワークシートのタブを色ですばやく簡単に並べ替えることもできます。

インストールした後 Kutools for Excel、次のようにしてください。

1。 Kutoolsをクリックします プラス > ワークシート > スプレッドシートを並べ替える 行くには スプレッドシートを並べ替える ダイアログボックス、 スプレッドシートを並べ替える ダイアログボックスで、をクリックします。 色分け 右ペインのボタン。スクリーンショットを参照してください。

2。 次に、をクリックします。 Ok ボタンをクリックすると、同じタブの色のシートが下のスクリーンショットのように一緒に配置されます。


  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする およびデータの保持。 分割セルコンテンツ; 重複する行と合計/平均を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • お気に入りの数式をすばやく挿入する、範囲、チャート、写真; セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • ピボットテーブルのグループ化 週番号、曜日など... ロック解除された、ロックされたセルを表示する さまざまな色で; 式/名前を持つセルを強調表示する...
kteタブ201905
  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
Comments (1)
Rated 4 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Cho mình hỏi Cách tạo thanh công ngày và giờ đến ngày và giờ
Và xuất dữ liệu
Rated 4 out of 5
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations