ラブラドールレトリバー「忠太の心の声」

黒ラブ忠太と忠太パパのブログ。
最近は仕事の備忘録としてのエントリーが多いです。

エクセル 改行コード入りセルを分割する

2012-02-21 | Web・PC

エクセルで、改行コード入のセルを分割することにしました。

 ABC
1 あいうえお
かきく
あいうえお かきく

こんな感じです。A1にある改行入りデータを、B1とC1に分割するということです。
そうです、「ALT」+「ENTER」で改行しているものです。

ですが、エクセルの改行コードってなに?
ググった結果「CHAR(10)」ということが判明。

B1は改行コードのある桁数を把握して、そこまでを切り抜くことにします。

B1 =LEFT(A1,FIND(CHAR(10),A1)-1)

C1は改行コードから後ろを切り抜くことにします。

C1 =MID(A1,FIND(CHAR(10),A1)+1,LEN(A1))

これで完成^^ とおもいきや
改行がないデータが混じっていたばあい「#VALUE!」になってしまいます。

 ABC
1 さしすせそ #VALUE! #VALUE!

じゃぁIF分で判定させればいいじゃん・・・・では、なにお判定する?

改行コードが「あるか」、「ないか」を判断させればいいので、そのまま FIND を使ってみます。

B1 =IF(FIND(CHAR(10),A1)<>0,LEFT(A1,FIND(CHAR(10),A1)-1),A1)
C1 =MID(A1,FIND(CHAR(10),A1)+1,LEN(A1))

だめですねぇ。
検索文字がみつからないときの FIND の返り値は「#VALUE!」なるのでIF文がエラーになってしまいます。
0ではないのですね。

FIND でエラーにならないようにしなければなりません。
ならば、文字列の最後にCHAR(10)を付けてしまえ!

B1 =IF(FIND(CHAR(10),A1&CHAR(10))<>1,LEFT(A1,FIND(CHAR(10),A1&CHAR(10))-1),A1)
C1 =MID(A1,FIND(CHAR(10),A1&CHAR(10))+1,LEN(A1))

あっ、C1にIF文つけませんでしたが、うまくいきましたね。
まいどよくわかりませんが、今回もうまくいきました^^



最新の画像もっと見る

コメントを投稿