• ベストアンサー

Excel 値の入っているものを抽出して連結

Excel2013を使用しています。 行に値の入っているセルのみを別セルにひとまとめにしたいのです。 イメージのBからE列の値をF列に抽出して連結させる関数をお教えください。

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

  • ベストアンサー
  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.3

こんにちは ちょっと、適当ですが、 Function 連結(r As Range) As Variant   Dim i As Long   If r.Rows.Count = 1 Then     For i = 1 To r.Columns.Count       連結 = 連結 & r(i).Value     Next   End If End Function こんな感じのユーザー定義関数を作って、セットして引数に1行分のセル範囲を 設定して、下方にフィルコピーなんて、どうですか?

utdx019
質問者

お礼

ushi2015さん、ありがとうございました。 普段利用しないユーザ定義関数の作成方法が少し難易度高かったですが、おかげさまでお教えいただいた方法で対応できました。 その他多くの方からご回答をいただき、合わせてお礼申し上げます。

その他の回答 (4)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>イメージのBからE列の値をF列に抽出して連結させる関数をお教えください。 >列がサンプルイメージは4列程度ですが、実際は500列ぐらいあり、手動で設定するのは時間がかかりすぎます。 作業用Sheetを使用することをお薦めします。 提示のシート名をSheet1とし、作業用シート名をSheet2と仮定してSheet2!B2へ次の数式を設定します。 =A2&” "&Sheet1!B2 Sheet2!B2を右へ必要数コピーします。(提示画像のデータ範囲の場合はSheet2!E2セルまで) 尚、Sheet2!は行方向のコピーも必要かと思います。 Sheet2!B2セルをコピーでクリップボードへ記憶させて貼り付け先を一括で選択すれば一挙に貼り付けできますのでコピー&ペーストの労力は容易と思います。 次に、提示画像のデータ範囲の場合はSheet1!F2セルへ次の数式を設定します。 =SUBSTITUTE(TRIM(Sheet2!E2)," ",",") Sheet1!F2セルを下へ必要数コピーします。

utdx019
質問者

お礼

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

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.4

作業用シートを使うこんな方法は如何でしょう。 値の区切りには半角スペースを使います。 図を見てください。 Sheet2を作業用シートとして使います。 Sheet2のB2セルに以下の式を入れ、Sheet1のデータが入っている範囲(今回の場合B2:E4)にコピーします。 =A2&" "&Sheet1!B2 準備ができたら今度はSheet1です。F2セルに以下の式を入れ、下にコピーします。 =TRIM(Sheet2!E2)

utdx019
質問者

お礼

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

  • OKWavex
  • ベストアンサー率22% (1222/5383)
回答No.2

1列だけをセルに&の計算式を入れて、そのセルを列の分だけコピー 空白分は後から結果文字列を編集して空白を除く式を入れればいい

utdx019
質問者

お礼

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

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは 普通に、F2に =B2&C2&D2&E2 でいいのでは?

utdx019
質問者

お礼

早速ご回答をいただきお礼申し上げます。 気付きませんでした、たしかに&で連結できますね。 列がサンプルイメージは4列程度ですが、実際は500列ぐらいあり、手動で設定するのは時間がかかりすぎます。範囲指定ができて、空白を除いて連結できる方法はないでしょうか。 よろしくお願いいたします。

関連するQ&A