Googleスプレッドシートで、文字列に対し2文字おきに文字を挿む、言い換えれば2文字おきに文字で区切る方法についてです。
n文字ごとに挿入することもできますし、2文字以上の文字列を挿入することもできます。
n文字ごとに挿入することもできますし、2文字以上の文字列を挿入することもできます。
- REGEXREPLACE関数を使って、文字列に2文字おき(n文字おき)に文字(文字列)を挿入できます。
手順
2文字おきに挿入する場合
B3セルに7文字の文字列が入力されています。
そこでD3セルに次のように入力します。
=REGEXREPLACE(B3,"(^.{2}|)(.{1,2})","$1☆$2")
ちょっとややこしいですが先頭の2文字または文字間をグループ1($1)、それに続く2文字(足りなければ1文字)をグループ2($2)とし、$1と$2の間に区切り文字の「☆」を挿んでいます。
結果はこうなります。
式を下方にフィルコピーした結果です。
いずれの場合も末尾に余分な文字が加わることはありません。もちろん2文字以上の文字列を挿入することもできます。
ただし、(画像では確認できませんが)対象となる文字列が2文字以下の場合には先頭に文字が加えられてしまいますので、その点は注意してください(次の例でも同様)。
n文字おきに挿入する場合
上記の例とほぼ同じで、式中の「2」をnに置き換えればn文字おきに挿入することができます。
画像はn=3の例です。D3セルに次のように入力し、下方にフィルコピーしています。
=REGEXREPLACE(B3,"(^.{3}|)(.{1,3})","$1☆$2")