• ベストアンサー

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

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

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

> &関数を使用する方法以外で、 なぜ、そう思うのか良く分かりませんが、#1 さんの回答は、標準的ですけれども、Concatenate という長い単語は、おそらく、Excelで標準で使わせる目的ではないようです。 "&" の入ったデータが、Lotus123との互換性がないために作られたものです。あまり、便利な関数だと思いません。"&"の代わりに、","で区切らすだけですから。 "&" は関数ではなく、演算子ですが、VBAのいわゆるJoin関数(使用目的が違います)のようなものを、マ社はなぜ作らなかったのか、その理由が分かりません。 以下は、VBAはお分かりにならないかもしれませんが、一応、プロシージャーと関数を作ってみましたので、公開しておきます。 [区切り位置]の反対 ただし、デリミターは、現在は入れられません。 Sub CellsJoin()  Dim Rng As Range  Dim i As Long, j As Long  Dim CombinedValue As String  Set Rng = Selection 'マウスで範囲を選択  With Rng   If .Count > 1 Then    For i = 1 To .Rows.Count     For j = 1 To .Columns.Count      CombinedValue = CombinedValue & .Cells(i, j).Value     Next j     .Cells(i, 1).Value = CombinedValue     .Rows(i).Offset(, 1).Resize(, j - 2).ClearContents     CombinedValue = ""    Next i   End If  End With  Set Rng = Nothing End Sub ユーザー定義関数 '標準モジュールへ Function myJoin(セル As Range, _     Optional Delimiter As String = "") As Variant  Dim myData As String  If セル.Rows.Count <> 1 And _  セル.Columns.Count <> 1 Then Exit Function  For Each c In セル  myData = myData & Delimiter & c.Value  Next c  myJoin = Mid$(myData, 1 + Len(Delimiter)) End Function 使用法 a b c d e =MYJOIN(A1:E1) 結果: abcde デリミターを入れた場合 =MYJOIN(A1:E1,",") 結果: a,b,c,d,e p.s.「採用」する・しないという言葉は、レスにはつけないでね。質問系掲示板では、回答者さんに対して禁句です。

y0923
質問者

お礼

ありがとうございます。 まさに求めていた方法でした。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • FlyingAce
  • ベストアンサー率44% (214/485)
回答No.3

フリーアドインソフト「XL C Kit ~編集~」はいかがでしょう? セル内の結合や、文字列変換(半角/全角変換)等いろいろなことができます。 (Windows2000、XPでも問題なく使えます)

参考URL:
http://www.vector.co.jp/soft/win95/business/se233980.html
全文を見る
すると、全ての回答が全文表示されます。
回答No.2

あまり良い方法ではないかもしれませんが、次の方法では? 【手順】 (1)結合したいファイルをTEXT形式でいったん保存して閉じる。 (2)再度、txt形式でファイルを開けるが、そのときテキストファイウィザードのNo.2で区切り文字のタブのチェックを外して次へ (3)そのまま完了(必要に応じて列のデータ形式を選択) これで、セルが結合されます

y0923
質問者

お礼

ありがとうございます。 ただちょっと手間がかかる作業ですよね。 No.1さんの方法を採用したいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • tee-tan
  • ベストアンサー率26% (5/19)
回答No.1

こんにちは。 CONCATENATEという関数はどうでしょうか? この関数でしたらセル内の文字を文字列として 繋ぐことが出来ると思います。

y0923
質問者

お礼

