エクセル検索機能の使い方を徹底解説!Ctrl+F・部分一致・抽出まで完全攻略【2026年版】
Excelで大量のデータから特定の文字や数値を探したいとき、最初に覚えておきたいのが検索機能です。Windows版では「Ctrl+F」を押すだけで検索を開始でき、検索範囲の指定や検索オプション、ワイルドカードを使えば、単純な文字検索から条件を絞り込んだデータ確認まで対応できます。
さらに、条件に合う行だけを表示したい場合はフィルター、該当するデータを別のセルに取り出したい場合は関数、検索作業を自動化したい場合はVBAというように、目的に合わせて機能を使い分けることが大切です。2026年時点のExcelで役立つ基本操作から、FILTER関数を利用した検索ボックスの作り方まで、実務で再利用できる方法を紹介します。
📌 【この記事の重要ポイントまとめ】
- 要点1: Ctrl+Fで文字・数値を検索でき、範囲指定や検索オプションで対象を絞り込める。
- 要点2: 「」「?」のワイルドカードを使えば、あいまいな文字列や部分一致のデータを探せる。
- 要点3: フィルター・FILTER関数・検索ボックス・VBAを使い分けると、大量データの抽出や定型作業の効率化につながる。
【基本操作】エクセル検索機能はCtrl+Fで使える!文字・数値を探す方法
Excelの検索機能は、セルに入力された文字列や数値を探し、該当するセルへ移動するための機能です。Windows版では「Ctrl+F」が基本のショートカットキーです。リボンから操作する場合は、[ホーム]タブの[検索と選択]から[検索]を選びます。
Ctrl+Fで文字列や数値を検索する手順
- 検索したいExcelファイルを開く。
- キーボードで「Ctrl+F」を押す。
- [検索する文字列]に探したい文字や数値を入力する。
- [次を検索]で該当セルへ順番に移動するか、[すべて検索]で一致したセルを一覧表示する。
例えば、社員名簿から「田中」を探したい場合、検索欄に「田中」と入力します。「田中太郎」「田中花子」など、セル内に「田中」を含むデータも検索対象になります。通常の検索では、セル全体が検索文字列と完全に一致している必要はありません。
複数の候補がある場合は[すべて検索]が便利です。検索結果の一覧から該当セルを選択すれば、その位置に移動できます。一方、該当データを1件ずつ確認したい場合は[次を検索]が向いています。
検索機能でできること・できないこと
検索機能は、目的のセルを見つける操作に適しています。ただし、検索した文字を含む行だけを一覧にしたり、別の表にデータを取り出したりする機能とは異なります。検索結果を集計や報告書に利用したい場合は、フィルターや関数を使うほうが効率的です。
Mac版では、基本的な検索ショートカットは「Command+F」です。Excelのバージョンや利用環境によって画面表示や操作に違いがあるため、ショートカットが使えない場合はリボンの検索メニューから操作してください。

