プロが教える店舗&オフィスのセキュリティ対策術

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

「エクセルで複数のデータをセミコロンで繋げ」の質問画像

A 回答 (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
'--------------------↑ ココマデ ↑--------------------
ご参考まで。
「エクセルで複数のデータをセミコロンで繋げ」の回答画像2
    • good
    • 1
この回答へのお礼

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

お礼日時:2009/06/10 23:35

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

「エクセルで複数のデータをセミコロンで繋げ」の回答画像1
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/10 23:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています