完成したもの
要件
- ルールにマッチする文字をハイライトする
- できれば正規表現使いたい
- マッチルールはコード外でリスト化
- 文章内、一致箇所のみハイライト
一致箇所のみハイライトができなかったのでもし知っている方がいたら教えてください
実装
ルールにマッチする文字をハイライト
これについては、条件付き書式設定で行った。
一般的な演算子で条件が設定できる。(==,!=,<,> 等)
凝ったことをしたい場合カスタム数式を選ぶことができる
できれば正規表現使いたい
REGEXMATCH(判定したい対象セル,正規表現)
この関数を使うことで、第二引数に与えた正規表現にマッチするかTRUE/FALSEで結果を得ることができる
マッチルールはコード外でリスト化
前項のREGEXMATCHの第二引数に入れる文字を、複数セルから生成すればおk
"("&JOIN("|", FILTER($F$1:$F$10,LEN($F$1:$F$10)))&"
コードだとこう。
FILTER($F$1:$F$10,LEN($F$1:$F$10))
この部分で、空白ではないセルのみのリストを作成している。
それを
JOINで、"|"区切りで接続している
完成したコード
REGEXMATCH(A1, "("&JOIN("|", FILTER($F$1:$F$10,LEN($F$1:$F$10)))&")")
組み合わせたこのコードを、カスタム条件分に設定すると
F1からF10の正規表現にマッチするA列のセルをハイライトすることができました!