目次
Regexを使用したExcelデータ検証を行う方法
カスタムの正規表現を使用したExcelデータ検証
1.カスタムの正規表現一致関数を追加します
2。名前付き式を作成します
3.データ検証を設定します
4.データ検証をより多くのセルにコピーします
Regexを使用した電子メールの検証
正規表現を使用したパスワードの検証
正規表現データ検証が機能していません
regexpmatch関数がありません
誤った正規表現
間違った名前のフォーミュラ
選択した空白オプションを無視します
ダウンロード用のワークブックを練習します
ホームページ トピック excel 正規表現を使用したデータの検証を優れています(regex)

正規表現を使用したデータの検証を優れています(regex)

Mar 28, 2025 am 10:25 AM

チュートリアルでは、カスタムRegexMatch関数の助けを借りて、正規表現を使用してExcelでデータ検証を行う方法を示しています。

Excelワークシートのユーザー入力を制限することになると、データ検証は不可欠です。特定のセル内の数字または日付のみを許可したいですか?または、テキスト値を特定の長さに制限しますか?それとも、特定の範囲外の時間を拒否しますか?問題ありません。これはすべて、プリセットまたはカスタム検証基準で簡単に実行できます。しかし、特定のパターンに一致する有効な電子メールアドレスまたは文字列のみを許可したい場合はどうなりますか?悲しいかな、それは不可能です。あなたが言う修復的なことですか?うーん…それはうまくいくかもしれない!

Regexを使用したExcelデータ検証を行う方法

残念ながら、組み込みのExcel機能はどれも正規表現をサポートしておらず、データの検証も例外ではありません。正規表現を使用してセル入力を検証できるようにするには、最初にカスタムRegex関数を作成する必要があります。別の合併症は、VBAユーザー定義の関数をデータ検証に直接提供できないことです。名前付き式の形のメディエーターが必要です。

上記を考慮して、Regexesを使用してExcelのデータを検証するための手順を簡単に概説しましょう。

  1. 入力値が正規表現と一致するかどうかをチェックするカスタム正規表現関数を作成します。
  2. Regexフォーミュラの名前を定義します。
  3. 指定された式に基づいてデータ検証ルールを構成します。
  4. 検証設定を必要なだけ多くのセルにコピーします。

計画のように聞こえますか?実際にそれを実装してみましょう!

カスタムの正規表現を使用したExcelデータ検証

この例では、非常に一般的なケース - 特定のパターンの値のみを許可する方法について説明します。

ワークシートにSKUコードをいくつか保持し、特定のパターンに一致するコードのみがリストに入ることを確認したいとします。それぞれのSKUは、ハイフンで分離された2つのグループ、3つの大文字、2番目のグループ-3桁を含む最初のグループで構成されている場合、以下の正規表現を使用してそのような値を識別できます。

パターン: ^[az] {3} - \ d {3} $

文字列の開始(^)と終了($)が固定されているため、セルにパターン以外の文字を入力できないことに注意してください。

1.カスタムの正規表現一致関数を追加します

ワークブックにregexpmatch関数を挿入することから始めます。コードはすでにExcelの達人によって書かれているため、上記のページからコピーしてVBAエディターに貼り付けてください。

参照用の関数の構文は次のとおりです。

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

どこ:

  • テキスト(必須) - ソース文字列(私たちのコンテキストで - 検証済みのセル)。
  • パターン(必須) - 一致する正規表現。
  • match_case (オプション) - マッチタイプ。 TRUEまたは省略 - ケースに敏感。 false -Case -Insensive。

ヒント。あなたが当社の究極のスイートのユーザーである場合、ワークブックにVBAコードを追加することなく、ExcelでRegexデータ検証を行うことができます。 Regexツールに含まれているカスタムBitSregexMatch関数を活用するだけです。

2。名前付き式を作成します

ターゲットワークシートでは、セルA1を選択し(その内容と実際に検証するセルに関係なく)、 Ctrl F3を押して名前マネージャーを開き、この式の名前を定義します。

=RegExpMatch(Sheet1!A1, "^[AZ]{3}-\d{3}$")

