ANOS-SOFT

Salesforce、RPGツクール、Unity、そんな雑記

Excelでセル内改行を行わない方が良い理由

今日の業務でExcelのセル内改行にいじめられたのでメモ

セル内改行とは

おそらく皆さんも見たことある、またはやったことあるのではないでしょうか。

文字を入力している最中にAlt+Enterでセル内で改行が出来ます。
どうしても1セル内に納めなければならない場合なんかはよく見ますね
システム屋としても、バグ管理票なんかだとよく見たりします。

しかし!csv出力などして、連携データとしてこのデータを扱う際には
途端にバケモノと化すので、くれぐれも使わないようにしてください。

いったいどうなるのやら?

まずは普通のデータをご確認ください。

f:id:anos-soft:20160511213817j:plain

普通はこのようなデータをカンマで区切ったり、ダブルクォーテーションをつけたりして
システム間の連携を行ったりします。

f:id:anos-soft:20160511213919j:plain

サクラエディタで確認すると、こうなります。
^はタブ区切りですね。

セル内改行を行うとどうなるのか?

今度はセル内改行です。

f:id:anos-soft:20160511214323j:plain

「なにぬねの」を一つのセルに、あー!お客様、おやめください、あー、あー!!

f:id:anos-soft:20160511214333j:plain

こうなります。

あ	か	さ	た	"な
に
ぬ
ね
の"
い	き	し	ち	
う	く	す	つ	
え	け	せ	て	
お	こ	そ	と	

こうなってるわけですが、セル内改行を使うとそのセルだけダブルクォーテーションで囲まれます。

さらに、サクラエディタの画像をもう一度見てほしいのですが。

改行を表す矢印のマーク、下向きの矢印と、左下に向かって曲がった形の矢印が混在しているのが見えますね。
セル内改行を行った場合、セル内改行の改行コードと、レコードとしての改行コードが混在してしまいます。

セル内改行の改行コードがLF(ラインフィード)、全体としての改行がCR(キャリッジリターン)です。

システム屋としては見たくないですよね、普通のExcel資料としてはどうぞセル内改行してください。
ですが、連携するデータとして誰かに渡すCSVなどにセル内改行を含むと相手が死ぬので辞めてあげてください。

広告を非表示にする