検索
ホームページトピックexcelExcel Regexの例:式で正規表現を使用します

Excelフォーミュラで正規表現がサポートされていない理由を理解できませんか?これで、それらは私たちのカスタム関数を使用すると、特定のパターンに一致する文字列を簡単に見つけ、交換、抽出し、削除できます。

一見、Excelにはテキスト文字列の操作に必要なものがすべて揃っています。うーん…正規表現はどうですか?おっと、Excelには組み込みのRegex関数はありません。しかし、私たちが自分のものを作成できないと誰も言っていません:)

正規表現とは何ですか?

正規表現(別名RegexまたはRegexp )は、検索パターンを定義する特別にエンコードされた文字シーケンスです。そのパターンを使用して、一致する文字の組み合わせを文字列で見つけるか、データ入力を検証できます。ワイルドカード表記に精通している場合は、再認知をワイルドカードの高度なバージョンと考えることができます。

正規表現には、特殊文字、演算子、およびコンストラクトで構成される独自の構文があります。たとえば、[0-5]は0から5までの1桁を一致させます。

正規表現は、JavaScriptやVBAを含む多くのプログラミング言語で使用されます。後者には特別なregexpオブジェクトがあり、これを利用してカスタム関数を作成します。

ExcelはRegexをサポートしていますか?

残念ながら、Excelに組み込まれた正規表現機能はありません。式で正規表現を使用できるようにするには、独自のユーザー定義関数(VBAまたは.NETベース)を作成するか、正規表現をサポートするサードパーティツールをインストールする必要があります。

excel regexチートシート

正規表現パターンが非常にシンプルであろうと非常に洗練されているかどうかにかかわらず、一般的な構文を使用して構築されます。このチュートリアルは、定期的な表現を教えることを目的としていません。このためには、初心者向けの無料チュートリアルから上級ユーザー向けのプレミアムコースまで、オンラインで多くのリソースがあります。

以下に、基本を把握するのに役立つ主な正規表現パターンへの迅速な参照を示します。また、さらに例を勉強するときに、チートシートとして機能する場合があります。

正規表現に満足している場合は、regexp関数に直接ジャンプできます。

文字

これらは、特定の文字に一致する最も頻繁に使用されるパターンです。

パターン 説明 マッチ
ワイルドカードキャラクター:ラインブレイクを除く単一のキャラクターに一致します .ot ドットホットポット@ot
\ d 数字文字:0から9までの1桁 \ d A1Bでは、 1つ一致します
\ d 数字ではない文字 \ d A1Bでは、 ABを一致させます
\ s Whitespace Character:スペース、タブ、新しいライン、キャリッジリターン 。\ s。 3セントで、 3 cと一致します
\ s 任意の非白文字 \ s 30セントで、 30セントとセントに一致します
\ w 単語の文字:ASCII文字、数字またはアンダースコア \ w 5_CATS ***で、 5_CATSに一致します
\ w 英数字ではない、またはアンダースコアではないキャラクター \ w 5_CATS ***で、マッチ***
\ t タブ
\n 改行 \ n \ d 下の2行の文字列では、10と一致します

5匹の猫10匹の犬

\ キャラクターの特別な意味を逃れるので、あなたはそれを検索することができます \。\ w \。 リテラルを見つけることができるように、期間を逃れます。」文字列のキャラクターミスターミセス教授

キャラクタークラス

これらのパターンを使用すると、異なる文字セットの要素を一致させることができます。

パターン 説明 マッチ
[文字] 括弧内の単一の文字に一致します d [oi] g 掘り
[^文字] 括弧内ではない単一の文字に一致します d [^oi] g ダグ、掘りd1gは掘るのと一致します
[from – to] ブラケット間の範囲内の任意の文字に一致します [0-9] [AZ] [AZ] 0から9までの1桁単一の小文字の文字単一の大文字

数量詞

数量詞は、一致する文字の数を指定する特別な表現です。量子は常にその前にキャラクターに適用されます。

