• ベストアンサー

エクセルのセル内の配置

エクセルで1つのセルにD5&CHAR(10)&D6&CHAR(10)&D7&CHAR(10)&D8&CHAR(10)&D9&CHAR(10)の数式を入れ、文章を表示させるようにしています。 D5,D6,D7,D8,D9はそれぞれ空白の場合があります。その時にはその部分を詰めて中央に配置したいのですが、できますでしょうか?今のままだと空白の部分は空いてしまいますし、セルの高さが大きくなりすぎます。Dの内通常1~3個くらいしかないのでセルの高さを最大3個入る高さの表にしたいです。 どなたか是非よろしくお願い致します!!!!!

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

=SUBSTITUTE(D5&CHAR(10)&D6&CHAR(10)&D7&CHAR(10)&D8&CHAR(10)&D9,CHAR(10)&CHAR(10),CHAR(10)) で、連続する2つのCHAR(10)を1つにできます。 でもCHAR(10)が3つ連続したら、まだ空白行ができます。ですから更に置き換えるようにします =SUBSTITUTE(SUBSTITUTE(D5&CHAR(10)&D6&CHAR(10)&D7&CHAR(10)&D8&CHAR(10)&D9,CHAR(10)&CHAR(10),CHAR(10)),CHAR(10)&CHAR(10),CHAR(10)) なおD9&CHAR(10)はD9だけでよいと思いますので、最後の&CHAR(10)は取りました。

get3
質問者

お礼

ありがとうございました。 全員の回答を試してみたところzap35さんの数式が有効でした。 相変わらず、数式の意味は分かりませんが、何とかできたのでよかったです!! 皆様ありがとうございました。 また、よろしくお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#176215
noname#176215
回答No.3

=D5&REPT(CHAR(10),D5<>"")&D6&REPT(CHAR(10),D6<>"") &D7&REPT(CHAR(10),D7<>"")&D8&REPT(CHAR(10),D8<>"") &D9&REPT(CHAR(10),D9<>"") もし 文字列にスペースが入らないならというか 全角か半角かのどちらか しかないなら =SUBSTITUTE(TRIM(D5&" "&D6&" "&D7&" "&D8&" "&D9)," ",CHAR(10)) ※半角スペースが入る時は 数式の「" "」を「" "」に変更 でどうでしょうね。

get3
質問者

お礼

ありがとうございました。 全員の回答を試してみたところzap35さんの数式が有効でした。 相変わらず、数式の意味は分かりませんが、何とかできたのでよかったです!! 皆様ありがとうございました。 また、よろしくお願い致します。

すると、全ての回答が全文表示されます。
  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.2

=CONCATENATE(D5,IF(D6="","",CHAR(10)),D6,IF(D7="","",CHAR(10)),D7,IF(D8="","",CHAR(10)),D8,IF(D9="","",CHAR(10)),D9)

get3
質問者

お礼

ありがとうございました。 全員の回答を試してみたところzap35さんの数式が有効でした。 相変わらず、数式の意味は分かりませんが、何とかできたのでよかったです!! 皆様ありがとうございました。 また、よろしくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A