
改行を削除したい

余計な改行が
ご提供頂くデータの中に、文字の最後に改行が入り込んでいてその行だけセルの高さが異なった状態になっていることがあります。
うっかりしたミスによって、Alt + Enterキーを押してしまったわけではないと思いますが、ウェブサイトからデータをコピー&ペーストしますと、目には見えないHTML内の情報も取得してしまい、必要の無いデータが付いてしまうのが原因だと思います。
改行を削除
改行の削除には、SUBSTITUTE(サブスティチュート)関数を使います。
SUBSTITUTE関数は指定するセルの文字列を置換することができます。この作用を応用して改行文字を空白文字に置換することで結果的に削除されます。 SUBSTITUTE関数の書式は、
SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])
になりますが、今回は第3引数までの指定になります。
仮に改行があるセルの位置をA1とします。
=SUBSTITUTE(A1, CHAR(10), “”)
式の解説
第1引数
=SUBSTITUTE(A1, CHAR(10), “”)
参照する位置を指定します。
第2引数
=SUBSTITUTE(A1, CHAR(10), “”)
式の中に改行を入れることができませんので、関数が改行を識別するできるようにしなくてはなりません。エクセルのデータ内では文字コードが割り当てられていて改行の格好をさせています。その文字コードで改行を表し検索文字列とします
文字コードを返すCHAR関数の第1引数に改行の文字コード「10」を指定します。
第3引数
=SUBSTITUTE(A1, CHAR(10), “”)
置換文字列が何も指定されていないと「改行」を「何も無い」に置換するになりますので削除となります。文字列を指定するのは、ダブルクォーテーションで囲いますので、「””」とすることで何も無い空白文字となります。
Massteryで対応するとこうなる
Massteryには変換を行う際に、変換条件を指定して期待する出力結果とする機能があります。
条件の指定にはエクセルのようにMasstery内で使用できる関数があり、改行の削除もエクセルと同じようにSUBSTITUTE関数があります。
指定内容
- 変換対象カラム
- Massteryはフォーマットの項目単位で変換を指定しますので、出力ファイルの項目(列の名称)を指定します。
- 変換方法
- 変換対象カラムに値またはロジックを適用する「=」を指定します。
- 値または変換ロジック
- SUBSTITUTE(“商品説明”,\n,)
SUBSTITUTE関数式の解説
Massteryでの書式は以下になります。
SUBSTITUTE("変換対象カラム名称",検索文字列,置換文字列)
第3引数まで指定できます。
第1引数
SUBSTITUTE("商品説明",\n,)
変換対象カラムで項目を指定していますが、第1引数においても同じく変換対象を指定します。カラム名称を指定する場合は、ダブルクォーテーションで囲います。
第2引数
SUBSTITUTE("商品説明",\n,)
専門的な話になるのですが、Massteryは、Unix系OSをベースにプログラム言語Pythonの構成で作られていまして、ファイル内の改行を識別をするのに、正規表現というアルファベットや数字のような単純な文字ではない文字や文字列の集合を表現する方法を用いています。この場合に改行は、「\n」(バックスラッシュ+n)になりますので、割り当てます。
第3引数
SUBSTITUTE("商品説明",\n,空文字列)
エクセルと同じように削除は「何も無い」になりますが、Massteryの場合はではダブルコーテーションも記載しません。引数の間をカンマで区切るのみです。