KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で大文字と小文字を区別して文字列をフィルタリングし、行を並べ替えるにはどうすればよいですか?

著者Xiaoyang変更日

Excel で大文字、先頭のみ大文字、小文字が混在したリストを扱う際、テキストの大文字小文字に基づいてデータを整理したい場合があります。たとえば、すべて大文字のエントリを最初に、次に先頭のみ大文字のエントリ、その後にすべて小文字のエントリを配置する、あるいはその逆順にするなどです。Excel の標準的な並べ替え機能では、大文字小文字を区別した並べ替えを直接行う方法は提供されていませんが、これを実現するための効果的な回避策があります。大文字小文字を区別した並べ替えは、特定の命名規則やコード、識別子に従ったデータを扱う際に特に役立ちます。そのようなデータセットの例を以下に示します。

元のデータを示すスクリーンショット

目次


ヘルパー列を使用して大文字の小文字の文字列でフィルタリングで行を並べ替える

Excel には大文字小文字を区別する並べ替え機能が標準で搭載されていませんが、ヘルパー列に数式を使って各セルの文字ケースを分類し、その分類に基づいてテーブル全体を並べ替えることができます。この方法は、数式と Excel の組み込みツールを活用したい場合に実用的で、より複雑なテキスト構造にも簡単に応用できます。

1。データの横にある空のセル(データがセル A2 から始まると仮定して、セル B2)に、次の数式を入力します。

=IF(EXACT(A2,UPPER(A2)),"Upper Case",IF(EXACT(A2,LOWER(A2)),"Lower Case",IF(EXACT(A2,PROPER(A2)),"Proper Case","Other")))

この数式はセル A2 の各値をチェックし、「すべて大文字に」「小文字の文字列でフィルタリング」「最初の文字を大文字に」のいずれかに分類します。いずれにも該当しない場合は「Other」と分類されます。より複雑な分類が必要な場合は、必要に応じてこの数式をカスタマイズできます。数式の表示例については、以下のスクリーンショットをご参照ください。

数式を使用しているスクリーンショット

2。オートフィルハンドルを使って、この数式を分類したいすべての行にコピーしましょう。これにより、リスト内の各項目に表示テキストが反映されます。下方向にコピーする際は、セル参照が正しくなるようご確認ください。

データの大文字または小文字を示す結果のスクリーンショット

3。列 B に文字ケースの分類を追加したら、ヘルパー列を含む範囲全体(例:A1:B11)を選択し、「データ>並べ替え」をクリックします。その後、表示される並べ替えダイアログボックスで次の操作を行ってください。

  • 「列」の下で、ヘルパー列(「Case」または B)を選択します
  • 「並べ替え条件」の下でを選択します並べ替え条件
  • 大文字(小文字の文字列でフィルタリング)を先にしたいか、それとも小文字(すべて大文字に)を先にしたいかに応じて、「A から Z」または「Z から A」のいずれかの並べ替え順序を選択します
スクリーンショットで並べ替えの設定を確認してください。

並べ替え条件を示すスクリーンショット

注:テーブルに見出しがある場合は、正確に並べ替えられるように、タイトルを含めるオプションをオンにしてください。

4。「OK」をクリックして並べ替えを実行すると、リストが文字ケースごとにグループ化されます。「A から Z」で並べ替えた場合、小文字の文字列が最初に表示され、その後に先頭文字のみ大文字の文字列、さらにすべて大文字の文字列が続きます。すべて大文字の項目を先に表示したい場合は、並べ替え順序を逆にしてください。並べ替え後の結果を以下に示します。OK

並べ替え後の最終的なデータを示すスクリーンショット

ヒントと注意点:
1。データを並べ替えた後は、シートをスッキリ整理するためにヘルパー列を削除しても問題ありません。
2。並べ替え順序を逆にしたい場合(たとえば大文字を先に表示したいとき)は、並べ替えダイアログで「A から Z」ではなく「Z から A」を選択してください。
3。リストが長い場合は、ドラッグ操作後に数式の参照を再度確認し、エラーを未然に防ぎましょう。
4。ヘルパー列方式を使う際は、並べ替えダイアログで第2 レベルの並べ替えを指定しないと、各グループ内がアルファベット順に整列されませんのでご注意ください。


ヘルパー列を使わずに大文字小文字を区別する並べ替えを行う VBA マクロ

Excel の標準的な並べ替え機能では、カテゴリ別のグループ化ではなく、実際に大文字と小文字を区別した並べ替えを実行したい場合や、ヘルパー列を使いたくない場合には不十分です。なぜなら、Excel の並べ替えは異なる文字ケースを区別しないためです。このような状況では、VBA マクロを使用して、真に大文字小文字を区別した並べ替えを直接実行できます。この方法は、大規模なデータセットの処理、自動化プロセス、または繰り返し発生する要件に特に役立ちます。マクロを使えば、即座に並べ替えが実行でき、再利用も可能です。

この方法は、並べ替えロジックをより細かく制御したいときや、複数のシートや範囲に対してプロセスを自動化したいときに最適です。

注意事項:マクロは選択範囲の並べ替え順序を上書きします。新しい VBA コードを実行する前に、必ずデータのバックアップを取り、Excel でマクロが有効になっていることをご確認ください。

以下の手順に従ってください。

1。「開発」タブに移動し、開発者ツール > Visual Basic をクリックします。Visual Basic for Applications ウィンドウで、挿入 > 標準モジュールをクリックして、新規モジュールに次のコードを貼り付けます。

Sub CaseSensitiveSort()
    Dim WorkRng As Range
    Dim ws As Worksheet
    Dim col As Integer
    Dim xTitleId As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select Range to Sort:", xTitleId, WorkRng.Address, Type:=8)
    
    col = Application.InputBox("Enter the Column Number to Sort By (e.g.,1 for first column):", xTitleId, 1, Type:=1)
    
    Set ws = WorkRng.Worksheet
    ws.Sort.SortFields.Clear
    ws.Sort.SortFields.Add Key:=WorkRng.Columns(col), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    
    With ws.Sort
        .SetRange WorkRng
        .Header = xlYes
        .MatchCase = True
        .Apply
    End With
End Sub

このマクロでは、並べ替えたい範囲を選択し、並べ替えに使用する列(列番号で指定)を設定できます。その後、大文字と小文字を厳密に区別した並べ替えが適用されます。.MatchCase = True 引数により、「大文字」「小文字」「先頭のみ大文字」が明確に区別されて並べ替えられます。

2。マクロを実行するには、Excel のメインウィンドウに戻り、F5 キーを押すか、「実行」をクリックして VBA を起動します。並べ替えたい範囲を選択し、並べ替え対象の列番号を入力すると、マクロが大文字小文字を区別してデータを並べ替えます。

トラブルシューティングとヒント:
- エラーが発生した場合は、選択範囲と列番号の入力を再度ご確認ください。
- 列番号を間違えると、意図しない並べ替え結果になる可能性があります。
- このマクロは現在選択中のワークシート内でのみ動作します。複数のシートで並べ替えを行う場合は、この操作を繰り返してください。

このソリューションは、複雑な要件や自動化された大文字小文字を区別した並べ替えに対応できるより堅牢な機能を提供するため、上級ユーザー、またはヘルパー列の手動操作を避けたい方におすすめです。


関連記事:

Excel でファイル拡張子で並べ替えるには?

Excel で文字数に基づいて列のリストを並べ替えるには?

Excel でデータを最も頻繁に出現する値の順に並べ替えるには?


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得