• ベストアンサー

エクセルで複数のデータをセミコロンで繋げる方法

エクセル2007を使用しています。 よくコロンやスペースなどの記号で1行につながっているデータを 「区切り位置」を使って区切りますが、その逆です。 複数のデータをセミコロンなどの記号で繋げて1行にしたいんですが、 マクロとか使わないとできないのでしょうか? データ量が少なければCONCATENATEで繋げようと思ったのですが、少し量が多いので困っております。 説明がうまくないので、添付をつけてみました。 セルの位置などは関係ないです。すみませんが、よろしくお願いします。

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

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.2

●A案 : 作業列を使って順次結合する 質問文添付画像の例で言えば、  B1セル : =A1  B2セル : =B1&";"&A2 として下方にフィルすれば、B5セルが求める文字列となります。 ●B案 : メモ帳(等)を使う 1.対象セル範囲をコピーする 2.メモ帳(等)に貼り付け、それをコピーする 3.単一のセル(例えばB1セル)を選択して数式バーにまとめて貼り付ける 4.3のセルのセル内改行をセミコロンに置き換える    =SUBSTITUTE(B1,CHAR(10),";") ●C案 : VBAでユーザー定義関数を作る 本来は、セル範囲だけでなく配列や配列定数を引数に取れるようにした方が何かと潰しが効くのですが、とりあえず素朴に書いてみました。 Sample(セル範囲,区切文字) '--------------------↓ ココカラ ↓-------------------- Function Sample(ByVal myRng As Range, ByVal myDiv As String) As String  Dim myCel As Variant  For Each myCel In myRng   Sample = Sample & myDiv & myCel.Value  Next myCel  Sample = Right(Sample, Len(Sample) - 1) End Function '--------------------↑ ココマデ ↑-------------------- ご参考まで。

x_kaeru_x
質問者

お礼

全て試して出来ました! CONCATENATE関数を使うよりどれも簡単でした。 マクロも書いていただき、すみません。 しばらく順番に使用してみて自分がやりやすいのを使わせていただきます。 大変助かりました。 ありがとうございました。

その他の回答 (1)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

=A1&","&A2&","&A3&","&A4&","&A5

x_kaeru_x
質問者

お礼

回答ありがとうございます。 ただ、データ量が多い場合、少し時間がかかってしまうんです。 もうちょっと手間をかけずに大量のデータを処理したかったんです。 すみません、うまく説明ができずに。 こちらもデータ量が少ない場合に使用できるので、参考にさせていただきます。 ありがとうございました。

関連するQ&A