カスタム関数化とは別のアプローチで、機能修正・追加時の編集コストを抑える方法。
API の setFormula で数式置き換えを検討してたけど、便利な置換機能があった。
正規表現を使って、数式を一括して書き換える。
- 対象のセルを選択(範囲若しくは、Ctrl+クリックで複数選択)
- [編集][検索と置換]
- "数式も検索", "正規表現を使用した検索" にチェック
- 大文字込み時にチェックが入りますが、混在している場合は任意で外す
- 検索
- まず、検索したい文字をコピー&ペースト
- そのうち記号の前に \ (円マーク若しくはバックスラッシュ)でエスケープを置く
- また、置換時に参照したい文字は丸括弧で囲む
- 数式中の空白等、は \s* に置き換え
- 置換
- 通常通り置換したい文字
- 検索の時に括弧で囲んだ中の値を $1 で置き換え
- 文字列中にドル記号を含ませたい場合は、その文字をエスケープ
例: 引数の入れ替え
- 対象の文字列
- "FUNC(B1:B2, B3:B4)", "FUNC(C4:C5, C6:C7)", "FUNC(FOO, BAR)"
- 検索(正規表現)
- FUNC\(([\w\:]+)\s*,\s*([\w\:]+)\)
- 置換
- FUNC($2, $1)
- 置換結果
- "FUNC(B3:B4, B1:B2)", "FUNC(C6:C7, C4:C5)", "FUNC(BAR, FOO)"
※ 数式が入れ子になってる場合等は対応できないので、適用できるのは簡単な表現の式のみ。
0 件のコメント:
コメントを投稿