• ベストアンサー

【エクセル:セル内の文書結合】 右に並んだ全てを結合するには?

既出でしたら申し訳ございません。 エクセルで下記「サンプルイメージ」での記載状況の際 1行A列のセルに、1行目B列からZZ列に記入された 全ての文書を、結合する方法があれば教えて頂けないでしょうか? 尚、1行A列のセル内の表示方法は、結合するセル毎に改行され、 結合するセルが未記入の場合は、そのセルは結合対象から外したいと 考えています。 以上、わかりにくければ補足いたしますのでご指摘下さい。 ご回答頂ければ幸いです。 サンプルイメージ 下記の通り入力されているものを・・・   <A><B><C><D>・・・・<ZZ> 1)     あ   い   う        わ 2)     あ       う        わ 3)     あ   い   う 4)     あ        このように表示したい   <A><B><C><D>・・・・<ZZ> 1) あ   あ   い   う        わ    い    う    わ 2) あ   あ       う        わ    う    わ 3) あ   あ   い   う    い    う 4) あ   あ        

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

  • ベストアンサー
noname#52504
noname#52504
回答No.3

●A案:作業用のシートを使う 仮に、元のデータがSheet1にあり、Sheet2を作業用に使うとします。 まず、Sheet2で、 1.B1セル:=Sheet1!B1 2.C1セル:=B1&IF(Sheet1!C1="","",CHAR(10)&Sheet1!C1) 3.C1セルを、ZZ1セルまで右方にフィル 次に、Sheet1で、 4.A1セル:=Sheet2!ZZ1 5.A1セルの書式設定を「折り返して…」に設定 ●B案:ユーザー定義関数を使う 1.下記VBAコードを設置する '--------------------↓ ココカラ ↓-------------------- Function Sample(ByVal セル範囲 As Range) As String  For Each セル In セル範囲   If セル <> "" Then 結果 = 結果 & セル & vbLf  Next セル   Sample = Left(結果, Len(結果) - 1)  End Function '--------------------↑ ココマデ ↑-------------------- 2.A1セル:=Sample(A1:ZZ1) 3.A1セルの書式設定を「折り返して…」に設定 ※元の文章の長さによっては、  文字数制限にひっかかる可能性もありますが、  こればっかりはどうしようもないですね。

GOGOGO13
質問者

お礼

是非 マクロを組んで対応してみたかったので助かりました。 お礼が遅れて申し訳ございませんでした。

その他の回答 (2)

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.2

こんな感じかな =SUBSTITUTE(TRIM(B1&" "&C1&" "&D1&" "&E1&" "&FD1&" "&G1)," ",CHAR(10))

GOGOGO13
質問者

お礼

ご回答有り難うございます。 もっと難しい関数が必要なのかと思っていましたが、関数が使いこなせる方だと、こんなシンプルに実現できるんですね。 勉強になりました。 ありがとうございます。

  • hissori
  • ベストアンサー率52% (37/70)
回答No.1

こんばんは。 セル内の文字を結合するには、”&”を使えば出来るのですが、改行はちょっとわかりません。 片手落ちですが、とりあえず…。 A1に半角で =B1&C1&D1&…&ZZ1 と入力します。 確定後、A1を選択して、カーソルを右下に持っていくと黒い十字型になるので、お好みの行までドラッグすれば、コピーされます。 空白のセルも結合対象になりますが、空白なので、表示されないわけです。 結合するデータがサンプルのように1文字であれば、セルの書式設定で配置を縦方向にすれば、縦に並ぶんですけれど…。 中途半端ですみません m(_ _)m

GOGOGO13
質問者

お礼

hissori様 早速のご回答ありがとうございました。 確かにご指摘の通り、&で実現出来るのですが・・・ あとは ・B1からZZ1まで関数入力する手間 ・空白セルを割愛する方法 がわかれば完璧なのですが。。。 なお、ご指摘の改行を入れる場合は A2&CHAR(10)&B2&CHAR(10)&C2 でいけるようです。 http://plaza.rakuten.co.jp/pasodairy/diary/200508290000/ 取り急ぎお礼の連絡まで。