【検索オプション】範囲指定・シート全体・ブック全体を検索する方法
Ctrl+Fを押しても目的のデータが見つからない場合は、検索オプションを確認しましょう。検索文字列が正しくても、検索場所や検索対象、完全一致の設定によって結果が変わることがあります。
指定したセル範囲だけを検索する
Excelで検索範囲を指定するには、まず対象となるセル範囲を選択してから検索を開始します。例えば、A2からA100までの社員番号だけを検索したい場合は、A2:A100を選択し、Ctrl+Fを押して検索します。
範囲を選択せずに検索を開始すると、通常はアクティブなワークシート全体が検索対象になります。特定の列だけを調べたいときは、列やセル範囲を先に選択する方法が簡単です。
なお、検索ダイアログの[範囲内]で[シート]を選択している場合、対象はワークシート単位です。選択範囲に限定した検索と、シート全体を対象にする検索は区別して操作しましょう。
エクセルのシート全体・ブック全体を検索する
検索対象のシートが分からないときは、検索オプションの[範囲内]を[ブック]に変更します。これにより、開いているExcelブック内の複数のワークシートを対象に検索できます。
- Ctrl+Fで検索画面を開く。
- [オプション]をクリックする。
- [範囲内]で[シート]または[ブック]を選択する。
- 検索文字列を入力し、[次を検索]または[すべて検索]を実行する。
複数のシートに同じ商品名や顧客名が記録されている場合、[ブック]を選べば、シートを切り替えながら探す手間を減らせます。
検索対象を数式・値などに絞り込む
検索オプションでは、検索対象を[数式]や[値]、利用環境によっては[コメント]などに指定できます。計算式の記述を探したい場合と、セルに表示される計算結果を確認したい場合では、適切な設定が異なります。
例えば、セルに「=A1+B1」という数式が設定され、計算結果として「100」が表示されているとします。数式そのものを探す場合は[数式]、表示されている計算結果を探す場合は[値]を選ぶと、目的に合った検索がしやすくなります。
また、検索オプションには次のような設定があります。
- 大文字と小文字を区別する: 英字の表記を厳密に確認したい場合に使用する。
- セル内容が完全に同一であるものを検索する: セル全体が検索文字列と一致するデータに限定する。
- 検索方向: 行方向または列方向に検索する。
- 検索範囲: シート単位かブック単位かを指定する。
検索設定は、以前の操作で変更した条件が残っている場合があります。「データが存在するはずなのに見つからない」というときは、検索オプションを初期の条件に戻すつもりで確認すると、原因を見つけやすくなります。
【部分一致】ワイルドカードと検索・置換を使いこなす
商品コードや氏名の一部しか分からないときは、ワイルドカードを使った検索が役立ちます。Microsoftサポートの「検索でワイルドカード文字を使用する」でも、Excelの検索・置換やテキストフィルターで利用できる方法として紹介されています。
ワイルドカードの「」「?」「~」の違い
Excelのワイルドカード検索で覚えておきたい記号は、アスタリスク、疑問符、チルダの3つです。
- (アスタリスク): 任意の文字列に一致する。文字数は問いません。
- ?(疑問符): 任意の1文字に一致する。
- ~(チルダ): 「」「?」などをワイルドカードではなく、通常の文字として検索するときに使用する。
例えば、「東京」と入力すると、「東京本社」「東京営業所」など、先頭に「東京」を含む文字列を探せます。「A?C」であれば、AとCの間に任意の1文字がある文字列が対象です。
一方、データに「商品A」という文字列が実際に入力されており、アスタリスク自体を探したい場合は「商品~A」のように指定します。ワイルドカードとしての記号と、検索したい文字そのものを区別することがポイントです。
部分一致と完全一致を使い分ける
通常の検索では、入力した文字列を含むセルが検索されます。例えば「ABC」で検索した場合、「ABC-001」や「商品ABC」も候補になります。
これに対して、[セル内容が完全に同一であるものを検索する]を有効にすると、セル全体が「ABC」と一致するデータに絞り込めます。商品コードや管理番号など、似た値を誤って選びたくない場合に有効です。
ただし、部分一致とワイルドカード検索は同じ概念ではありません。部分一致は文字列の一部を含むデータを探す考え方であり、ワイルドカードは検索条件に任意の文字を表す記号を組み込む方法です。目的に応じて選ぶ必要があります。
Ctrl+Hで検索した文字を置換する
検索した文字を別の文字に変更したい場合は、Excelの[置換]機能を利用します。Windows版では「Ctrl+H」で[検索と置換]ダイアログを開けます。
- Ctrl+Hを押す。
- [検索する文字列]に変更前の文字を入力する。
- [置換後の文字列]に変更後の文字を入力する。
- 1件ずつ確認する場合は[置換]、まとめて変更する場合は[すべて置換]を選ぶ。
例えば、表記が統一されていない部署名を修正する場合などに使えます。ただし、[すべて置換]を実行すると、意図しないセルまで変更する可能性があります。重要なデータでは、事前に対象範囲を選択するか、[次を検索]で対象を確認してから置換しましょう。

