Excelで文字列の部分一致を行う方法(8つの簡単な方法)

  • これを共有
Hugh West

ワークシートでさまざまなデータを扱う場合、部分一致やファジーマッチは、一致するデータをすばやく見つけるのに効果的です。 さらに、部分一致の文字列を実行したい場合、最もわかりやすい解決策は、次のようになります。 ワイルドカード さらに、Excelには以下のような多くのオプションがあります。 ブイルック , XLOOKUP , INDEX をもって MATCH 組み合わせ イフ を他の関数と組み合わせて実行する方法を学びます。 部分一致の文字列を実行する をExcelで表示します。

練習用ワークブックをダウンロードする

この練習シートをダウンロードして、この記事を読みながらタスクの練習をしてください。

部分一致文字列.xlsx

Excelで文字列の部分一致を行う8つの方法

実は。 部分一致文字列 Excelでは、1つの関数を使ったり、複数の関数を同時に使ったりと、さまざまな方法があります。 今回は、その中から 8種類の方式 以下では、これらの方法を詳細な手順で紹介します。

IF & ORステートメントによる文字列の部分一致

は、" イフ " 機能はサポートしていません。 ワイルドカード の文字が表示されます。 しかし、その組み合わせは イフ を他の関数と組み合わせて、部分一致の文字列を実行することができます。 では、学習してみましょう。

ここで、次の例では、いくつかの候補者の名前が記載されたデータテーブルを "名前" 列で指定された文字列のいずれかを含む名前を特定する必要があります。 2 3 という文字を含む名前を探す必要があります。 "A" または "L" .

ステップス

  • まず、オン "ステータス" セル内列 "E5" を適用してください。 IF、OR の式で表されます。

基本的に、この式の形式は

=IF(OR(ISNUMBER(SEARCH(text,cell)),ISNUMBER(SEARCH(text,cell))), "value_if_true", "value_if_false")

ここで、数式に値を挿入します。 つまり、最終的に部分一致の数式は

=if(or(isnumber(search(c5,b5)),isnumber(search(d5,b5))), "yes", "no")

フォーミュラ・ブレークダウン

  • ここで、Textは C5(A)、D5(L) この数式は、以下のことを保証するものです。 C5 または D5 は部分一致文字列である。
  • すると、そのセルは B5(ジョナサン) .
  • Value_if_true でございます "YES" .
  • Value_if_false でございます "NO" .
  • 次に、 を押します。 ENTER, という式で、部分一致の文字列を特定します。

  • この数式を残りのセルに適用すると、最終的な結果が得られます。 フィルハンドル へのアイコン オートフィル は、残りのセルで対応するデータを表示します。

最後に、すべての部分一致を取得します。

2.IF関数、ISNUMBER関数、SEARCH関数による文字列の部分一致の利用

を含む結果を再び求めることができます。 部分一致文字列 を組み合わせて使用することで IFです。 ISNUMBER そして 検索 関数を使用することができます。

ここで、列を含むデータセットを考える "名前" , "一致する文字列" そして "ステータス" を含む名前を特定する必要があります。 部分一致文字列 欄外 "一致する文字列" .

  • では、その式を応用して IF, ISNUMBER そして 検索 の関数を使用します。 "ステータス" セル内列 D5 .

ここでは、その形式を紹介します。

=IF(ISNUMBER(SEARCH("text", cell)), value_if_true, value_if_false)

  • そこで、値を挿入する必要があります。 最終的に部分一致文字列の式は
=if(isnumber(search(c5,b5)), "yes", "not found")

  • 次に、 を押します。 エンタメ .

最後に、私たちの結果が達成されます。

フォーミュラ・ブレークダウン

  • ここで、Textは C5 (A) この数式は、以下のことを保証するものです。 C5 部分一致文字列 かどうか。
  • すると、そのセルは B5(ジョナサン) .
  • Value_if_true でございます "YES" .
  • Value_if_false でございます "NOT FOUND" .
  • 最後に、この数式を列のすべてのセルに適用して、"A "を含むすべての結果を見つけます。 部分一致文字列 .

3.VLOOKUP関数で文字列の部分一致をさせる

ここで、本節では、これから ブイルック を実行する関数です。 部分一致 を文字列の

ここで、何人かの候補者の名前と順位が示されている表を考えてみましょう。

  • まず、列見出しをコピーして、ワークシートのどこかに貼り付けます。 そして、そこで作業を実行します。

  • そして、適用してください。 ブイルック の関数を使用します。 F5 のセルで、数式は
