2.1. XLCRegEx 関数一覧

注意

処理の対象となる文字列をセル参照で指定する場合、そのセルには文字列が入っていなければなりません。そうでないとエラー値 #VALUE! を返します。セルに数値等が入っている場合の対処法はこのページの下にある「数値との変換」を見てください。対象文字列を式で指定する場合も、実際に文字列を渡しているかを確認してください。

テキストを処理するための関数

XLCRegExMatch(パターン, 対象文字列, オプション)
XLCRegExFormat(パターン, 置換文字列, 対象文字列, オプション)
XLCRegExFormatIf(パターン, 置換文字列1, 置換文字列2, 対象文字列, オプション)
XLCRegExReplace(パターン, 置換文字列, 対象文字列, オプション)
XLCRegExValue(パターン, 置換文字列, 対象文字列, オプション, 代替値)

使用例

組み込みの関数と同様に、結果を出力したいセルに記述してください。引数のパターン、置換文字列、オプションについては該当するページを参照してください。

  1. セル A2 に A から E に 1 個か 2 個の数字を続けた文字列が入っているなら TRUE を出力する。
    =XLCRegExMatch("^[A-E]\d{1,2}$",A2)
  2. セル A6 に H に数字を続けたものが入っているなら、数字を「平成」と「年」で囲んだ形式に変更して出力する。(大文字小文字、全角半角は区別しない。)
    =XLCRegExFormat("^H(\d+)$","平成$1年",A6,"iw")
    さらに、当てはまらない場合は「未入力」と出力する。
    =XLCRegExFormatIf("^H(\d+)$","平成$1年","未入力",A6,"iw")
  3. セル A8 内の文字列の , の後の空白を 1 個にそろえた文字列を出力する。
    =XLCRegExReplace(", *",", ",A8,"g")
  4. セル A3 に A から E に 1 個か 2 個の数字を続けた文字列が入っているなら、その数字の部分を数値として出力する。当てはまらない場合は -1 を出力する。
    =XLCRegExValue("^[A-E](\d{1,2})$","$1",A3,,-1)

使用上の注意

以上の関数において引数は、記述がなければすべて文字列で指定します。組み込み関数の文字列引数と同様に、

のいずれの方法でも指定できます。

パターンと置換文字列は、後述の XLCRegExCreate 関数、XLCRegExCreateReplacement 関数で登録したときに割り当てた番号で指定することも可能です。

オプションは省略できます。

q オプションを指定すると、先頭と終端に二重引用符があればそれらをはずして処理を行います。セル参照で指定する場合、内容によっては文字列ではなく数値や式とみなされる場合があります。このような場合に利用してください。

これらの関数はスレッドセーフとして登録されます。

数値との変換

これらの関数は文字列を処理します。(空セルを指定した場合は、空文字列として処理します。)数値等を対象文字列に指定するとエラー値 #VALUE! が表示されます。数値を処理するには文字列に変換しなければなりません。それには以下のような方法があります。

XLCRegExValue 関数と VALUE 関数など

出力された文字列を数値に変換する方法には以下のものがあります。

どちらの方法も、数値を表す文字がない場合、不適切な文字が含まれている場合は次のように対処しています。

入力が不適切な場合は空値にしておきたいなど、上記以外の対処法が必要な場合に XLCRegExValue 関数を使用してください。

正規表現を一時的に登録するための関数

XLCRegExCreate(割り当てる番号, パターン, オプション)
XLCRegExDelete(削除する正規表現パーサの番号)
XLCRegExClear(論理値)

以上の関数により、正規表現を一時的に番号を割り当てて登録・削除することができます。

使用上の注意

登録した正規表現はシートを閉じると破棄されます。再度オープンしたときに利用したければ、関数を呼んで登録し直す必要があります。

内部では、割り当てる番号とシート ID を組み合わせて処理しますので、シートが異なれば番号が同じでも別のものとして扱われます。現在、他のシートで登録された正規表現を呼び出すことはできません。

置換文字列を一時的に登録するための関数

置換文字列についても以下の関数により登録を行うことができます。正規表現のものと同様に使用してください。

XLCRegExCreateReplacement(割り当てる番号, 置換文字列, オプション)
XLCRegExDeleteReplacement(削除する置換文字列の番号)
XLCRegExClearReplacement(論理値)

その他の関数

正規表現中に文法エラーがある場合などには #VALUE! などの Excel のエラー値を返しますが、内部ではエラーメッセージを記録しています(現バージョンでは 8 個まで)。これを表示するために次の関数を用意しています。

XLCRegExError(整数値)
XLCRegExError()