または、いくつかのセル(この例のA2)に正規表現を入力し、2番目の引数に$ 2を供給することができます。

=RegExpMatch(Sheet1!A1, Sheet1!$A$2)

式が正しく機能するには、テキスト引数の相対参照(A1)とパターンの絶対参照($ 2)を必ず使用してください。

フォーミュラがSKU番号を検証することを目的としていることを考えると、それに応じて名前を付けます: validate_sku

正規表現を使用したデータの検証を優れています(regex)

重要なメモ!式を定義するときは、最初の引数が現在選択されているセルを指していることを再確認してください。そうしないと、式が機能しません。たとえば、セルA1がシートで選択されている場合、A1を最初の引数に入れます(推奨に従って)。 B2が選択されている場合は、最初の引数にB2を使用します。現在選択されているセルと一致する限り、どの特定の参照を使用するかは実際には問題ではありません。

ステップバイステップの指示については、Excelで名前のフォーミュラを作成する方法をご覧ください。

3.データ検証を設定します

チェックする最初のセル(この場合はA5)を選択し、指定された式に基づいてカスタムデータ検証ルールを作成します。このために、次のことを行います。

  1. [データ]タブ> [データの検証]をクリックします。
  2. 許可ドロップダウンリストで、カスタムを選択します。
  3. 対応するボックスに以下の式を入力します。

    =Validate_SKU

  4. 無視する空白のオプションを選択してください。そうしないと、ルールが機能しません。

正規表現を使用したデータの検証を優れています(regex)

オプションで、無効なデータがセルに入力されたときに表示されるカスタムエラーメッセージを入力できます。

正規表現を使用したデータの検証を優れています(regex)

詳細な手順が必要だと感じた場合は、ここに進みます。Excelでカスタムデータ検証を設定する方法。

4.データ検証をより多くのセルにコピーします

検証設定をより多くのセルにコピーするには、これが必要なことです。

  1. データ検証でセルを選択し、 Ctrl Cを押してコピーします。
  2. 検証する他のセルを選択し、それらを右クリックし、 [特別な貼り付け]をクリックし、 [検証]オプションを選択します。
  3. [OK]をクリックします。

    正規表現を使用したデータの検証を優れています(regex)

詳細については、データ検証をコピーする方法についてご覧いただけます。

さて、誰かが検証済みのセルのいずれかに無効なSKUを入力しようとするたびに、次の警告メッセージが表示されます。

正規表現を使用したデータの検証を優れています(regex)

Regexを使用した電子メールの検証

電子メールの検証を実行するには、メールアドレスに一致する正規表現を作成することから始めます。

