見出し画像

Excelセル内の段落を消すにはsubstitute関数がオススメ

下記tweetに関するデータ処理をまとめる。

論文・特許データで、段落がセル内に含まれている場合がある。もし段落を消したい場合は、clean関数を使う方法と、subsitiute関数を使う方法がある。

clean関数は、印刷されないタブ記号やセル内改行などの制御文字を削除することができる。便利な関数であるが、改行前後の文字列が繋がってしまう。下記表のC2セルは「=CLEAN(B2)」の結果であるが、改行前後で繋がっていることが分かる。また、科研費データでは、研究者が段落で区切られており、これもcleanでは同じ現象が起こる。

もし改行を削除するのではなく、何らかの文字に置換したいのであれば、substitute関数がオススメ。下記表のD2セルは「=SUBSTITUTE(B2,CHAR(10)," ")」の結果であるが、改行が半角スペースに置換されていることが分かる。また、D3セルは「=SUBSTITUTE(B2,CHAR(10),"|")」であり、区切り文字「|」に置換している。

clean関数とsubstitute関数の違い

ちなみに、char関数は文字コードを文字に変換するものである。char(10)は改行の文字コードを示す。環境によっては、char(13)も改行コードであるため、両方試すのが良いだろう。また、タブはchar(9)、ダブルクォーテーションはchar(34)である。他にもあるので、興味ある方はweb検索されると良い。