プチIT化 PR

【Excel】改行あるデータで区切り位置、改行あとのデータが消えるのはなぜ?

記事内に商品プロモーションを含む場合があります。
当サイトは、アフィリエイト広告を利用しています。

こんにちは。Excelの「区切り位置」というデータを編集する機能があります。セルに入力されたデータを指定した区切り文字で分割するという機能で便利ですよね。

今回は、この「区切り位置」でデータを分割する際、データ内に改行があると、改行以降のデータが消えてしまいました。区切り文字の「その他」で「Ctrl+j」キーで改行で区切り出来るとあったけど出来ない(汗)

悩める人
悩める人
なんで?!どうしたら?!

となりましたが、何とかCtrl+jの区切りが効かない場合でも上手くいく方法に辿り着きました。それでは、いってみましょう!

事象詳細:区切り位置で改行以降のデータが消える

事象の詳細です。

元データは「あああ」(改行)「いいい」(改行)「ううう」(改行)「えええ」(改行)「おおお」というデータでした。これを区切り文字に「Ctrl+J」を指定して改行でデータを区切ろうとしましたが、結果「あああ」だけ残るデータとなりました。

データの区切り位置でセルのデータを分割しようとしたところ、最初の改行以降のデータが消えてしまいました。

今回の原因:改行コードが「LF」じゃなかった

改行にはいくつか種類があり、今回私が扱っているデータにはこの改行コードが混在していました。

CRLFCarriage Return Line Feed。コードは\r\n。
CRCarriage Return。コードは\r。
LFLine Feed。コードは\n。

私の場合は「CRLF」と「CR」の改行が一つのセル内データに混在していました。

区切り文字「Ctrl+J」が効かなかったのは?

区切り位置機能で区切り文字を「Ctrl+J」で指定できますが、これは「Ctrl+h」で改行されたものに限る、らしいのです。すべての改行コードに効かなかったようでした。

「Ctrl+h」の改行は「LF(改行コード:\n)」にあたります。

対処:改行コードを「LF」に統一した

今回は、元データがcsvファイルだったので、改行コードが混在していた元データをLFに統一することで対応できました。

今回はテキストエディタsakuraエディタの正規表現を使って、改行コードを「\n」のLFに置換することで、区切り位置もうまく処理することができました!

さいごに

いかがだったでしょうか。同じような疑問を持たれた方の参考になれば幸いです。それでは、また次の記事で。