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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

Excelで最初の文字または最後の文字で値をフィルタリングするにはどうすればよいですか?

Author Siluvia Last modified

Excelで大規模なデータセットを扱う場合、特定の文字で始まるか、特定の文字で終わる値に基づいてフィルタリングする必要が生じることがあります。例えば、同じ頭文字を持つ顧客名をグループ化したり、特定の拡張子や接尾辞を持つエントリを特定する場合などです。このチュートリアルでは、初心者から数式やVBAに慣れたユーザーまで、さまざまなExcel経験を持つユーザー向けに、異なるシナリオと好みに適した複数の実用的な解決策を提供します。

最初の文字または最後の文字で値をフィルタリングするにはフィルタ機能を使用
最初の文字または最後の文字で値をフィルタリングするにはVBAコードを使用
Excelの数式とヘルパーカラムを使用して最初の文字または最後の文字で値をフィルタリング


最初の文字または最後の文字で値をフィルタリングするにはフィルタ機能を使用

Excelの組み込みフィルタ機能は、列内の最初の文字または最後の文字でデータをフィルタリングするための簡単な方法を提供します。この方法は、すべてのエントリを特定の文字で始まるものや終わるものだけに分離するようなシンプルで迅速なフィルタリングに最適であり、高度なExcel知識は必要ありません。

1. 最初または最後の文字基準でフィルタリングしたい列全体を選択します。次に、Excelリボンで「データ」>「フィルタ」をクリックします。選択した列の上部にフィルタドロップダウンアイコンが表示されます。スクリーンショットをご覧ください:

A screenshot of applying the Filter option to a column in Excel

2. 列ヘッダーのドロップダウン矢印をクリックしてフィルタリングオプションを展開します。次に、「テキストフィルタ」に移動し、必要に応じて「で始まる」または「で終わる」を選択します。スクリーンショットをご覧ください:

A screenshot showing Text Filters with Begins With and Ends With options

3関連ダイアログボックスに条件を入力します:
(1.) 値を最初の文字でフィルタリングするには、「 で始まる 」オプションを選択します。表示される「 カスタムオートフィルタ 」ダイアログで、「~で始まる」の後のボックスに目的の開始文字(例:"a")を入力し、「OK」をクリックします。例えば、文字「a」を入力すると、「a」で始まる値のみが即座にフィルタリングされて表示されます。 OK。例えば、文字「a」を入力すると、「a」で始まる値のみが即座にフィルタリングされて表示されます。
A screenshot of the Custom AutoFilter dialog for filtering values beginning with a specified letter
(2.) 最後の文字でフィルタリングするには、ステップ2で「 で終わる 」を選択します。「 カスタムオートフィルタ 」ダイアログボックスで、「~で終わる」の後のボックスにフィルタ基準として使用したい文字を入力し、「OK」をクリックします。 OKこれで、その文字で終わるすべての値が表示されます。
A screenshot of the Custom AutoFilter dialog for filtering values ending with a specified character

注意:
  • ほとんどの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に戻って「 データ > フィルタ」をクリックすることでフィルタを削除できます。スクリーンショットをご覧ください:
    A screenshot of the Filter option in Excel

データが期待通りにフィルタリングされない場合は、範囲参照とフィルタ基準が正しく指定されていることを再確認してください。マクロを実行する前に必ずワークブックのコピーを保存し、意図しないデータ変更を防ぎます。また、Excel設定でマクロが有効になっていることを確認してください。


Excelの数式とヘルパーカラムを使用して最初の文字または最後の文字で値をフィルタリング

この方法では、データセット内の各値が特定の文字で始まるか終わるかを識別するために、論理数式を使用したヘルパーカラムを使用します。その後、このヘルパーカラムの結果(TRUE/FALSE)に基づいてデータをフィルタリングできます。このアプローチは、特に以下のケースに有用です:

  • 複数の複雑なフィルタ基準がある場合
  • フィルタリングする前に、どの項目が基準を満たしているかを視覚的に確認したい場合
  • 組み込みのフィルタオプションが不十分な場合(例:AND/ORロジックを組み合わせる場合)
  • 後でフィルタリングロジックを再利用、修正、または監査する必要がある場合

例えば、データが列Aにあり、「a」で始まる値をフィルタリングしたい場合:

1. 隣の空いている列(例:セルB2)に次の数式を入力します:

=LEFT(A2,1)="a"

2. 数式を入力した後、Enterキーを押します。この数式をすべての行に適用したい場合は、データ範囲に沿って数式をドラッグするためのフィルハンドルを使用します。 

3. ヘルパーカラムの各セルには、TRUE(値が「a」で始まる場合)またはFALSEが表示されるようになります。フィルタリングするには、データ範囲全体(ヘルパーカラムを含む)を選択し、「データ」>「フィルタ」を使用します。ヘルパーカラムにTRUE値のみを表示するフィルタを適用します。これにより、希望する一致が表示されます。

ヒント:

同様の数式を使用して最後の文字でフィルタリングすることもできます。例えば、「a」で終わる値を見つけるには、B2に次のように入力します:

=RIGHT(A2,1)="a"

この方法は柔軟性があり、より複雑なルール(特定の部分文字列で始まる値や複数の論理テストを満たす値など)でフィルタリングする必要がある場合は、次の数式を拡張できます。この数式は、「a」で始まり「z」で終わる値に対してのみTRUEを表示します。

=AND(LEFT(A2,1)="a",RIGHT(A2,1)="z")

利点このソリューションは高い柔軟性と可視性を提供し、頻繁にフィルタリングロジックが変更される場合や監査が必要な場合に理想的です。ロジックは透明なので、エラーや不一致を簡単に発見できます。また、他のExcel機能(条件付き書式や高度なフィルタなど)とも簡単に組み合わせられます。

トラブルシューティングデータに余分なスペースがないことを確認してください。これらのスペースは結果に影響を与える可能性があります。必要に応じて、別のヘルパーカラムで=TRIM(A2)関数を使用してください。数式を新しい行にコピーする際は、特に高度なロジックに絶対参照や混合参照を使用している場合は、セル参照を再確認してください。

最高のオフィス業務効率化ツール

🤖 Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件での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でタブによる編集・閲覧を実現
  • 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
  • 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得