• ベストアンサー

エクセルで中身も結合させる

エクセル2003使ってます。左右又は上下のセルを結合させて内容も合体させることはできますか。できれば合体方法も決めたいです。 たとえば「名古屋県 名古屋市 豊田町」が別々のセルに入っていてセルを結合させ「名古屋県名古屋市豊田町」にしたり「名古屋県-名古屋市-豊田町」等としたいんです。●市の前に県名を一括挿入する方法もありますか。 どうしたらいいでしょうか。よろしくお願いいたします。

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

  • ベストアンサー
  • shanglee
  • ベストアンサー率43% (58/134)
回答No.1

ご希望をストレートに実現するにはVBAを使うしかないでしょう。 簡単にコードを書いてみましたので、参考にしてみてください。 VBAをご存知なければ再度ご質問願います。 Sub 内容を連結してセル結合()  Dim x As Integer, i As Integer  Dim myStr As String  x = Selection.Cells.Count  For i = 1 To x   If Selection.Cells(i) <> "" Then myStr = myStr + CStr(Selection.Cells(i))  Next i  Application.DisplayAlerts = False  Selection.Merge  Selection = myStr  myStr = ""  Application.DisplayAlerts = True End Sub このマクロを実行すれば、範囲選択したセルの中身を連結しつつ、セル結合もします。 なお、上記は「名古屋県名古屋市豊田町」にする場合です。 →「名古屋県-名古屋市-豊田町」としたい場合は、5~7行目を For i = 1 To x  If Selection.Cells(i) <> "" Then   If i > 1 Then    myStr = myStr + "-" + CStr(Selection.Cells(i))   Else    myStr = myStr + CStr(Selection.Cells(i))   End If  End If Next i とすると実現できます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

(1)VBAならできます。セルの値を一旦変数に保持し、 セルを結合し 結合したセルに、変数に一旦退避した値を結合して、結合後セルに 戻せばよい。 (2)結合だけの操作では、絶対できません。 (3)別セルを使えば A1="名古屋市"、B1="豊田町"として ="愛知県"& A1 & B1といれ、その値を、結合後セルに、値複写すればよい。

noname#27371
質問者

お礼

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

回答No.4

結合する必要があるのかどうかどうかわかりませんが^^ A1=名古屋県、B1=名古屋市、C1=豊田町とした時に、 =CONCATENATE(A1,B1,C1) でいけると思います。データとして取っておくなら分割しておいたほうが後で編集するのにも使い勝手がいいですし… 無理してマクロを組むと結合するのは簡単だけれど切り離すのはまた面倒くさいので。 ●市の前に県名を入れたいのであれば●市はどこどこ県のような別の表を作成し、VLOOKUP関数で探してCONCATENATE関数で繋げてあげれば良いと思います。

  • k-f3
  • ベストアンサー率31% (945/3036)
回答No.3

Ano.2 補足 「名古屋県-名古屋市-豊田町」の場合は、 「列」を挿入「名古屋市」「-」「名古屋市」「-」「豊田町」を入力後、実行してください。

  • k-f3
  • ベストアンサー率31% (945/3036)
回答No.2

府県名と市町村住所等それぞれ別々のセルに分けていたものを 一つのセルにまとめたい場合・・・・・ 1.表示したいセルを選択しつなげたい [セル番地]を[&]で結ぶようにする。 [(例 )= B2&C2]と入力する。 2.つなげるセルの枠の色が変わり、[Enter]キーを押すとつながれた文字が表示される。 そのまま下にドラッグすれば、オートファイル機能が適用され、他のセルも同じように表示される。

関連するQ&A