いきなり答える備忘録

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

(Gスプレッドシート)同じ文字が連続する部分を1文字だけにする

 Googleスプレッドシートで、文字列中の同じ文字が連続する部分を、関数を使って1文字だけにする方法についてです。該当する部分が複数あってもそれぞれを1文字にします。
 典型的な使い方としてカンマ区切り文字列中のカンマが連続する部分をカンマ1つだけにする例が挙げられます。

  • REGEXREPLACE関数を使って、同じ文字が連続する部分を1文字だけに変換できます。
  • 2文字以上の繰り返し部分も1つにすることができます。

手順

f:id:accs2014:20200108224619p:plain:right:w600

 B2セルにカンマ区切りの文字列がありますが、カンマが連続する部分がいくつか含まれています。

 そこでB4セルに次のように記します。

=REGEXREPLACE(B2,",+",",")

 第2引数の「,+」は1文字以上の連続する「,」を表し、これらをすべて第3引数の「,」に変換します。
 

f:id:accs2014:20200108224623p:plain:right:w600

 結果はこうなります。

 なお、2文字以上の繰り返しを1つにする場合は第2引数にカッコを使って「(もし)+」のようにします