こんにちは。Excelの「区切り位置」というデータを編集する機能があります。セルに入力されたデータを指定した区切り文字で分割するという機能で便利ですよね。
今回は、この「区切り位置」でデータを分割する際、データ内に改行があると、改行以降のデータが消えてしまいました。区切り文字の「その他」で「Ctrl+j」キーで改行で区切り出来るとあったけど出来ない(汗)
となりましたが、何とかCtrl+jの区切りが効かない場合でも上手くいく方法に辿り着きました。それでは、いってみましょう!
事象詳細:区切り位置で改行以降のデータが消える
事象の詳細です。
元データは「あああ」(改行)「いいい」(改行)「ううう」(改行)「えええ」(改行)「おおお」というデータでした。これを区切り文字に「Ctrl+J」を指定して改行でデータを区切ろうとしましたが、結果「あああ」だけ残るデータとなりました。
データの区切り位置でセルのデータを分割しようとしたところ、最初の改行以降のデータが消えてしまいました。
今回の原因:改行コードが「LF」じゃなかった
改行にはいくつか種類があり、今回私が扱っているデータにはこの改行コードが混在していました。
CRLF | Carriage Return Line Feed。コードは\r\n。 |
---|---|
CR | Carriage Return。コードは\r。 |
LF | Line Feed。コードは\n。 |
私の場合は「CRLF」と「CR」の改行が一つのセル内データに混在していました。
区切り文字「Ctrl+J」が効かなかったのは?
区切り位置機能で区切り文字を「Ctrl+J」で指定できますが、これは「Ctrl+h」で改行されたものに限る、らしいのです。すべての改行コードに効かなかったようでした。
「Ctrl+h」の改行は「LF(改行コード:\n)」にあたります。
対処:改行コードを「LF」に統一した
今回は、元データがcsvファイルだったので、改行コードが混在していた元データをLFに統一することで対応できました。
今回はテキストエディタsakuraエディタの正規表現を使って、改行コードを「\n」のLFに置換することで、区切り位置もうまく処理することができました!
さいごに
いかがだったでしょうか。同じような疑問を持たれた方の参考になれば幸いです。それでは、また次の記事で。