【方法を比較】フィルター・関数・検索ボックス・VBAの使い分け
Excelで検索する方法は、Ctrl+Fだけではありません。検索したいデータの量や、結果をどう利用するかによって、適した機能は変わります。実務で迷わないためには、「セルを見つける」「行を絞り込む」「別の場所へ抽出する」「処理を自動化する」という目的で整理するのが効果的です。
| 方法 | できること | 向いている場面 | 注意点 |
|---|---|---|---|
| Ctrl+F | 文字・数値を検索し、該当セルへ移動する | 特定の名前やコードをすぐに見つけたい | 条件に合う行の一覧作成には向かない |
| 検索オプション・ワイルドカード | 検索範囲や一致条件を細かく指定する | 部分一致、完全一致、ブック全体の検索 | 設定の残りや検索対象の違いに注意 |
| フィルター | 条件に合う行を表示し、ほかの行を一時的に非表示にする | 一覧表から特定の顧客・商品・地域を探す | 元の表の表示状態が変わる |
| FILTER関数・検索関数 | 条件に合う行や値を数式で抽出する | 検索結果を別表に表示し、更新に追従させる | 関数の対応バージョンや参照範囲に注意 |
| 検索ボックス | 入力したキーワードに応じて検索結果を表示する仕組みを作る | 共有用の台帳や商品一覧を使いやすくする | 入力セル・数式・表示範囲の設計が必要 |
| VBA | 検索・抽出・移動などの処理を自動化する | 繰り返し行う検索や定型業務 | マクロの保守や実行環境への配慮が必要 |
Excelの操作解説を扱う「もりのくまのサクサクOffice」では、ショートカット、範囲指定、オプション、部分一致などの基本操作が紹介されています。「Excelの森」も、検索機能の具体例やあいまい検索を学ぶ際の参考になります。
また、「VBA エクセルン」のように、関数・フィルター・検索ボックスを組み合わせてデータを抽出する方法を扱う解説もあります。こうした方法の違いを理解しておくと、検索のたびに手作業を繰り返す状況から、必要な結果を継続的に表示できる仕組みへ発展させられます。
【条件に合う行を抽出】フィルター・Excel関数で検索結果を表示する
検索した文字を含む行だけを確認したい場合は、オートフィルターが手軽です。条件に合うデータを別のセル範囲へ自動的に表示したい場合は、FILTER関数や検索関数を利用します。
フィルターの検索ボックスでデータを絞り込む
フィルターは、一覧表の中から条件に合う行だけを表示する機能です。例えば、数百件の商品一覧から「東京」という文字を含む地域だけを確認したい場合に便利です。
- 見出しを含む表の中のセルを選択する。
- [データ]タブから[フィルター]を選ぶ。
- 検索したい列の見出しにある矢印をクリックする。
- 表示された検索ボックスにキーワードを入力する。
- 該当する項目を確認し、フィルターを適用する。
例えば、A列が顧客名、B列が地域、C列が売上金額の表なら、B列のフィルターで「東京」を検索すると、東京に該当する行だけを表示できます。顧客名と売上金額をまとめて確認できるため、Ctrl+Fで1件ずつ移動するよりも効率的です。
なお、フィルターは行を削除する機能ではありません。条件に合わない行は一時的に非表示になります。すべてのデータを再表示したい場合は、フィルター条件をクリアしてください。
FILTER関数で条件に合う行を別の場所に抽出する
Excel for Microsoft 365やExcel 2024、Excel 2021など、FILTER関数に対応するバージョンでは、検索条件に一致するデータを数式で抽出できます。MicrosoftサポートのFILTER関数の説明でも、指定した条件に基づいて範囲を抽出する使い方が案内されています。
次の例では、A2:D100に商品一覧があり、B列に商品名、G2に検索キーワードを入力するとします。検索文字列を含む行を別の場所に表示する数式は、次のとおりです。
=IF(G2="","検索語を入力してください",FILTER(A2:D100,ISNUMBER(SEARCH(G2,B2:B100)),"該当なし"))
数式の役割は次のとおりです。
- G2: ユーザーが入力する検索キーワード。
- SEARCH(G2,B2:B100): B列の各セルに検索文字列が含まれているかを調べる。
- ISNUMBER: 検索に成功した位置情報をTRUE、見つからない場合をFALSEとして扱えるようにする。
- FILTER: 条件を満たした行を抽出する。
- IF: 検索欄が空欄のときに、案内メッセージを表示する。
この方法なら、G2のキーワードを変更するだけで抽出結果が更新されます。SEARCH関数は大文字と小文字を区別しない部分一致検索に対応するため、文字列の一部を手掛かりにデータを探したい場合に便利です。
ただし、FILTER関数の結果は数式を入力したセルから周囲のセルに展開されます。結果が表示される場所に既存のデータがあると、正常に展開できない場合があります。抽出結果用の空き領域を確保しておきましょう。
複数の条件で行を抽出する
複数の条件を組み合わせたい場合も、FILTER関数を利用できます。例えば、C列が地域、D列が売上金額で、地域が「東京」かつ売上金額が1万円以上の行を抽出する場合は、次の数式を使います。
=FILTER(A2:D100,(C2:C100="東京")(D2:D100>=10000),"該当なし")
この数式では、2つの条件を掛け合わせることで、両方を満たす行を抽出します。複数条件のいずれかを満たす行を抽出したい場合は、条件の組み合わせに「+」を使う方法もあります。
FILTER関数が利用できない古いバージョンでは、オートフィルターや詳細設定のフィルターを使う方法が現実的です。データを別表に継続して表示する必要があるのか、単に対象行を確認できればよいのかによって選びましょう。
XLOOKUP・VLOOKUPは「値を取り出す検索」に向いている
特定の社員番号から氏名を取り出したり、商品コードから価格を取得したりする場合は、XLOOKUPやVLOOKUPが役立ちます。これらは、検索条件に対応する値を返すための関数です。
例えば、G2に社員番号があり、A2:A100が社員番号、C2:C100が部署名の場合、XLOOKUP関数は次のように記述できます。
=XLOOKUP(G2,A2:A100,C2:C100,"該当なし")
FILTER関数が条件に合う複数行を抽出するのに対し、XLOOKUPは検索値に対応する値を取得する用途に向いています。複数の該当データを一覧にしたいのか、対応する1つの値を取り出したいのかを基準に使い分けてください。

