- ベストアンサー
【エクセル:セル内の文書結合】 右に並んだ全てを結合するには?
既出でしたら申し訳ございません。 エクセルで下記「サンプルイメージ」での記載状況の際 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) あ あ
- みんなの回答 (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セルの書式設定を「折り返して…」に設定 ※元の文章の長さによっては、 文字数制限にひっかかる可能性もありますが、 こればっかりはどうしようもないですね。
その他の回答 (2)
- sige1701
- ベストアンサー率28% (74/260)
こんな感じかな =SUBSTITUTE(TRIM(B1&" "&C1&" "&D1&" "&E1&" "&FD1&" "&G1)," ",CHAR(10))
お礼
ご回答有り難うございます。 もっと難しい関数が必要なのかと思っていましたが、関数が使いこなせる方だと、こんなシンプルに実現できるんですね。 勉強になりました。 ありがとうございます。
- hissori
- ベストアンサー率52% (37/70)
こんばんは。 セル内の文字を結合するには、”&”を使えば出来るのですが、改行はちょっとわかりません。 片手落ちですが、とりあえず…。 A1に半角で =B1&C1&D1&…&ZZ1 と入力します。 確定後、A1を選択して、カーソルを右下に持っていくと黒い十字型になるので、お好みの行までドラッグすれば、コピーされます。 空白のセルも結合対象になりますが、空白なので、表示されないわけです。 結合するデータがサンプルのように1文字であれば、セルの書式設定で配置を縦方向にすれば、縦に並ぶんですけれど…。 中途半端ですみません m(_ _)m
お礼
hissori様 早速のご回答ありがとうございました。 確かにご指摘の通り、&で実現出来るのですが・・・ あとは ・B1からZZ1まで関数入力する手間 ・空白セルを割愛する方法 がわかれば完璧なのですが。。。 なお、ご指摘の改行を入れる場合は A2&CHAR(10)&B2&CHAR(10)&C2 でいけるようです。 http://plaza.rakuten.co.jp/pasodairy/diary/200508290000/ 取り急ぎお礼の連絡まで。
お礼
是非 マクロを組んで対応してみたかったので助かりました。 お礼が遅れて申し訳ございませんでした。