いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

(Gスプレッドシート)すべての文字間に文字を挿入する

 Googleスプレッドシートで、文字列中の一つ一つの文字の間に文字(文字列)を挿入する方法についてです。
 すべての文字の間にスペースを挿んで見た目を広げる、といった使用例が考えられます。

  • REGEXREPLACE関数を使って、すべての文字と文字の間に文字(文字列)を挿入することができます。

手順

f:id:accs2014:20200606120443p:plain:right:w550

 B3:B6セルに文字列が入力されています。
 そこでD3セルに次のように入力します。

=REGEXREPLACE(B3,"(^.|)(.)","$1☆$2")

 REGEXREPLACE関数を使っています。
 ちょっと複雑ですが、対象となる文字列(B3)の先頭の文字または"文字の間"を最初のグループ($1)とし、それにつづく1文字を次のグループ($2)としたうえで$1と$2の間に「☆」を加えています。

f:id:accs2014:20200606120447p:plain:right:w500

 結果はこうなります。
 5つの文字のすべての間、計4か所に「☆」が挿入されました。

f:id:accs2014:20200606120451p:plain:right:w500

 式を下方にフィルコピーした様子です。
 文字列の長さに関係なく「☆」が挿入されているのがわかります。もちろん2文字以上の文字列を挿入することもできます。
 ただし、この方法では対象となる文字列が1文字の場合には先頭に文字が追加されてしまいます(最後の行の例)ので注意してください。

 2文字おき、またはn文字おきに文字を挿入する場合については次の記事で紹介しています。

www.officeisyours.com