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

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

Author: Siluvia Last Modified: 2025-08-06

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:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  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日に何百回ものマウスクリックも削減できます!