ExcelでRegex関数を使用する方法

Susan Sarandon
Susan Sarandonオリジナル
2025-02-06 22:28:14226ブラウズ

Excelの正規表現関数を迅速に見る:Regextest、Regexextract、およびRegexReplace

正規表現(Regex)は、テキスト文字列が特定のパターンに準拠しているかどうかを確認し、指定されたパターンに一致するテキスト文字列を抽出または交換するために使用される検索パターンです。その複雑さを考えると、この記事は、Excelでの使用の簡略化された要約と例を提供します。

Regex関数は、WindowsまたはMacにMicrosoft 365 Excelを使用しているユーザーや、WebでExcelを使用するユーザーに適しています。

regextest:テキストパターンマッチングテスト

この関数は、テキスト文字列が指定されたパターンと一致し、テスト結果に基づいてtrueまたはfalseを返すかどうかをテストします。これは、データが特定のパターンに従うかどうかをテストする素晴らしい方法です。

grammar

<code>REGEXTEST(a, b, c)</code>
of:

  • a(必須)は、テストするテキストへのテキスト、値、またはセルの参照です。
  • b(必須)は、テストを実行するために使用されるモードです。
  • c(オプション)0テストをケースに敏感にしたい場合。

regextestの例

工場コードには以下が含まれます

How to Use the REGEX Functions in Excel製品サイズの小文字の表現( "xs"は非常に小さいことを意味し、「s」は小さいことを意味し、「m」は中程度を意味します)、

は、1桁または2桁の製品材料を表します

    製品製造の場所を表す3つの大文字、および
  • 3つの部分は、短い水平線で区切られています。
  • すべての製品コードがこの構造と一致するかどうかをテストする必要があります。
  • したがって、セルB2で、次の式を入力します
of:

は、テストするコードを含む列への構造化された参照です。
<code>=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)</code>

は、テストする製品コードの最初の部分であり、垂直線は「または」を示します。
  • [@Code]は、テストする製品コードの2番目の部分であり、
  • は任意の1桁を意味し、1桁または2桁があることを意味します。
  • [xs|s|m|l|xl]
  • は、テストする製品コードの3番目の部分であり、大文字を意味します。
  • [0-9]{1,2}テストするコードの3つの部分は、短い水平線で区切られています。 [0-9] {1,2} 0は式の最後のパラメーターであり、Excelにケースの感度をテストするように指示します。
  • [A-Z]{3} [A-Z] {3}
    • 国コードには2つの大文字のみが含まれているため、
    • m-2-ukは無効です(誤った結果で示されています)。
    • XL-714-AUSは、マテリアルコードに3桁が含まれているため、無効です。
    • サイズコードが大文字になっているため、
    • s-5-usaは無効です。

    この例には、[]{}などの文字の使用が含まれています。ただし、テストの実行に使用されるパターンを決定するためにも使用できる他の多くの文字(マーカーとも呼ばれます)があり、その一部は以下の例で使用されます。

    regexextrage:特定のテキストフラグメント

    を抽出します

    この関数は、指定されたパターンに従ってセル内のテキストの一部を返します。たとえば、数字とテキストを分離することをお勧めします。

    grammar

<code>REGEXTEST(a, b, c)</code>

of:

  • d(必須)は、テキストが抽出されるテキスト、値、またはセルの参照です。
  • e (必須)は、抽出するパターンです。
  • f(オプション)最初の一致のみを抽出する場合。
  • g(オプション)0抽出を症例に敏感にしたい場合。
フォーマットされたExcelテーブルはオーバーフローアレイを処理できないため、パラメーター

fの配列として一致を抽出する場合、データが通常の形式であることを確認してください。

regexextractの例

最初に名前に焦点を当てます。セルB2で、次の式を入力します

How to Use the REGEX Functions in Excelof:

a2は、抽出するデータを含むセルです。
<code>=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)</code>

Excelに、大文字で始まる単語を抽出するように指示します。
  • 1は、上記のパターンの各例をアレイとして個々のセルに分離することを意味します(言い換えれば、最初の名前はセルB2で、2番目の名前はセルC2にあります)。このパラメーターが省略されている場合、ExcelはセルB2の最初の一致(名)のみを返します。
  • [A-Z][a-z] Enterを押した後、Excelは抽出を正常に実行し、セルC2の周りに水色の線を追加して、オーバーフロー配列であることを思い出させます。

セルB2を選択した後、セルの右下隅にある塗りつぶしハンドルを使用して、この相対式を残りの詳細行にコピーできるようになりました。

How to Use the REGEX Functions in Excel

ここで、同様の正規表現式を使用して、顧客の電話番号を抽出する必要があります。セルD2に、次の式を入力します

of:How to Use the REGEX Functions in Excel

  • a2は、抽出するデータを含むセルです。
  • [0-9()] ゼロから9の数値は、括弧内の数値を抽出します。
  • [0-9-] 2番目の " - "は、電話番号の2つの部分を区別する短い水平線を表します。抽出されます。

列Aの各セルにこのパターンの1つのインスタンスのみがあるため、追加のパラメーターを追加する必要はありません。同様に、この式が期待される結果を生成することを確認したら、塗りつぶしハンドルを使用して、列Dの残りのセルにコピーできます。

How to Use the REGEX Functions in Excel

Excelには、Textsplit関数やExcelのクイックフィルツールを使用するなど、データを抽出して同様の結果を得る他の方法があります。

regexReplace:操作データ

この関数は、セル内のテキストを取得し、別のセルに新しいバージョンのデータを作成します。関数がregexReplaceと呼ばれている場合でも、実際に元のテキストを元の位置に置き換えません。

grammar

<code>REGEXTEST(a, b, c)</code>
of:

  • h(必須)は、置き換えるテキストへのテキスト、値、またはセルの参照です。
  • i (必須)は、交換するモードです。
  • j(必須)は、作成する交換コンテンツです。
  • k(オプション)は、置き換えるパターンの発生数です。
  • l(オプション)0交換をケースに敏感にしたい場合。

使用状況の例の例

以下では、列Aに一連の名前を見ることができます。目標は、列Bでこれらの名前を再作成することですが、名前を分離するコンマを含む「姓、最初の」形式を使用します。

How to Use the REGEX Functions in Excel セルB2で、次の式を入力します

of:

<code>=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)</code>

は、影響するデータを含む列を指します。
  • [@Client name]フォーミュラに2回(およびスペースで区切られています)、Excelに大文字を含む2つのテキスト文字列を入手し、その後1つ以上の小文字が続くように伝えます。
  • [A-Z][a-z] Excelに、これら2つのテキスト文字列の順序を逆にし、コンマとスペースで分離するように指示してください。 Dollar Signが含まれていない場合、Excelは各セルの結果として「2、1」のみを返します。
  • , パラメーター
  • k
and

l >は、上記の式では処理されません。これは、Excelがすべての発生を置き換えることを望んでいるためです(パラメーターのデフォルト値k )そして、ケースセンシティブ(パラメーターのデフォルト値 l )を交換します。 フォーマットされたテーブルが使用されるため、Enterを押した後、式は列Bの残りのセルに適用されます。

How to Use the REGEX Functions in Excel


正規表現は、Excelだけで使用されるわけではありません。実際、Regexを使用して、コピー-Paste PDFテキストの修正、ダウンロードされたファイルの名前変更、通貨のフォーマット、HTMLタグの削除など、コンピューターで他のタスクを自動的に実行できます。

以上がExcelでRegex関数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。