
エクセルで「〇〇を含む」「〇〇で始まる」といったデータを抽出する方法をご紹介します。VLOOKUP関数で部分一致を探す基本の方法から、「部分一致するデータをすべて抽出する方法」まで解説しているので、ぜひ参考にしてみてください。
ワイルドカードの基本
部分一致を検索するときは、以下の「ワイルドカード」という記号を使います。
| 記号 | 意味 | 例 | 該当する例 |
|---|---|---|---|
* | 0文字以上の任意の文字 | *花* 花* *花 | 花、切り花、花札、お花見(花を含む) 花、花火(花で始まる) 花 切り花(花で終わる) |
? | 任意の1文字 | 花?? ?花 | 花粉症(花で始まる3文字) お花(花で終わる2文字) |
~ | 直後のワイルドカード(* ?)の効果を打ち消す | *~? | 質問ある?(?で終わる任意の文字) |
部分一致するセルを1つ抽出する(VLOOKUP関数)

検索範囲の一列目から、条件(PDFを含む)と一致するセルを検索し、一致した行の指定した「列」にある値を返します。
例:=VLOOKUP("*PDF*",A2:A5,1,FALSE)
💡 ポイント:
一致した行が複数あっても、VLOOKUP関数で抽出できるのは最初に一致した1つだけです。
VLOOKUP関数の引数:(検索値, 範囲, 列番号, [検索の型])
📖 VLOOKUP関数の詳しい解説は「VLOOKUP関数の使い方!エラーや反映されない時の解決方法も!」の記事をご覧ください。
部分一致するセルを「すべて」抽出する
Excel 2021以降の場合

「部分一致するセルをすべて抽出したい」という場合は、FILTER関数とSEARCH関数を組み合わせます。
例:=FILTER(A2:A5, ISNUMBER(SEARCH("PDF", A2:A5)), "")
FILTER関数の引数:(範囲, 条件, [空の場合])
【数式の解説】
- SEARCH関数: 各セルの文字の中に、「PDF」が何文字目にあるかを調べます。(含まれていれば「1」などの数字、含まれていなければエラーを返します)
- ISNUMBER関数:SEARCH関数の結果が「数字」かどうかを判定します。(数字なら「TRUE」を、数字でなければ「FALSE」を返します)
- FILTER関数:指定の範囲から、条件と一致する(=TRUE)の行だけを抽出します。
Excel 2019以前の場合

【手順1】作業列を作る
データの左側に作業列を作り、それぞれのデータに一意の番号(出現回数)を振ります。
例:=B2 & COUNTIF($B$2:B2, "*PDF*")
💡 ポイント:範囲の開始位置のみ「$」を付けて固定します(例:$B$2)。これにより、数式をコピーしたときに範囲が1行ずつ下に拡張され、各セルの値が何回出てきたかを取得できます。

【手順2】VLOOKUP関数で順番に抽出する
VLOOKUP関数で「作業列」から条件(PDFを含む)と一致する行を探し、一致した行の2列目にある値を抽出します。
例:=VLOOKUP("*PDF*" & ROW(A1), $A$2:$B$5, 2, FALSE)
💡 ポイント:検索値に ROW(A1) を結合します。 ROW関数はセルの行番号を返すため、数式を下にコピーする度に、検索値が「*PDF*1」「*PDF*2」と切り替わります。
検索条件を「セル参照」にする

「C2セルに入力した文字を使って部分一致検索したい」という場合は、ワイルドカードとセル番地を「&」で結合します。
例:=VLOOKUP("*"&C2&"*",A2:A5,1,FALSE)
💡 ポイント:ワイルドカードはダブルクォーテーション("")で囲って記述します。