【検索ボックスの作り方】入力するだけで結果が変わる仕組みを作る
共有する商品台帳や顧客名簿では、利用者が検索方法を覚えていなくても使えるように、入力欄と検索結果をセットにした検索ボックスを用意すると便利です。FILTER関数とSEARCH関数を組み合わせれば、VBAを使わずに基本的な検索ボックスを作れます。
関数で検索ボックスを作成する手順
- 元データをA2:D100に用意する。
- G1に「検索キーワード」、G2にキーワード入力欄を設ける。
- G2の下や別のシートに、検索結果を表示するための空き領域を確保する。
- 検索結果を表示するセルに、前述のFILTER関数とSEARCH関数を組み合わせた数式を入力する。
- G2に商品名や顧客名の一部を入力し、結果が更新されることを確認する。
例えば、G2に「ノート」と入力すると、商品名に「ノート」を含む行が表示される仕組みです。キーワードを「ペン」に変えれば、該当する行に結果が切り替わります。
検索対象が商品名ではなく顧客名なら、数式内の検索範囲を顧客名の列に変更します。検索欄とデータの列を明確に分けておくことで、後から管理する人にも分かりやすい表になります。
使いやすい検索ボックスにするための工夫
検索ボックスを業務で使う場合は、検索結果が見つからないときのメッセージや、入力欄の説明も用意しましょう。上記の数式では、検索語が空欄なら「検索語を入力してください」、該当する行がなければ「該当なし」と表示します。
さらに、元データをExcelテーブルとして管理すれば、データの追加に合わせて参照範囲を管理しやすくなります。固定範囲を使う場合は、A2:D100の範囲を超えて新しいデータが追加されると検索対象から漏れるため、データ件数の増加も考慮してください。
なお、FILTER関数による検索ボックスは、入力文字に応じて結果が変わる仕組みです。検索結果のセルをクリックして元データを編集する用途や、複数の利用者が同時に操作する用途では、別途レイアウトや運用方法を検討する必要があります。
【VBAで自動化】エクセルの検索・抽出を効率化する方法
毎日同じ条件で検索する、複数のセルを順番に調べる、見つかったデータへ自動で移動するなど、繰り返し作業が多い場合はVBAによる自動化も選択肢になります。VBAは、Excelに組み込まれた処理をコードで制御する仕組みです。
VBAのFindメソッドで部分一致検索する
VBAでは、RangeオブジェクトのFindメソッドを使って、指定したセル範囲から文字列を検索できます。次の例は、Sheet1のA2:A100から「東京」を含むセルを検索し、見つかったセルへ移動するコードです。
Sub SearchValue
Dim ws As Worksheet
Dim found As RangeSet ws = ThisWorkbook.Worksheets("Sheet1")
Set found = ws.Range("A2:A100").Find( _
What:="東京", _
After:=ws.Range("A100"), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not found Is Nothing Then
Application.Goto found, True
Else
MsgBox "該当データはありません。"
End If
End Sub
このコードでは、検索対象をA2:A100に限定し、xlPartで部分一致検索を指定しています。xlValuesは値を検索対象にする指定です。また、Findメソッドは該当データがなければNothingを返すため、結果を利用する前に存在を確認します。
Findメソッドには前回の検索設定が影響する項目があるため、LookIn、LookAt、SearchOrder、MatchCaseなどを明示することが大切です。この例は最初に見つかった1件へ移動する処理であり、該当するすべての行を抽出するコードではありません。
条件に合う行を抽出するには
条件に合う行をまとめて表示する場合は、VBAからオートフィルターを操作する方法や、FindとFindNextを組み合わせて該当箇所を順番に処理する方法があります。大量のデータを別シートへ転記するなど、処理内容に応じて適切な方法を選びます。
ただし、VBAはコードの修正や動作確認が必要です。マクロを利用できない環境もあるため、単純な検索であればCtrl+F、一覧の絞り込みであればフィルター、結果の自動更新が必要なら関数を優先し、繰り返し処理を減らす必要がある場合にVBAを検討するとよいでしょう。
【エクセル検索機能】に関するよくある質問(FAQ)
Q1:Excelで検索しても見つからない場合はどうすればよいですか?
A1:まずCtrl+Fで検索し、[オプション]から検索範囲、検索対象、完全一致の設定を確認してください。ブック全体を探す場合は[範囲内]を[ブック]に変更します。検索文字列の入力ミスや、セル内の余分なスペースなども確認しましょう。
Q2:Excelで部分一致検索をするにはどうすればよいですか?
A2:通常の検索では、入力した文字列を含むセルが検索されます。さらに柔軟な条件を指定する場合は、「*」で任意の文字列、「?」で任意の1文字を表すワイルドカードを使用します。記号自体を検索したい場合は「~」を付けて指定します。
Q3:Excelで検索した結果を別の表に抽出できますか?
A3:Excel for Microsoft 365、Excel 2024、Excel 2021などではFILTER関数が使えます。SEARCH関数と組み合わせれば、指定した文字列を含む行だけを別の場所に表示できます。FILTER関数に対応していないバージョンでは、フィルター機能などを利用してください。
Q4:Excelのシート全体ではなく、特定の列だけを検索できますか?
A4:検索したい列やセル範囲を先に選択してからCtrl+Fを押す方法があります。検索オプションで[範囲内]を[シート]に指定している場合は、シート全体を対象とする検索と区別して操作してください。
Q5:検索ボックスはVBAを使わなくても作れますか?
A5:作れます。入力欄にキーワードを入力し、FILTER関数とSEARCH関数を組み合わせた数式で検索結果を表示する方法があります。キーワードを変更すると結果が更新されるため、商品一覧や顧客名簿などの検索に便利です。
まとめ:エクセル検索機能は目的に合わせて選ぶのが最短ルート
Excelの検索機能を使いこなすために、最初から複雑な関数やVBAを覚える必要はありません。特定のセルを探すならCtrl+F、検索対象や一致条件を絞るなら検索オプション、複数の行を絞り込むならフィルターというように、目的に応じた機能を選ぶことが基本です。
検索結果を別の場所に表示したい場合はFILTER関数やXLOOKUP、入力欄から検索できる仕組みを作りたい場合は関数を組み合わせた検索ボックスが役立ちます。定型作業を繰り返している場合には、VBAによる自動化も検討できます。
【プロの結論】業務で本当に効率化したいなら、検索する時間だけでなく、検索後に何をするのかまで考えることが重要です。1件を見つける操作、条件に合う行の抽出、別表への転記、繰り返し作業の自動化は、それぞれ適した機能が異なります。まずはCtrl+Fと検索オプションを使いこなし、そのうえでフィルターや関数へと活用範囲を広げることが、ミスを減らしながら作業時間を短縮する近道です。 (出典: エクセル 検索 機能(Yahoo!ニュース))