GoogleスプレッドシートのREGEXREPLACE関数を活用すれば、正規表現を使った高度なテキストの置換処理が簡単に行えます。本記事では、スプレッドシートでよく使う代表的な正規表現のパターンについて解説し、具体的な使用例を紹介します。
REGEXREPLACE関数の基本構文
=REGEXREPLACE(テキスト, パターン, 置換文字列)
具体的な使用例:
=REGEXREPLACE("abc123", "[0-9]+", "X")
この例では、文字列「abc123」の中にある数字の連続部分([0-9]+)をすべて「X」に置き換えるため、結果は "abcX" になります。
正規表現パターン一覧と実例
GoogleスプレッドシートのREGEXREPLACE関数で使える、代表的な正規表現パターンの一覧と使用例です。
※スプレッドシートの仕様上、\d などの特殊文字を使う際は、バックスラッシュ(または円マーク)を2つ重ねて \\d と記述する必要がある点に注意してください。
| パターン | 説明 | REGEXREPLACEの数式例 | 置換後の結果 |
|---|---|---|---|
. |
任意の1文字(すべての文字) | =REGEXREPLACE("abc", ".", "X") |
XXX |
[abc] |
a、b、cのいずれか1文字 | =REGEXREPLACE("abc", "[abc]", "X") |
XXX |
[^abc] |
a、b、c以外の任意の1文字 | =REGEXREPLACE("abcd", "[^abc]", "X") |
abcX |
[a-z] |
aからzまでのアルファベット小文字のいずれか1文字 | =REGEXREPLACE("hello", "[a-z]", "X") |
XXXXX |
[0-9] |
0から9までの数字のいずれか1文字 | =REGEXREPLACE("123abc", "[0-9]", "X") |
XXXabc |
\d |
半角数字([0-9]と同じ意味) |
=REGEXREPLACE("abc123", "\\d", "X") |
abcXXX |
\D |
半角数字以外の文字([^0-9]と同じ意味) |
=REGEXREPLACE("abc123", "\\D", "X") |
XXX123 |
\w |
半角の英数字またはアンダースコア(_) |
=REGEXREPLACE("abc_123", "\\w", "X") |
XXXXXXX |
\W |
半角の英数字・アンダースコア以外の文字 | =REGEXREPLACE("abc!123", "\\W", "X") |
abcX123 |
^ |
文字列の先頭位置 | =REGEXREPLACE("abc123", "^a", "X") |
Xbc123 |
$ |
文字列の末尾位置 | =REGEXREPLACE("abc123", "3$", "X") |
abc12X |
a* |
直前の文字(a)が0回以上連続する | =REGEXREPLACE("aaa123", "a*", "X") |
X1X2X3X |
a+ |
直前の文字(a)が1回以上連続する | =REGEXREPLACE("aaa123", "a+", "X") |
X123 |
a? |
直前の文字(a)が0回または1回のみ | =REGEXREPLACE("aaa123", "a?", "X") |
XXXX123 |
a{3} |
直前の文字(a)がちょうど3回連続する | =REGEXREPLACE("aaa123", "a{3}", "X") |
X123 |
a{2,} |
直前の文字(a)が2回以上連続する | =REGEXREPLACE("aaaa123", "a{2,}", "X") |
X123 |
a{2,4} |
直前の文字(a)が2回から4回連続する | =REGEXREPLACE("aaaa123", "a{2,4}", "X") |
X123 |
(abc) |
文字列をグループ化する | =REGEXREPLACE("abc123", "(abc)", "X") |
X123 |
a|b |
aまたはbのいずれか | =REGEXREPLACE("abc123", "a|b", "X") |
XXc123 |
まとめ
Googleスプレッドシートの正規表現とREGEXREPLACE関数をマスターすれば、手作業では時間がかかる複雑な文字列の置き換え(不要な文字の除去、特定のパターンの統一など)を一瞬で終わらせることができます。ぜひ本記事の一覧表を辞書代わりに活用して、毎日のデータ整理を効率化させてください!