パターン: ^[\ w \

構文の詳細な説明については、有効な電子メールアドレスに一致するようにRegexを参照してください。

そして次に、すでに馴染みのある手順を実行して、検証基準を指定します。

  1. B2に上記の正規表現を入力します。
  2. セルA1を選択し、次のようなvalidate_emailという名前を定義します。

    =RegExpMatch(Sheet1!A1, Sheet1!$B$2)

    正規表現を使用したデータの検証を優れています(regex)

  3. セルB5の場合、以下の式を使用してカスタムデータ検証を適用します。無視された空白のオプションを選択しておくことが不可欠です。

    =Validate_Email

    正規表現を使用したデータの検証を優れています(regex)

    さらに、ユーザーに有効な電子メールアドレスを入力するように求めるカスタムエラーメッセージを構成できます。

  4. ルールを下のセルにコピーします。

検証済みのセルに入力する電子メールアドレスが正規表現パターンと一致しない場合、次のアラートがポップアップします。

正規表現を使用したデータの検証を優れています(regex)

正規表現を使用したパスワードの検証

パスワード検証にRegexを使用する場合、最初に決定するのは、正規表現が確認するものです。ここに、あなたを正しい軌道に乗せるかもしれないいくつかの例があります。

パスワードは少なくとも6文字の長さでなければならず、文字(大文字または小文字)と数字のみを含めることができます。

パターン: ^[a-za-z0-9] {6、} $

パスワードは最低6文字の長さで、少なくとも1つの文字と1桁を含める必要があります。

パターン: ^(?=。*[a-za-z])(?=。*\ d)[a-za-z \ d] {6、} $

パスワードは最小6文字の長さで、少なくとも1つの大文字、1つの小文字、1桁の数字を含める必要があります。

パターン: ^(?=。*[az])(?=。*[az])(?=。*\ d)[a-za-z \ d] {6、} $

パスワードは最小6文字であり、少なくとも1文字、1桁、特別な文字を1桁目にする必要があります。

パターン: ^(?=。*[a-za-z])(?=。*\ d)(?=。*[@$!%*#?&_-])[a-za-z \ d@$!%*#&_-] {6、} $

パターンを確立すると、データ検証の設定に進むことができます。

  1. C2にパスワードRegexを入力します。
  2. セルA1を選択し、 validate_passwordと呼ばれる名前の式を作成します。

    =RegExpMatch(Sheet1!A1, Sheet1!$C$2)

    正規表現を使用したデータの検証を優れています(regex)

  3. セルC5の場合、以下の式でカスタム検証ルールを作成します。無視されている空白チェックボックスを解除することを忘れないでください。

    =Validate_Password

    正規表現を使用したデータの検証を優れています(regex)

  4. ルールを必要なだけ多くのセルにコピーします。

これで、リストに新しいパスワードを安全に追加できます。入力文字列が正規表現と一致しない場合、次のアラートは、どのような値の値が受け入れられるかを思い出させます。

正規表現を使用したデータの検証を優れています(regex)

正規表現データ検証が機能していません

Regexデータ検証がExcelで機能しない場合、おそらく次の理由の1つが原因です。

regexpmatch関数がありません

データ検証を適用する前に、ワークブックにregexpmatch関数のコードを必ず挿入してください。

誤った正規表現

Regexが期待どおりに機能することを確認するために、一部のセルにRegexpMatch式を入力して結果を調べることができます。詳細については、例を備えたExcel正規表現マッチングを参照してください。

正規表現を分析してデバッグするには、Regex101やRegexRなどの無料のオンライン復帰テストサービスを使用できます。

間違った名前のフォーミュラ

データ検証障害の非常に一般的な理由は、間違ったセルを指す式という名前の正規表現です。すべての例で、A1を参照する式を定義することをお勧めします。

=RegExpMatch(A1, regex)

これは、名前を定義するときにCell A1がアクティブである場合にのみ機能し、相対参照($ sightなし)が使用されます。

考え方は、式(A1)で指定されている相対的な参照が、検証されたセルの相対位置に基づいて自動的に変化するということです。言い換えれば、Cell A1は利便性と一貫性のためだけに選択されます。実際、セルB1を選択してB1を参照し、セルC1を選択してC1を参照できます。重要なことは、参照されたセルがアクティブセルである必要があることです。

名前のフォーミュラが正しいかどうかを確認するには、ワークシートでセルを選択し、名前マネージャーを開き、フォーミュラが指すセルを確認します。現在選択されているセルを参照する場合、式は正しいです。それ以外の場合は、最初の引数で参照を変更する必要があります。

以下のスクリーンショットでは、セルA7が選択されています。つまり、名前の式には最初の引数でA7が必要です。 2番目の引数($ a $ 2)はRegexを指します - この参照は一定のままであると想定されるため、$ signでロックされています。

正規表現を使用したデータの検証を優れています(regex)

選択した空白オプションを無視します

カスタムデータ検証ルールを設定するときは、無視された空白チェックボックスを解除することが重要です。それ以外の場合、次の理由によりルールは機能しません。

一致が見つからない場合、regexpmatch関数はfalseを返します。 Ingrore Blankオプションが選択されている場合、Falseは空白に等しく、無視されます。

別のソリューションは、式が真実であることを明示的に述べています。

=RegExpMatch(…)=TRUE

これが、正規表現を使用してExcelでデータ検証を行う方法です。読んでくれてありがとう、来週私たちのブログでお会いできることを楽しみにしています!

ダウンロード用のワークブックを練習します

Regexデータ検証の例(.xlsmファイル)

以上が正規表現を使用したデータの検証を優れています(regex)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)