パターン 説明 マッチ
* ゼロ以上の発生 1a* 1、1A1AA、1AAAなど。
1つ以上の発生 po ポットでは、貧しいポーのポーマッチします
ゼロまたは1つの発生 道路、ロッド
*? ゼロ以上の発生ですが、できるだけ少ないです 1a*? 1A1AA 、および1AAAでは、 1Aと一致します
1つ以上の出来事ですが、できるだけ少ないです PO? ポット貧困層では、 POに一致します
?? ゼロまたは1つの発生ですが、できるだけ少ないです roa ?? 道路ロッドでは、 ROに一致します
{n} 前のパターンn回と一致します \ d {3} 正確に3桁
{n、} 前のパターンがn以上に一致します \ d {3、} 3桁以上
{n、m} nとmの間の前のパターンと一致します \ d {3,5} 3〜5桁

グループ化

グループ化コンストラクトは、ソースストリングからサブストリングをキャプチャするために使用されるため、操作を実行できます。

構文 説明 マッチ
(パターン) キャプチャグループ:一致するサブストリングをキャプチャし、順序数を割り当てます (\ d) 5匹の猫と10匹の犬で、 5 (グループ1)と10匹(グループ2)を捕らえます
(?:パターン) 非キャプチャグループ:グループと一致しますが、キャプチャしません (\ d)(?:犬) 5匹の猫と10匹の犬で、 10匹を捕らえます
\ 1 グループ1の内容 (\ d)\(\ d)= \ 2 \ \ 1 一致する5 10 = 10 5とキャプチャグループのキャプチャにある510をキャプチャします
\ 2 グループ2の内容

アンカー

アンカーは、一致を探す場所で入力文字列の位置を指定します。

アンカー 説明 マッチ
^ 文字列の開始

注:[^括弧内の内側]は「NOT」を意味します

^\ d 文字列の開始時に任意の数の数字。

5匹の猫と10匹の犬で、 5匹に一致します

$ 文字列の終わり \ d $ 文字列の端にある任意の数字。

10 Plus 5で15を与えます。一致15

\ b 単語の境界 \ bjoy \ b 喜びは別の言葉として一致しますが、楽しいものではありません。
\ b 単語の境界ではありません \ bjoy \ b 楽しいもの喜びを一致させますが、別の言葉としてではありません。

交互(または)コンストラクト

交互のオペランドは、またはロジックを有効にするため、この要素またはその要素のいずれかに一致させることができます。

構成 説明 マッチ
| 垂直バーで区切られた単一の要素に一致します (s | sh)ells 彼女は海の殻を販売し、販売砲弾をマッチします

ルックアラウンド

ルックアラウンドコンストラクトは、他の何かが従っている、または先行していないものを一致させたい場合に役立ちます。これらの表現は、実際の文字ではなくポジションに一致するため、「ゼロワイドアサーション」または「ゼロワイドマッチ」と呼ばれることもあります。

注記。 VBA Regexフレーバーでは、LookBehindsはサポートされていません。

