• ベストアンサー

エクセル セルデーターの統合

エクセルのセル(行)にあるデーターを統合したいのですが・・・。 列も行もかなりあり、共通のデーターは何個かあります。下の例では、ア01とイ01です。 その他は、ア02とイ02という具合にセットになってます。 どちらかの行(ここでは1と3)にデーターをまとめる。 【例】 ***A列|B列|C列|D列|E列|F列| 1|ア01|イ01|ウ*|空白|エ*|空白| 2|ア01|イ01|空白|カ*|空白|キ*| 3|ア02|イ02|ク*|空白|ケ*|空白| 4|ア02|イ02|空白|コ*|空白|ナ*| 【完了後】 ***A列|B列|C列|D列|E列|F列| 1|ア01|イ01|ウ*|カ*|エ*|キ*| 3|ア02|イ02|ク*|コ*|ケ*|ナ*| このような、データーの簡単な結合方法は、ありませんか?

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

必ず2行1セットになっているなら、以下の方法でどうですか? 1. G1セル =IF($A1<>$A2,"",IF(A1<>"",A1,A2)) 2. G1セルの計算式をL1セルまで横方向にフィルコピー 3. G1:L1を選択し、最終データ行まで縦方向でフィルコピー 4. G:L列を選択し、コピー&値で貼付け 5. G列オートフィルターで空白セル以外を表示 あとは、表示されたデータ範囲(可視セル)を別のシートにでもコピーすれば良いかと。

nayami4649
質問者

お礼

お礼が遅くなりました。すみません。 取り急ぎのデーターはこつこつとやりましたので、別のデーターでやってみましたら出来ました。 ありがとうございました。

その他の回答 (2)

  • at121
  • ベストアンサー率41% (85/206)
回答No.2

先頭列のセル ア01、ア02 のみで列のセット 2行を判定 Sub 指定セルを含む範囲の2行結合() Selection.CurrentRegion.Select 指定先頭行 = Selection.Row 指定先頭列 = Selection.Column 指定末尾行 = Selection.Rows.Count + 指定先頭行 - 1 指定末尾列 = Selection.Columns.Count + 指定先頭列 - 1 For 指定行 = 指定末尾行 To 指定先頭行 Step -1 '先頭列セルのみで 上下 一致確認 If Cells(指定行, 指定先頭列) = Cells(指定行 + 1, 指定先頭列) Then For 指定列 = 指定先頭列 To 指定末尾列 If Trim(Cells(指定行, 指定列)) = "" Then '判定指定行のセル:上の行が空白なら下の行からコピー Cells(指定行, 指定列) = Trim(Cells(指定行 + 1, 指定列)) End If Next '下の行を削除 Rows(指定行 + 1).Delete Shift:=xlUp End If Next End Sub

nayami4649
質問者

お礼

お礼が遅くなりました。すみません。 私には、レベル的に無理でした。 一度勉強してみます。

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.1

2行1セットを前提に考えてます。 元データのシートを「Sheet1」とします 別シートに以下の式を入れます。 [A1]~[B1]同じ =INDIRECT("Sheet1!"&ADDRESS(ROW(),COLUMN())) [C1]~[F1]同じ =INDIRECT("Sheet1!"&ADDRESS(ROW(),COLUMN()))&INDIRECT("Sheet1!"&ADDRESS(ROW()+1,COLUMN())) 式の入った1行目と何も入っていない2行目を選択し、必要行数分だけ下にコピーします。

nayami4649
質問者

お礼

お礼が非常遅くなりました。すみません。 出来ました。ありがとうございました。

関連するQ&A