LIKE による文字列マッチの記述方法

エクセルマクロにおける変換処理では、LIKE を利用できます。

LIKE における文字列マッチについて解説します。

式 Like パターン
  • *: 0個以上の任意の文字
  • ?: 任意の1文字
  • #: 任意の1桁の数字(0-9)
  • [chars]: 指定した文字のいずれか1文字
  • [!chars]: 指定した文字以外の1文字

よく使うパターン例

"ABC*"

"ABC"で始まる文字列に一致

"*XYZ"

"XYZ"で終わる文字列に一致

"*検索語*"

"検索語"を含む文字列に一致

"???"

3文字の任意の文字列に一致

"####"

4桁の数字に一致

"[ab]*"

aまたはbで始まる文字列に一致

"*[!xyz]*"

x、y、zのいずれも含まない文字列に一致

"??##*"

最初の2文字が任意の文字、次の2文字が数字、その後は任意の文字列

"[A-Z]###"

大文字アルファベット1文字の後に3桁の数字が続く文字列に一致

"*[!0-9]*"

数字以外の文字を少なくとも1つ含む文字列に一致

  1. 大文字・小文字の区別

    • デフォルトでは区別しません
    • Option Compare Binary を使用すると区別します
  2. エスケープ

    • []* などの特殊文字を検索する場合は、[] で囲みます
    • 例:[*] は文字としての * に一致
  3. 制限事項

    • 正規表現のような高度なパターンマッチングはできません
    • OR条件(|)は使用できません
  • シンプルで理解しやすい
  • 基本的なパターンマッチングに十分
  • Mac環境でも使用可能
  • 複雑なパターンに対応できない
  • 文字の繰り返し回数を指定できない
  • グループ化ができない
  • 後方参照ができない