Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
セル内改行を置換しても見えない改行が残る
投稿日時: 22/08/01 12:24:20
投稿者: tako552101

win8 2010です。
A1セルに下記のような文字を入力。改行部分はセル内改行(Alt+Enter)です。
むかしむかし
あるとこに
おじいさんと
 
B1セルに「SUBSTITUTE(A1,CHAR(10),"<br>")」と入力。
むかしむかし<br>あるとこに<br>おじいさんと
 
見た目はセル内改行が解除され上のように<br>に置換されていますが、
テキストなどに貼り付けると…
むかしむかし
<br>あるとこに
<br>おじいさんと
 
と改行が入ってしまいます。
 
なぜでしょう。また回避策ご指導お願いします。

回答
投稿日時: 22/08/01 13:31:54
投稿者: WinArrow
投稿者のウェブサイトに移動

引用:

テキストなどに貼り付けると…

この辺りを詳しく
どのようなファイルに
どのような方法で
説明できますか?
 
※<BR>は、HTMLファイルを作成するとき、改行として入力するものです。

回答
投稿日時: 22/08/01 14:27:39
投稿者: simple

# 暑いですねえ。
 
そのセル内改行はご自身で手作業でつけたものですか?
別のところからコピーペイスト等でもってきたものですと、
LfのほかにCrもついている可能性があります。
=SUBSTITUTE(A1,CHAR(13)&CHAR(10),"<br>")
または、
=SUBSTITUTE(SUBSTITUTE(A1,CHAR(10),"<br>"),CHAR(13),"")
などとしてみてはどうですか?
 
それでもうまくいかなければ、
現状の文字列の文字コードを調べてください。原因がわかります。
=CODE(MID(A1,7,1))
=CODE(MID(A1,8,1))
それぞれ何が返りますか?

投稿日時: 22/08/01 14:53:59
投稿者: tako552101

すみません「テキストエディタに貼り付けると」…です。
 
記載の計算結果のデータは改行ないですが、コピーしてテキストエディタに貼り付けると、<br>の前で改行されてしまいます。
 
最終的にはデータ書き出して、html表示に使用するのですが、セル内改行は<br>に置換すればいいと思っていたので(少なくても見た目は)
改行いが残るのはなんでかなと。

投稿日時: 22/08/01 15:00:09
投稿者: tako552101

#行き違いでした。めちゃ暑いです。
 
セル内にAlt+Enterで自分でつけたものです。
 

引用:
LfのほかにCrもついている可能性があります。

 
なるほどーCRLFですね。2こ置換しなきゃダメなんですねー。
 
引用:
=SUBSTITUTE(A1,CHAR(13)&CHAR(10),"<br>")

 
これでうまく行きました!
ありがとうございます。
 

回答
投稿日時: 22/08/01 17:07:32
投稿者: WinArrow
投稿者のウェブサイトに移動

[Alt]+[Enter]で入力される改行コードは、LFと説明されています。
 
若し、LFのみの場合
=SUBSTITUTE(A1,CHAR(13)&CHAR(10),"<br>")
この数式では、対応できないことになります。
 
どちらにも対応するには、
=SUBSTITUTE(SUBSTITUTE(A1,CHAR(13),""),CHAR(10),"<br>")
こちらの方が無難と思います。
 

回答
投稿日時: 22/08/01 22:49:56
投稿者: Mike

tako552101 さんの引用:
回避策ご指導お願いします

B1 を単に、
=SUBSTITUTE(A1,CHAR(10),"")
とするのは駄目よダメダメですか?Why?

投稿日時: 22/08/02 04:10:12
投稿者: tako552101

WinArrow さんの引用:
[Alt]+[Enter]で入力される改行コードは、LFと説明されています。

よもやと思い確認してみると、当該セルの改行は「Alt+Enter」ではなく、おそらくテキストデータのコピペのようでCRLFだったので、前述の計算式で大丈夫でしたが、改行を削除後「Alt+Enter」で再改行したところ計算結果未反応。
 
WinArrow さんの引用:
=SUBSTITUTE(SUBSTITUTE(A1,CHAR(13),""),CHAR(10),"<br>")
こちらの方が無難と思います。

ご指摘の通りでした。危ない、危ない。
当該セルは自由に入力できるので、「Alt+Enter」でも、テキスト値コピペでもどちらにも対応していないと同じエラーになる所でした。本当にありがとうございます。

トピックに返信