プロが教える店舗&オフィスのセキュリティ対策術

Excel2010で関数で文字の結合と改行を10セル分ぐらいしたときに、セルが空白の場合、空白を反映しないようにすることはできないのでしょうか?
たとえば、
    A    B 
  1 あ   か
  2 い   き
  3 う    く
 
として、C1に
  あ
  い
  う
  か
  き
  く

と表示するための関数が入っているとして、もし、”き”や”く”が空白だった場合、その空白を反映しないようにしたいと思っています。
C1に表示されたものを、さらに別のシートで表示すようになっているのですが、その別のシートで表示された際、最後のセルが空白だと、表示セルの上のほうに文字が行ってしまい、上下中央に表示されなくなってしまうので、空白を反映しない、無視するような関数があればと思い質問させていただきました。
Excel自体そんなに詳しくないのですが、文字の結合はセルを”&”でつなげ、改行には”CHAR(10)”を入れてやっていました。これだと別のシートでは下のほうに空白ができてしまい、結合した文字が上に行ってしまいます。
自分でもいろいろ調べて、試してみましたができませんでした。
空白のセルを削除したりして詰めるのではなく、表示されないようにできないものかと考えています。
参照しているA1からB3までのセルには、文字を入力したり消したりと更新することがあるので常にすべてのセルを参照しておき、表示されるときに空白を除く形にしたいと思っています。
別シートのほうでは”VLOOKUP”を使って表示されるようにしています。

わかりにくい説明かもしれませんが、どうか回答をよろしくお願いします。

A 回答 (4件)

方法1:セル単位にIF文で判定



=IF(A1="","",A1&CHAR(10))&IF(A2="","",A2&CHAR(10))&IF(A3="","",A3&CHAR(10))&IF(B1="","",B1&CHAR(10))&IF(B2="","",B2&CHAR(10))&IF(B3="","",B3&CHAR(10))

方法2:連結後に改行の繰り返しをSUBSTITUTE関数で置換

=SUBSTITUTE(A1&CHAR(10)&A2&CHAR(10)&A3&CHAR(10)&B1&CHAR(10)&B2&CHAR(10)&B3&CHAR(10),CHAR(10)&CHAR(10),CHAR(10))
    • good
    • 1
この回答へのお礼

ありがとうございます。
MackyNo1さんのおかげで希望通りのことができました。

また、言葉で説明もつけていただき、本当わかりやすかったです。

ありがとうございました。

関数を覚えるときは、ただ並び方使い方を真似するだけではなくて、ちゃんと意味を覚えなくてはいけませんね。

ありがとうございます。

お礼日時:2014/03/29 12:29

>=A1&CHAR(10)&A2&CHAR(10)&A3&・・・


という形で入力してあるのですが、

このような数式で、文字列を結合する場合だけにCHAR(10)の改行コードを入れたいなら(かつ前後の改行コードを削除したいなら)、上記の数式を以下のように変更してください。

=SUBSTITUTE(TRIM(A1&" "&A2&" "&A3&" "&A4&" "&A5&" "&A6)," ",CHAR(10))
    • good
    • 3
この回答へのお礼

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

本当にうれしくて・・・

本当にありがとうございます。

お礼日時:2014/03/29 12:26

やっと関数を思いつきました…



=SUBSTITUTE(A1& CHAR(10) & A2 & CHAR(10) &A3&CHAR(10) &B1&CHAR(10) &B2&CHAR(10) &B3,CHAR(10)&CHAR(10),CHAR(10))

CHAR(10)&CHAR(10)を判断し、CHAR(10)に変換しています。
たぶん、これで合っていると思いますが、何か違う点があればなんなりと^^

この回答への補足

回答ありがとうございます。
さっそくやってみましたが、これだと下に空白がいっぱいできてしまったのですが・・・
下の空白をなくしたいと考えています。
忙しいところ考えていただき、ありがとうございます。

補足日時:2014/03/29 11:51
    • good
    • 0

空白だった場合、改行には”CHAR(10)”を入れない。

という式でしょうか。それなら、CHAR(10)のところに、IF(A1="","",CHAR(10))かも。

この回答への補足

回答ありがとうございます。すみません。”CHAR(10)"自体、意味がちゃんとわかっていなくて・・・。
=A1&CHAR(10)&A2&CHAR(10)&A3&・・・
という形で入力してあるのですが、どのようにして入力するのでしょうか?何もわからなくてすみません。

補足日時:2014/03/29 11:42
    • good
    • 0

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