Excel で値を先頭文字または末尾文字に基づいてフィルターするにはどうすればよいですか?
Excel で大規模なデータセットを扱う際、値が特定の文字で始まるか、または特定の文字で終わるかに基づいてフィルターをかける必要が生じることがあります。これは、同じ頭文字で始まる顧客名をグループ化したり、特定のファイル拡張子や接尾辞を持つエントリを絞り込んだりする際に非常に役立ちます。本チュートリアルでは、さまざまなシナリオやユーザーの好みに応じた実用的なソリューションをいくつかご紹介します。これらの方法は、メニュー操作から始める初心者の方から、数式や VBA を使いこなす上級者の方まで、あらゆるExcel スキルレベルのユーザーにぴったりです。
フィルター機能で先頭文字または末尾文字により値をフィルターする
VBA コードで先頭文字または末尾文字により値をフィルターする
Excel 数式と補助列を使用して先頭文字または末尾文字により値をフィルターする
フィルター機能で先頭文字または末尾文字により値をフィルターする
Excel の組み込みフィルター機能を使えば、列内の値を先頭文字や末尾文字で簡単に絞り込めます。この方法は、「特定の文字で始まる/終わるエントリを一時的に抽出したい」といったシンプルで素早いフィルターニーズに最適で、高度なExcel スキルは一切不要です。
1。先頭または末尾の文字でフィルターをかけたい列全体を選択し、Excel リボンでデータ>フィルターをクリックします。選択した列の上部にフィルタードロップダウンアイコンが表示されます。スクリーンショットをご参照ください:

2。 列ヘッダーのドロップダウン矢印をクリックしてフィルターオプションを表示します。次に、テキストフィルターから、要件に応じて先頭が…または末尾が…のいずれかを選択してください。スクリーンショットをご参照ください:

3。 関連するダイアログボックスで、次の条件を入力します:
(1。)先頭文字でフィルターするには、先頭が…オプションを選択し、「先頭が」の後に表示されるボックスに目的の開始文字(例:「a」)を入力して、カスタム自動フィルターダイアログでOKをクリックします。たとえば、「a」と入力すると、「a」で始まる値のみが即座にフィルター表示されます。
(2。)末尾文字でフィルターするには、ステップ2 で末尾が…を選択し、カスタム自動フィルターダイアログボックスで「末尾が」の後のボックスにフィルター条件として使用したい文字を入力して、OKをクリックします。これにより、その文字で終わるすべての値が表示されます。
- ほとんどのExcel バージョンでは、フィルター機能のオプションはデフォルトで大文字と小文字を区別しないため、データが大文字小文字を区別しない限り、大文字・小文字のどちらで入力しても一致します。
- 期待した結果が表示されない場合は、フィルタリング範囲内に空白行が含まれていないこと、およびテキスト値の先頭や末尾に余分なスペースがないことをご確認ください。これらはフィルターの精度に影響を与える可能性があります。必要に応じて、補助列でTRIM 関数またはCLEAN 関数をご活用ください。
これは高速なフィルタリングに最適ですが、複数の条件を組み合わせた複雑なフィルターやカスタムロジックが必要な場合には制限があります。主にテキストデータを扱い、一致する項目を素早く視覚的に抽出したい場面で特に効果を発揮します。より高度な条件や複合条件が必要な場合は、以下で説明する数式または補助列の使用をご検討ください。
VBA コードで先頭文字または末尾文字により値をフィルターする
VBA は、マクロの使用に慣れているユーザーにとって、先頭文字や末尾文字に基づくデータフィルターをより柔軟に実行できる強力な手段です。特に大規模ファイルの処理、繰り返しフィルターの自動化、または標準フィルターでは実現できない特定のロジックが必要な場面でその真価を発揮します。また、複数のシートにわたって一貫したフィルター条件を適用したい場合や、頻繁に利用する再現可能なプロセスを構築したい場合にも最適です。
1。Alt+F11キーを押して、Microsoft Visual Basic for Applicationsエディターを開きます。
2。VBA エディター画面で、挿入 > モジュールを選択します。新しく開いたモジュールウィンドウに、以下のコードを貼り付けてください。シート名と範囲参照が、ご自身のデータセットと一致していることを必ずご確認ください。
VBA コード:先頭文字または末尾文字でフィルターする
Sub filterbyletter()
Dim rng01 As Range
Set rng01 = [A1:A8]
rng01.Parent.AutoFilterMode = False
rng01.Columns(1).AutoFilter Field: = 1, Criteria1: = "=a*", VisibleDropDown: = False
End Sub 3。F5キーを押してコードを実行すると、指定されたパターンに一致する値が即座にフィルター表示されます。
- コード内のA1:A8は、フィルターを適用したい値が含まれる範囲です。ご自身のデータに合わせて、この範囲を適宜調整してください。
- a*は、Excel に対し「a」で始まるすべてのエントリをフィルターするよう指示します。「a」で終わるエントリをフィルターするには、コード内のa*を*aに置き換えてください。
- 後でフィルターを解除するには、Excel に戻って、データ > フィルターをクリックしてください。スクリーンショットをご参照ください:

