プロが教えるわが家の防犯対策術!

セル内に以下のような文字などが入っているとします。
──────────────
abc
123

あいう
一二三
ABC

──────────────

これを以下のようにしたいです。
──────────────
abc
123
あいう
一二三
ABC
──────────────

要するに、空白行だけ削除したいです。
自身で調べたところ、以下のような関数で改行を削除できることは確認します。
=SUBSTITUTE(A1,CHAR(10),"")
しかし、この関数だと以下になります。
──────────────
abc123あいう一二三ABC
──────────────

ちなみに、使っているExcelは2016です。
このバージョンで使える関数で実現できるのがあるのでしょうか?

質問者からの補足コメント

  • つらい・・・

    zongaiさん。
    早速回答いただきありがとうございます。
    たしかにこれで空白行のみ削除が可能であると確認しました。
    しかしながら、すみません。
    補足となってしまいましたが、必ずしも空白行2つだけとは限らないんです。
    その時々で、空白行が1つだったり、5つだったりなど増減してしまうため、指定が難しいのです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/08/06 09:16
  • うーん・・・

    Hill-andonさん。
    とくに関数にこだわってはいないです。
    それ以外で実現できるなら問題ないです。
    回答いただいた内容を確認したところ、これはセル内ではなく、セル毎の空白を削除する方法かと思われます。
    わたしの説明が拙くすみませんが、要は”セル内の空白行”のみ削除したいのです<(_ _)>

    No.2の回答に寄せられた補足コメントです。 補足日時:2023/08/06 09:40
  • HAPPY

    enunokokoroさん。
    回答ありがとうございます。
    確認したところ、問題なく空白行のみ削除された状態で表示することができました。

    改行を半角スペースに置換➡不要な半角スペースを削除➡半角スペースを改行に置換。
    なるほど、このような動きで空白行削除してるのですね。
    助かりました。

    時間経過後、ベストアンサーにさせていただきます。
    しばらくお待ちください。

    No.3の回答に寄せられた補足コメントです。 補足日時:2023/08/06 10:14

A 回答 (5件)

TRIM関数を挟むことでセル内改行を一つにすることは可能。


 =SUBSTITUTE(TRIM(SUBSTITUTE(A1,CHAR(10)," "))," ",CHAR(10))
https://kokodane.com/2013_kan_041.htm
[折り返して全体を表示する]の設定はお忘れなく。
https://support.microsoft.com/ja-jp/office/%E3%8 …
この回答への補足あり
    • good
    • 3

・・・余談・・・



改行コードが「10」であることを知っていれば、
 Ctrl+J 
が改行コードの入力になる事は簡単に覚えられます

 1 2 3 4 5 6 7 8 9 10 …
 A B C D E F G H I J  …

こんな感じに「コントロール コード」が割り振られています。
    • good
    • 0

ええと。


「一つのセルの中に、改行された文字列があり。そこから空白の行だけ削除したい」
という事でよろしいのですね。
(なんかNo.2の回答者さんのように「空白セル」を削除すると受ける人もいるので...)

「改行が二つ続いていたら、改行を一つにする」
で良いと思いますよ。
「二つ続いているケース以外に五つ続いていたり六つ続いているような事もある」
のであれば、繰り返し行えば良い。

 【普通に「置換」でできます】

ですので、数式も必要ない。Excelの標準操作で可能です。

・・・

 Ctrl+H
などで「置換」のダイアログを開いたら、「検索文字」のところで
 Ctrlキーを押しながら「J」キーを押す
もう一度
 Ctrlキーを押しながら「J」キーを押す
で、改行を2回入力した状態になります。
このとき、検索文字列には何も表示されません。(改行は表示されないのですから当然ですね)

そして、「置換文字」のところに
 Ctrlキーを押しながら「J」キーを押す
これで改行が1つ入力されます。

あとは「OK」ボタンを押すだけ。
本当に押すだけ。
入力し直す必要ありません。
というか、別の文字列を検索や置換したいときは Excel を終了させない限り「改行コード」が居座るので思うような検索や置換ができなくなるので注意してください。

五つ続けて空白行が入力されているという事であれば、3回かな?「OK」ボタンを繰り返して押せば希望する結果になります。
(「変換しました」…のOKボタンは押さずにEnterキーで消してください)
    • good
    • 0

関数でしかダメなのか?こだわりでも



EXCEL ジャンプ機能を使えば、簡単に出来る
・削除したい空白セルを含むセル範囲を選択します。
・[ホーム]タブの[検索と選択]から[ジャンプ]を選択します。
・[セル選択]を選び、[空白セル]をチェック[OK]
・空白セルだけ選択されるから、後は削除で上方向にシフト
これで完了
この回答への補足あり
    • good
    • 0

=SUBSTITUTE(A1,CHAR(10)&CHAR(10),CHAR(10))



連続した2つの改行を1つの改行にする。
・・・ではどうでしょう?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!