すばやい回答ありがとうございます。 簡単に文字列をつなぐことができるので、今後使わせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • excel2003 選択セル内データ→1個のセルにカンマ区切りデータ

    excel2003で、複数の選択セル内データを1個のセルにカンマ区切りデータに変換する操作をご教示願います。 具体的には、 「データ」メニューの「区切り位置」で、1つのセル内にカンマ区切りされた複数データを、データ数分のセルに変換可能ですが、これと逆の変換方法を知りたいのです。 可能であれば、VBA以外の方法が良いのですが・・・ ご教示よろしくお願い致します。

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

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

  • EXCELのA1セル内のデータをを複数セルへ分割する方法は?

    EXCELのA1セル内に「G01520-50-1」というデータが入っています。 (例1)B1セル内に「G01520」、C1セル内に「50」、D1セル内に「1」 または(例2)B1セル内「G01520]、C1セル内に「50-1」のように変換して 複数セルに分割する方法があれば教えてください。 (例1)(例2)のどちらでも良いのですが、できれば(例2)のように 分割したいのです。

  • 1つのセルに入っている複数の言葉を、1つずつのセルに分けたい

    ウィンドウズ2000で、 エクセルのXPを使用しております。 A1のセルに、ああああああああああああああああ・・ という文章が入っております。 これを、B1 C1 D1      あ  あ  あ・・・ とすべて1文字ずつになるようにしたいのです。 ちなみに、今は、データ→区切り位置で1つずつ 区切ってやっているのですが、一括でできる方法が あったら教えてください! よろしくお願いします。

  • 複数のセルの文字列を結合して1つのセルに収める方法

    いくつかの行または列のセルに入っている文字列を 結合して1つのセルに収める方法がありますか? 今はコピーペーストを繰り返すだけですが、数が多いと大変です。 メニュー「データ」から「区切り位置」の逆に近いことをやりたいのです。対象のセルを選んでたとえばCTRL+ XXキーでできればほぼ望みに近いものです。 よろしくお願いします。   

  • エクセルで複数セル(約50個のセル)を参照し、合計値を出そうと思ってい

    エクセルで複数セル(約50個のセル)を参照し、合計値を出そうと思っています。 複数セルの中にはエラー値#N/Aも含まれています。 参照元のセルにVLOOKUP関数を埋め込むのも数が多く大変ですし、 合計値セルでISERROR関数を埋め込んだら「数式が長すぎます」というエラーが出ます。 #N/A以外を抽出し、合計値を出す方法はありますでしょうか。 出来ればVBAを使用せず回避できる方法を教えて頂ければ幸いです。

  • エクセルでデータの入ったセルを分ける方法

    エクセルでデータの入力されたセルを分割する方法を知りたいです。 画像のようなエクセルデータがあって、55行のセルに時間が2つ入力されてしまいました。 この55行のセル内のデータを上と下で分割して、1つのセルに1つだけ時間が入るようにしたいのですが、何かいい方法はありませんでしょうか? 詳しい方がいらっしゃいましたら、お助け願います。。。

  • セルの値 20071201123456 を、2007/12/01 12:34:56 に変換する方法。

    セルの値 20071201123456 を、2007/12/01 12:34:56 に変換する方法。 20071201だけならば、[データ][区切り位置]で出来るのはわかりました。 時間の部分も同じセルに一緒に表示したいのですが。 宜しくお願いします。

  • 複数のセルの関数で指定したセルを同時に変更したい

    複数セルに入力された関数が参照するセルを、同時に変更することはできますか? 関数で参照したセルが間違っていたり、新しいデータ入力でセルがズレた場合などで関数で指定されているセルを変更するのは手作業でやると面倒です。おまけにそれが複数の関数に影響したら一つ一つ手作業で変更していたら日が暮れます。 一括で指定セルの変更を行う方法はありませんか? ちなみに今回、全ての関数は同じセルを参照しています。

  • セル内の2行をそれぞれ別のセルにコピーするマクロ

    A列にデータが入力されていたとします。 そのデータのうち、複数のセルで改行されて2行になっています。 改行されているセルをサーチし、1行目をB列のセルに、2行目をC列のセルに分割してコピーしたいと思います。 この様な方法は、マクロで可能でしょうか。 適切な関数があれば、ご教授いただきたいと思います。

専門家に質問してみよう