パターン 説明 マッチ
(?=) ポジティブな見た目 x(?= y) Yが続く場合の式Xと一致します(つまり、xの前にyがある場合)
(?!) ネガティブルックヘッド x(?!y) yが続いていない場合、式xに一致します
(? ポジティブルックベヒンド (? Yが先行する場合の式Xと一致します(つまり、xの後ろにyがある場合)
(? ネガティブルックベヒンド (? yが先行しない場合の式xに一致します

必需品を知ったので、最も興味深い部分に進みましょう。実際のデータで正規表現を使用して文字列を解析し、必要な情報を見つけましょう。構文の詳細が必要な場合は、正規表現言語に関するMicrosoftガイドが役立つ可能性があります。

ExcelのカスタムRegex関数

すでに述べたように、Microsoft Excelには組み込みのRegex関数はありません。正規表現を有効にするために、3つのカスタムVBA関数(別名ユーザー定義関数)を作成しました。以下のリンクされたページまたはサンプルワークブックからコードをコピーしてから、独自のExcelファイルに貼り付けることができます。

VBA regexp機能の動作方法

このセクションでは、内側のメカニズムについて説明し、バックエンドで何が起こるかを正確に知りたい人にとって興味深いかもしれません。

VBAで正規表現の使用を開始するには、Regex Object Reference Libraryをアクティブにするか、CreateObject関数を使用する必要があります。 VBAエディターに参照を設定する問題を節約するために、後者のアプローチを選択しました。

regexpオブジェクトには4つのプロパティがあります。

  • パターン- 入力文字列に一致するパターンです。
  • グローバル- 入力文字列にすべての一致を見つけるか、最初の一致を見つけるかを制御します。私たちの関数では、すべての一致を取得するために真実に設定されています。
  • Multiline-マルチライン文字列のラインブレーク全体でパターンを一致させるか、最初の行でのみパターンを一致させるかを決定します。私たちのコードでは、あらゆる行で検索するのに忠実に設定されています。
  • Ignorecase-正規表現が症例に敏感な(デフォルト)か、ケース非感受性(Trueに設定)かを定義します。私たちの場合、オプションのmatch_caseパラメーターの構成方法に依存します。デフォルトでは、すべての機能はケースに敏感です。

VBA regexpの制限

Excel VBAは本質的なregexパターンを実装していますが、.NET、Perl、Java、およびその他の正規表現エンジンで利用可能な多くの高度な機能がありません。たとえば、VBA Regexpは、(?i)ケース非感受性マッチングの場合、またはマルチラインモードの場合(?m)などのインライン修飾子をサポートしていません。

excel regex一致関数

regexpmatch関数は、正規表現に一致するテキストの入力文字列を検索し、一致が見つかった場合にtrueを返すようなもので、それ以外の場合はfalseです。

regexpmatch(テキスト、パターン、[match_case])

どこ:

  • テキスト(必須) - 検索する1つ以上の文字列。
  • パターン(必須) - 一致する正規表現。
  • match_case (オプション) - マッチタイプ。 TRUEまたは省略 - ケースに敏感。 false -Case -Insensive

関数のコードはこちらです。

例:文字列に合わせて正規表現を使用する方法

以下のデータセットでは、SKUコードを含むエントリを識別すると仮定します。

各SKUが2つの大文字で始まり、その後にハイフンが続き、4桁が続くことを考えると、次の式を使用してそれらを一致させることができます。

パターン:\ b [az] {2} - \ d {4} \ b

ここで、[az] {2}はaからzまでの2つの大文字、\ d {4}は0から9までの4桁を意味します。単語境界\ bは、SKUが個別の単語であり、大きな文字列の一部ではないことを示します。

パターンが確立されていると、通常のように式の入力を開始し、機能の名前がExcelのオートコンプリートが提案するリストに表示されます。

Excel Regexの例:式で正規表現を使用します

元の文字列がA5にあると仮定すると、式は次のとおりです。

=RegExpMatch(A5, "\b[AZ]{2}-\d{3}\b")

便宜上、正規表現を別のセルに入力し、パターン引数に絶対参照($ 2)を使用できます。これにより、式を他のセルにコピーすると、セルアドレスが変更されないようになります。

=RegExpMatch(A5, $A$2)

True and Falseの代わりに独自のテキストラベルを表示するには、IF関数にnest regexpMatchを表示し、 value_if_trueおよびvalue_if_false引数で目的のテキストを指定します。

=IF(RegExpMatch(A5, $A$2), "Yes", "No")

Excel Regexの例:式で正規表現を使用します

その他の式の例については、次のことを参照してください。

  • 正規表現を使用して文字列を一致させる方法
  • Regexesを使用したデータ検証をExcelします

excel regex抽出機能

regexpextract関数は、正規表現に一致するサブストリングを検索し、すべての一致または特定の一致を抽出します。

regexpextract(テキスト、パターン、[instance_num]、[match_case])

どこ:

  • テキスト(必須) - 検索するテキスト文字列。
  • パターン(必須) - 一致する正規表現。
  • instance_num (オプション) - 抽出するインスタンスを示すシリアル番号。省略した場合、見つかったすべてのマッチ(デフォルト)を返します。
  • match_case (optional) - 一致(trueか省略)かを定義するか、無視(false)テキストケースを定義します。

ここで関数のコードを取得できます。

例:正規表現を使用して文字列を抽出する方法

もう少し例を挙げて、請求書番号を抽出しましょう。このために、7桁の数字に一致する非常にシンプルな正規表現を使用します。

パターン:\ b \ d {7} \ b

パターンをA2に置くと、このコンパクトでエレガントなフォーミュラでジョブを完了させます。

=RegExpExtract(A5, $A$2)

パターンが一致している場合、式は請求書番号を抽出します。一致が見つからない場合 - 何も返されません。

Excel Regexの例:式で正規表現を使用します

その他の例については、Regexを使用してExcelで文字列を抽出する方法をご覧ください。

Excel Regexの交換機能

regexpreplace関数は、正規表現を一致させる値を、指定したテキストに置き換えます。

regexpreplace(テキスト、パターン、交換、[instance_num]、[match_case])

どこ:

  • テキスト(必須) - 検索するテキスト文字列。
  • パターン(必須) - 一致する正規表現。
  • 交換(必須) - 一致するサブストリングを置き換えるテキスト。
  • instance_num (オプション) - 交換するインスタンス。デフォルトは「すべてのマッチ」です。
  • match_case (optional) - 一致するか(trueか省略)か、無視(false)テキストケースを制御します。

関数のコードはこちらから入手できます。

例:正規表現を使用して文字列を交換または削除する方法

一部のレコードにはクレジットカード番号が含まれています。この情報は機密であり、何かに置き換えるか、完全に削除することをお勧めします。両方のタスクは、 regexpreplace関数の助けを借りて実現できます。どうやって? 2番目のシナリオでは、空の文字列に置き換えます。

サンプルテーブルには、すべてのカード番号が16桁で、スペースで区切られた4つのグループで記述されています。それらを見つけるために、この正規表現を使用してパターンを再現します。

パターン:\ b \ d {4} \ d {4} \ d {4} \ d {4} \ b

交換のために、次の文字列が使用されます。

交換:xxxx xxxx xxxx xxxx

そして、ここにクレジットカード番号を鈍感な情報に置き換えるための完全な式があります。

=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "XXXX XXXX XXXX XXXX")

個別のセル(A2とB2)の正規表現と交換テキストを使用すると、式は同様にうまく機能します。

Excel Regexの例:式で正規表現を使用します

Excelでは、「削除」は「交換」の特定のケースです。クレジットカード番号を削除するには、置換引数に空の文字列( "")を使用するだけです。

=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")

Excel Regexの例:式で正規表現を使用します

ヒント。結果に空のラインのリグを取得するには、この例に示すように、別のregexpreplace関数を使用できます。正規表現を使用して空白線を削除する方法。

詳細については、以下をご覧ください。

  • Regexを使用してExcelの文字列を交換する方法
  • 正規表現を使用して文字列を削除する方法
  • 正規表現を使用して、白人を剥がす方法

サブストリングを一致させ、抽出、交換し、削除する正規表現ツール

究極のスイートのユーザーは、ワークブックに単一のコードを挿入することなく、正規表現のすべての力を得ることができます。必要なコードはすべて、開発者によって書かれており、インストール中にExcelに統合されています。

上記のVBA関数とは異なり、Ultimate Suiteの関数は.NETベースであり、2つの主な利点が得られます。

  1. VBAコードを追加してマクロ対応ファイルとして保存することなく、通常の.xlsxワークブックで正規表現を使用できます。
  2. .NET Regex Engineは、フル機能の古典的な正規表現をサポートしています。これにより、より洗練されたパターンを構築できます。

ExcelでRegexの使用方法

究極のスイートがインストールされているため、Excelで正規表現を使用することは、これらの2つのステップと同じくらい簡単です。

  1. The AbleBitsデータの[The Text Group]で、 Regexツールをクリックします。

    Excel Regexの例:式で正規表現を使用します

  2. Regexツールペインで、次のことを行います。
    • ソースデータを選択します。
    • 正規表現パターンを入力してください。
    • 目的のオプションを選択します。一致抽出削除、または交換します
    • 結果を値ではなく式として取得するには、挿入を式チェックボックスとして選択します。
    • アクションボタンを押します。

    たとえば、セルA2:A6からクレジットカード番号を削除するには、これらの設定を構成します。

    Excel Regexの例:式で正規表現を使用します

Triceでは、元のデータの右側の新しい列にablebitsregex関数が挿入されます。私たちの場合、式は次のとおりです。

=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")

フォーミュラが存在したら、ネイティブフォーミュラのように編集、コピー、または移動できます。

Excel Regexの例:式で正規表現を使用します

細胞に直接正規表現式を挿入する方法

EableBitsReGex関数は、アドインのインターフェイスを使用せずにセルに直接挿入することもできます。方法は次のとおりです。

  1. フォーミュラバーのFXボタンをクリックするか、 [式]タブに関数を挿入します
  2. [関数の挿入]ダイアログボックスで、 AbleBitsUDFSカテゴリを選択し、関心のある関数を選択し、[OK]をクリックします。

    Excel Regexの例:式で正規表現を使用します

  3. 通常のように関数の引数を定義し、[OK]をクリックします。終わり!

詳細については、ExcelについてはRegexツールを参照してください。

これは、Excelセルのテキストに合わせ、抽出、交換、削除するために正規表現を使用する方法です。読んでくれてありがとう、来週私たちのブログでお会いできることを楽しみにしています!

利用可能なダウンロード

Excel Regex -Formulaの例(.xlsmファイル)究極のスイート - 試用版(.exeファイル)

以上がExcel Regexの例:式で正規表現を使用しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Excelでタイムラインを作成してピボットテーブルとチャートをフィルタリングする方法Excelでタイムラインを作成してピボットテーブルとチャートをフィルタリングする方法Mar 22, 2025 am 11:20 AM

この記事では、Excelピボットテーブルとチャートのタイムラインを作成するプロセスをガイドし、それを使用してダイナミックで魅力的な方法でデータと対話する方法を示します。 あなたはあなたのデータをピボで編成しています

Excelでドロップダウンする方法Excelでドロップダウンする方法Mar 12, 2025 am 11:53 AM

この記事では、単一および依存リストを含むデータ検証を使用して、Excelでドロップダウンリストを作成する方法について説明します。 プロセスの詳細、一般的なシナリオのソリューションを提供し、データ入力制限やPEなどの制限について説明します

Excelで列を合計する方法Excelで列を合計する方法Mar 14, 2025 pm 02:42 PM

この記事では、Sum関数、Autosum機能、および特定のセルを合計する方法を使用して、Excelの列を合計する方法について説明します。

Excelでパイチャートの作成方法Excelでパイチャートの作成方法Mar 14, 2025 pm 03:32 PM

この記事では、データの準備、チャート挿入、および強化された視覚分析のためのパーソナライズオプションに焦点を当てて、Excelでパイチャートを作成およびカスタマイズする手順を詳述します。

Excelでテーブルを作る方法Excelでテーブルを作る方法Mar 14, 2025 pm 02:53 PM

記事では、テーブルの作成、フォーマット、およびカスタマイズでExcelで説明し、データ分析のために合計、平均、ピボットアブルなどの関数を使用しています。

Excelで平均を計算する方法Excelで平均を計算する方法Mar 14, 2025 pm 03:33 PM

記事では、平均関数を使用してExcelの平均の計算について説明します。主な問題は、この関数をさまざまなデータセットに効率的に使用する方法です。(158文字)

Excelにドロップダウンを追加する方法Excelにドロップダウンを追加する方法Mar 14, 2025 pm 02:51 PM

記事では、データ検証を使用してExcelのドロップダウンリストの作成、編集、削除について説明します。主な問題:ドロップダウンリストを効果的に管理する方法。

Googleシートでデータを並べ替えるために知っておくべきことはすべてGoogleシートでデータを並べ替えるために知っておくべきことはすべてMar 22, 2025 am 10:47 AM

グーグルシートのマスタリングソート:包括的なガイド Googleシートでのデータのソートは複雑である必要はありません。このガイドは、色、日付、複数の列ごとに、シート全体の並べ替えから特定の範囲まで、さまざまな手法をカバーしています。 あなたがノビかどうか

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール