• ベストアンサー

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

エクセル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

  • EXCELの区切り位置のコマンドについて

    HPから取ってきたデータをEXCELにテキストで貼り付けて、 スペースで区切る処理をするために、データメニューの区切り位置のコマンドで処理しようとしていますが、この区切り位置のコマンドは、1行ごとにしなければならないようですが、100行もあるデータも一回一回、データメニューの区切り位置のコマンドを実行しなければなりませんか? 記録マクロで処理しようと思いましたが、セルを固定してしまうマクロになるのでできませんでした。 よろしくお願いいたします。

  • メモ帳のデータをエクセルに貼付けしたい。

    メモ帳のデータをエクセルに貼付けしたい。 メモ帳に、コンマ区切りで書かれた多数のデータ(1行に文字列が10~100個)が、複数行あります。 これを、エクセルの各セルに、位置的に同じ位置に貼り付ける方法を教えてほしい。 しろうとですのでわかりやすくお願いします。 

  • エクセル教えてください 重複データの削除方法

    エクセルは良く使っていますが、レベルは初級の上です。 同一セル内に複数の重複データが入っていますが、重複しないものを抽出し 新しいセルに入れたいと思っています。 重複データの区切りは、セミコロン";" パイプ区切り"|",空白、改行が混在しています。 重複しないものを、新しいセルに入れたいのですが、どのようにしたら良いでしょうか? 新しいセルでのデータ区切りは、コンマ(又はパイプ区切り)にしたいと思っています。   例で説明します。 A列(番号) B列(元のデータ)             C列(重複を除いたデータ)  1      タイ ベトナム 中国|タイ|タイ         タイ,ベトナム,中国    2      インド ベトナム|インド タイ |インド 中国  インド,ベトナム,タイ,中国 ※B列のデータを重複を除いて、C列に入れたいと思っています ※2行のデータを例にしましたが、実際には2万くらいデータがあります ※マクロは全くわからないので、多少の手作業があっても関数レベルで やれると助かります。(いまから、マクロを勉強してもよいでしょうか??) 良い方法をアドバイスいただければ助かります。

  • エクセルで複数行のデータを1行にする方法

    エクセルで複数行のデータを列挿入--切り取り--貼り付けで1行にしたいのですが、 その様なセルの並びが沢山あります。 VBAマクロなどで一度に出来る方法が有りましたらどうか教えて下さい。 データはこんな感じです。 ┌─┬─┬─┬─┬─┐ │01│04│07│10│13│ ├─┼─┼─┼─┼─┤ │02│05│08│11│14│ ├─┼─┼─┼─┼─┤ │03│06│09│12│15│ ├─┼─┼─┼─┼─┤ │16│19│22│25│28│ ├─┼─┼─┼─┼─┤ │17│20│23│26│29│ ├─┼─┼─┼─┼─┤ │18│21│24│27│30│ ├─┼─┼─┼─┼─┤ この様に並び替えたいのです。 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │01│02│03│04│05│06│07│08│09│10│11│12│13│14│15│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ │16│17│18│19│20│21│22│23│24│25│26│27│28│29│30│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ 何卒宜しくお願いいたします。

  • エクセルで100行ほどのセルに、単語が3~10個、半角スペースで区切ら

    エクセルで100行ほどのセルに、単語が3~10個、半角スペースで区切られて入力されています。 これを一気にスペースごとに別のセルに移したいのですが。「データ」→「区切り位置」だと1行ごとに行わなければならないので…よろしくお願いします。

  • テキストファイルのデータをエクセルへコピーのやり方

    よろしくお願いします。 エクセル2000を使っています。 テキストのデータで A1/B1/C1    /はスペースです。 D1/E1/F1    データの長さは全部違います。 A2/B2/C2     D2/E2/F2 A3/B3/C3     D3/E3/F3      ・    ・(続く) といったものがあります。これをエクセルで    A列 B列 C列 D列 E列 1行 A1 B1 C1 D1 E1 2行 A2 B2 C2 D2 E2  ・・・ 3行 A3 B3 C3 D3 E3  (続く)          ・          ・(続く) という感じで別々のセルにいれて貼り付けしたいのです。 テキストデータを別々のセルに貼り付けする方法は 過去ログで「区切り位置」というのをつかえばいいというのはわかりましたが、この場合の複数行にわたるテキストデータをエクセルの1行に貼り付けする方法がわかりません。また、データの長さが違うために「区切り位置」もうまくいきません。 良い解決法をお願いします。

  • エクセル:区切り位置機能のようなマクロ

    お世話になります。 エクセルの区切り位置機能の「スペース」で区切った時と同じ結果をだせるマクロは組めるでしょうか?(区切り位置機能を使わずに) 区切り位置機能を使うと、その後も区切りたくたい場面でも勝手にデータが区切られたりします。また、できれば区切る前のデータを残したまま、その右の列に「スペース」単位で区切ったデータが入っていくのが理想です。 例) B2セルに 123 AB B3セルに 345 VA BBB  のデータ入っていた場合、 B2,B3セルは元データのままで、C2:123 D2:AB C3:345 D3:VA E3:BBB となればOK。 実際は2行ではないので選択した範囲で実行できるのが理想的です。 アドバイスお願いします。

  • 複数のセルに入っているデータを一つのセルに入れる方法。

    &関数を使用する方法以外で、複数のセルに入っているデータを一つのセルに入れる方法ってありますか? 【データ→区切り位置】で一つのセルに入っているデータを分割することはできますよね? これの反対っていうような感覚で、簡単にできる方法があれば教えてください。

  • Excelでマクロ使用時の区切り位置のズレについて

    私はMicrosoft Excel 2007を使っていますが、マクロによる区切り位置機能を使った際のズレに悩んでいます。 実際の状況は以下の様になっています。 (1)まず、数十行、41列(B~AP)の表を作り、罫線を付けてデータを入れる場所を作ります。 (2)次に、例えば以下の様なデータをそれぞれのセルに割り振りながら、1行にまとめます。 データ: ---------------------------------- 食品詳細 牛肉(ひき肉) 100 g 100 0 224 19 15.1 0.5 49 310 4 20 170 2.3 4.3 0.08 --- 4 2 4 0.1 0.5 5 0.08 0.2 4.7 0.36 1.5 7 0.99 1 5.45 6.81 0.61 67 --- --- --- 0.1 ---------------------------------- 上記のデータは、『食品詳細』から『0.1』まで、すべてで41個の数値および文字で構成されおります。 手動でやるには このデータをセルB9に貼り付け、その後『区切り位置』機能のスペース区切りを実行することで B9からAP9までのすべてのセルに割り振っています。 この作業をマクロにて実行させるために、開発タブにある『相対参照に記録』『マクロの記録』を使って 作業を記録しました。 作業は、『貼り付け』『区切り位置』です。 この様にして作成したマクロをショートカットキーで呼び出し使用したところ 上記の牛肉(ひき肉)では、手動と変わらない結果が得られました。 しかし、これを以下のデータで応用したところ、区切り位置にズレが生じました。 応用データ: -------------------------------------- 食品詳細 たまねぎ 50 g 50 0 18.5 0.5 0.05 4.4 1 75 10.5 4.5 16.5 0.1 0.1 0.025 0.075 --- 0.5 --- --- 0.05 --- 0.015 0.005 0.05 0.08 --- 8 0.095 4 0.005 --- 0.015 0.5 0.3 0.5 0.8 --- -------------------------------------- どうも、小数点の区切り位置が違っている様です。 手動ではなく、マクロを利用してデータ入力を行いたいため、どうか改善策を教えては頂けませんでしょうか。 何卒よろしくお願い申し上げます。 実際の様子を画像で添付いたします。

  • アンケートデータ(エクセルの処理について)

    アンケート集計について質問です。 複数回答のデータをエクセルのカンマ区切りデータがあるのですが、 (1つのセルに「1,2,3」という感じで入力されている) 集計しづらいので1,0データに変換して集計したいと思っています。 エクセルのデータ→区切り位置などを利用してできた記憶があるのですが忘れてしまいました。 どなたかご存知の方がいらっしゃったら教えてください。よろしくお願い致します。

専門家に質問してみよう