=VLOOKUP($E$5& "*",$B$5:$C$10,2,FALSE)です。

フォーミュラ・ブレークダウン

  • まず最初に。 ルックアップ値 でございます E$5& "*" ここでは アスタリスク (*) にマッチするワイルドカードとして ゼロ 以上 テキスト の文字列を表示します。
  • 2つ目は 表_配列 でございます B$5:$C$10 .
  • 3つ目。 Col_index_num でございます 2 .
  • 第四に [range_lookup】。] でございます FALSE 完全一致させたいので .
  • 次に、 を押します。 エンタメ .

その結果、式が実行されたのは 部分一致文字列 .

  • では、同じ式を適用してみましょう 2 を何回か繰り返して、この機能をマスターしてください。

最後に、すべての部分一致を取得します。

続きを読む ExcelでVLOOKUPを使って部分一致させる方法(4つの方法)

4.XLOOKUP関数による部分一致の実現

があります。 XLOOKUP をもって ISNUMBER を完成させることもできます。 部分一致文字列 では、次の例を見てみましょう。

次の例では の表があります。 第一 テーブルを 部分一致文字列 にはランクが与えられています。 さて、ここで 第二 を含むテーブル。 部分一致 という文字列を生成し、それらの名前に関連するランクを返す。

  • さて、セルでは F5 は、数式を適用してください。

ここで、この計算式の形式は

=XLOOKUP(lookup_value,ISNUMBER(SEARCH(text,cell)),return_array)のようになります。

  • そこで、数式に値を挿入する必要があります。
=xlookup(true,isnumber(search($b$5:$b$10,e5)),$c$5:$c$10)

  • 次に、 を押します。 エンタメ .

を含む名前へのランクを返すことに成功しました。 部分一致 の文字列を表示します。

フォーミュラ・ブレークダウン

  • まず最初に。 ルックアップバリュー でございます "TRUE" .
  • 第二に、本文は B$5:$B$10 .
  • 第三に、セルは E5 ( ヘンリー・ジョナサン ) の順位を返します。 ヘンリー・ジョナサン
  • 第四に return_array でございます C$5:$C$10 .
  • 次に、すべてのセルに対して同じことをします。

その結果、すべての試合を見ることができます。

5.INDEX関数とMATCH関数で文字列の部分一致を行う

を含むテキストを返します。 部分一致文字列。 を使用しています。 INDEX をもって MATCH 関数を使用します。

では、次の例をご覧ください。 の表があります。 第一 テーブルを "名前" "ランク" には、いくつかの候補が挙げられています。 第二 のテーブルがあります。 部分一致文字列 が与えられる。 このとき、名前を識別するために 第一 を含むテーブル。 部分一致 の文字列を表示します。

  • さて、コラムでは F5 を適用してください。 INDEX とのことです。 MATCH の式で表される。 その式は
=INDEX($B$5:$B$10,MATCH(E5& "*",$B$5:$B$10,0))です。

  • 次に、 を押します。 エンタメ .

その結果、Name "ロッベン" を含んでいます。 部分一致文字列(Rob)。

フォーミュラ・ブレークダウン

  • まず、配列は B$5:$B$10 .
  • 2つ目は ルックアップバリュー でございます E5& "*" ここでは アスタリスク (*) として ワイルドカード とは ゼロ またはそれ以上のテキスト文字列。
  • 3つ目。 ルックアップ_アレイ でございます B$5:$B$10 .
  • 第四に [match_type]です。 でございます EXACT(0)です。

さらに アスタリスク(*) は、セルの両側に文字がある場合、両側で使用することができます。 部分一致文字列 .考えるに、私たちは 部分一致文字列 "ni" を持っています。 ワイルドカード の文字を両側で使用することになります。 アスタリスク(*) セルの両側に

  • そこで、理解を深めるために、以下の数式で F6 のセルがあります。
=INDEX($B$5:$B$10,MATCH("*"&E6&"*",$B$5:$B$10,0))

  • 次に、 を押します。 エンタメ をクリックすると結果が表示されます。

6.2列の文字列を部分一致させるための関数の組み合わせ

を採用することができます。 組み合わせ のような関数の イフ 関数を使用します。 AND機能 , ISNUMBER 機能、および 検索 を求める関数です。 部分一致文字列 さらに、これらの関数を好みに応じて変更することもできます。 では、次の例で説明します。 そこで、両方の条件に基づいて、部分一致文字列を抽出する必要があります。

ステップス

  • まず、新しいセルを選択する必要があります C5 ステータスを保持したい場所。
  • 次に、以下に示す計算式で C5 のセルがあります。
=IF(AND(ISNUMBER(SEARCH($E$6, B5)), ISNUMBER(SEARCH($F$6, B5))), "発見", "")

  • 最後に エンタメ をクリックすると結果が表示されます。

フォーミュラ・ブレークダウン

  • これです。 検索($f$6, b5) は文字列があるかどうかを検索します。 広告 において B5 のセルがあります。
    • 出力:#VALUE!
  • その後 ISNUMBER 関数は、上記の出力が数値であるかどうかをチェックします。
    • 出力:FALSE。
  • 同様に isnumber(search($e$6, b5)) は同じ操作を行います。 ここでは 検索 が見つかります。 9 において B5 のセルがあります。
    • 出力:FALSE。
  • その後 アンド は、両方のロジックが一致するかどうかをチェックします。 真です。
    • 出力:FALSE。
  • 最後に イフ 関数は、" 発見" になった場合、前のロジックと同じように 真です。 それ以外の場合は void cellです。
    • 出力します。 ここで、出力は 空・空白 の文字列値に一致するものがないため。 B5 のセルがあります。
  • では、ドラッグして フィルハンドル へのアイコン オートフィル は、残りのセルで対応するデータを表示します。

最後に、部分一致する文字列を探します。

7.配列式を応用した2列の文字列の部分一致の検索

で配列式を適用することができます。 組み合わせ のような一部の関数の イフ 関数を使用します。 COUNT機能 , 検索 を求める関数です。 部分一致文字列 さらに、これらの関数を好みに応じて変更することも可能です。 さて、以下の例では、実際に そのため、この2つの基準に基づいて 部分一致文字列 .

ステップス

  • まず最初に、新しいセルを選択する必要があります C5 ステータスを保持したい場所。
  • 次に、以下に示す計算式で C5 のセルがあります。
=IF(COUNT(SEARCH({"A", "12"}, B5))=2, "発見", "")

  • 最後に エンタメ をクリックすると結果が表示されます。

フォーミュラ・ブレークダウン

  • これです。 search({"a", "12″}, b5) は文字列があるかどうかを検索します。 A と番号 12 において B5 のセルがあります。
    • 出力:{#VALUE!,7}。
  • その後 COUNT 関数は、上記の出力から有効なセルをカウントします。
    • 出力:1.
  • 最後に イフ 関数は、" 発見" の両方があれば COUNT 関数が返す 2. それ以外の場合は void cellです。
    • 出力します。 ここで、出力は 空・空白 の文字列値に一致するものがないため。 B5 のセルがあります。
  • その結果、ドラッグ フィルハンドル へのアイコン オートフィル は、残りのセルで対応するデータを表示します。

最後に、部分一致する文字列を探します。

Excelで部分一致の文字列の位置を取得する方法

ここで、もっとも興味深いのは、このような場合に限って MATCH を求める関数です。 部分一致文字列 をExcelで表示する例を示します。 基本的には、基準があるので、その基準に基づいて 部分一致文字列 から "ランク付きネーム" の欄があります。

ステップス

  • まず、新しいセルを選択する必要があります D9 結果を保存したい場所。
  • 次に、以下に示す計算式で D9 のセルがあります。
=MATCH("*"&D6& "*", B5:B10, 0)

  • 最後に エンタメ をクリックすると結果が表示されます。

フォーミュラ・ブレークダウン

  • まず最初に。 ルックアップバリュー でございます "*"&D6& "*" ここでは アスタリスク (*) として ワイルドカード とは ゼロ またはそれ以上のテキスト文字列。
  • 2つ目は ルックアップ_アレイ でございます B5:B10 .
  • 3つ目。 [match_type]です。 でございます EXACT(0)です。

続きを読む INDEXとMatchを使った部分一致の方法(2通り)

覚えておきたいこと

✅ ここでは XLOOKUP 関数は Microsoft 365版 のユーザーだけです。 Excel 365 はこの機能を使うことができます。

✅そのとき、その ブイルック のルックアップ値を常に検索します。 最左 さらに、この機能は "決して" のデータを検索します。 .

✅最後は アスタリスク(*) として使用されます。 ワイルドカード .だから、両側で使ってください。 部分一致文字列 の両側でワイルドカード文字が必要な場合。

プラクティス部門

さて、説明した方法を自分で実践してみましょう。

結論

ここで、この記事では、以下のことを実行する方法について説明します。 部分一致文字列 を使用してエクセルで また、この記事を読んで、何か疑問があれば、ぜひご意見をお聞かせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。