いきなり答える備忘録

Google Workspace・Microsoft 365・LibreOfficeなどに関するメモ

(Gスプレッドシート)改行を削除する

 Googleスプレッドシートで改行を削除する方法についてです。
 関数による方法とメニューによる方法を示します。

  • CLEAN関数やSUBSTITUTE関数による方法、「検索と置換」メニューによる方法で改行を削除することができます。

手順

関数による方法

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

 B3,B4セルには改行を含む同じ文字列が記録されています。
 それに対しC3,C4セルにそれぞれ次のように入力したところです。

 C3セル(CLEAN関数)

=CLEAN(B3)

 CLEAN関数は印刷されない記号を取り除きます。めったにないと思いますが、CHAR(13)などが含まれている場合も一緒に取り除かれます。
 

 C4セル(SUBSTITUTE関数)

=SUBSTITUTE(B4,CHAR(10),"")

 改行を空文字に置き換えています。 
 

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

 実行結果です。いずれも改行が取り除かれており、結果は同じです。ただし上記のようにCLEAN関数は改行以外の印刷されない記号をすべて取り除きますので、あらゆる文字列に対して同じ結果となるわけではありません。
 なお、「="葛飾区"&CHAR(10)&"亀有"&CHAR(10)&"派出所前公園"」というように式中のCHAR(10)による改行が行われている場合でもこの方法は有効です。

「検索と置換」メニューによる方法

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

 上部メニューから「編集」→「検索と置換」と進んでダイアログを出します。
 そこで上部の「検索」欄に「\n」と記し(\はバックスラッシュとして表示されます)、下部の「正規表現を使用した検索」にチェックを入れます(このとき「大文字と小文字の区別」にもチェックが入りますがここでは必須ではありません)。
 設定が済んだら置換のボタン(ここでは「すべて置換」)をクリックします。

 

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

 実行結果です。

 なお、文字列中の改行が通常のAlt+EnterやCtrl+Enterで行われている場合は以上で問題ないのですが、ファイルを読み込んだ場合などは削除がうまくいかないことがあるあるかもしれません。このときは検索欄に「\n」の代わりに「\r|\n|\r\n」と入力して試してみてください。

f:id:accs2014:20190602160141p:plain:right:w450

 また、式中のCHAR(10)による改行が行われている場合は上記の設定ではうまくいきません。
 そこで例として「="葛飾区"&CHAR(10)&"亀有"&CHAR(10)&"派出所前公園"」という式が入力されている場合、この画像のように設定します。
 上記の例との違いは式が「CHAR\(10\)&」となっていることと「数式内も検索」にもチェックが入っていることです。
 ただしこうするよりも、対象となる文字列(式)を一旦コピーして「値のみ貼り付け」をしておいた方が早いです。

「改行だけの行」の削除について

 セル内の改行だけの行を削除する(連続する改行を1つだけにし、文字列先頭の改行と末尾の改行はすべて削除する)方法については次の記事をご覧ください。

www.officeisyours.com