データが期待通りにフィルターされない場合は、範囲参照とフィルター条件が正しく指定されているか、再度ご確認ください。誤ってデータを変更しないためにも、マクロを実行する前に必ずワークブックのコピーを保存してください。また、Excel の設定でマクロが有効になっていることもあわせてご確認ください。
Excel 数式と補助列を使用して先頭文字または末尾文字により値をフィルターする
この方法では、補助列に論理式を使って、データセット内の各値が特定の文字で始まるか/終わるかを判定します。その後、その補助列の結果(TRUE/FALSE)に基づいてデータをフィルターできます。このアプローチは、次のような場合に特に役立ちます:
- 複数の複雑なフィルタ条件があります
- フィルターをかける前に、条件を満たす項目を視覚的に確認したい場合
- 組み込みのフィルターオプションが不十分な場合(例:AND/OR 論理を組み合わせる必要があるとき)
- 後でフィルターのロジックを再利用・変更・監査する必要がある場合
例として、データが A 列にあり、「a」で始まる値をフィルターしたい場合を考えます:
1。 隣接する空の列(例:B2 セル)に、次の数式を入力してください:
=LEFT(A2,1)="a" 2。 数式を入力したら、Enterキーを押してください。すべての行にこの数式を適用したい場合は、フィルハンドルをつかんでデータ範囲の最後まで下方向にドラッグします。
3。 補助列の各セルには、「a」で始まる値の場合に TRUE、それ以外は FALSE が表示されます。フィルターをかけるには、補助列を含むデータ範囲全体を選択し、データ>フィルターを使用してください。その後、補助列にフィルターを適用し、TRUE(目的の一致項目)だけを表示させましょう。
末尾の文字でフィルターする場合も、同様の数式が使えます。たとえば、「a」で終わる値を検索するには、B2 セルに次のように入力してください:
=RIGHT(A2,1)="a" この方法は柔軟性に優れており、特定の部分文字列で始まる値や複数の論理テストを満たす値など、より複雑な条件でフィルターしたい場合にも対応できます。たとえば、以下のように数式を拡張すれば、「a」で始まり「z」で終わる値に対してのみ TRUE を返すようになります。
=AND(LEFT(A2,1)="a",RIGHT(A2,1)="z") このソリューションは柔軟性と可視性に優れており、監査が必要な場面やフィルターのロジックを頻繁に変更する必要がある場合に最適です。ロジックが明確なので、エラーや不一致を簡単に発見できます。さらに、条件付き書式や詳細フィルターなど、Excel の他の機能ともスムーズに組み合わせられます。メリット:
データに余分なスペースが含まれていないかご確認ください。これらは結果に影響を及ぼす可能性があります。必要に応じて、別の補助列で=TRIM(A2) 関数をご利用ください。数式を新しい行にコピーする際は、特に絶対参照や複合参照を高度なロジックで使用している場合、セル参照を再度ご確認ください。トラブルシューティング:
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
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 アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得