2017-04-05 3 views
0

私はこのデータセットに100K以上のレコードが含まれています。 そして1行のセルには、コンマ(、)で区切られた複数の製品コードが含まれています。セルには、コンマで区切られた1〜5個の製品コードが含まれています。セル内のデータを分割した後、自動的にExcelで新しいデータ行を作成する方法

There Unique Id no。タグを各製品コードに追加します。

  1. 各セルのみ
  2. 、他に含まれているデータを新しい列を移入1つの項目
  3. が含まれており、すべての製品コードについては、以下の新しい列を作成し、私はそうで分割する必要があります: はここにトリッキーな部分です行

    Row A  | Row B  | Row C | Row D| 
    Unique ID | Product ID | Price | MSRP | 
    1232  | 123,342,432| $5  | $10 | 
    

    を言うことを意味

そして、私は変換する必要がありますこのレコード、

Row A  | Row B  | Row C | Row D| 
Unique ID | Product ID | Price | MSRP | 
1232  | 123  | $5  | $10 | 
1232  | 342  | $5  | $10 | 
1232  | 432  | $5  | $10 | 

は、「列へのテキスト」の横にそれを行うと、コピーして、レコードを他のデータを貼り付けることがとにかくありますか? 私はVBAに全く新しいですが、私はそれを試してみたいと思います。

+1

*しかし、私は試してみるつもりです* - あなたが試した努力と失敗した場所を示してください。その後、私たちはそれらを解決するのを手伝ってくれるでしょSOは "私のためのコードを書く"ではありません。 –

+0

始めるヒント:すべての行をループします。区切り文字 '、yourArray = split()'](https://msdn.microsoft.com/en-us/library/6x627e5f(v = vs.90).aspx)を使用して、それらを区切り文字 ' '。 'x = UBound(yourArray)'で配列サイズを取得し、実際の行をx回複製します。次に、配列の値を実際の行と生成された行に書き込みます。 –

+0

@Scott、 私が今やっていることは、マニュアルです。 ステップ1:カラムBをカラムの最後に移動する ステップ2:区切りでカラムを分割する(、) ステップ3:列Dから分割されたものをコピーして最後の行に移動する ステップ4:列A - Cの情報 –

答えて

0

5 + 2ヘルパーコルムを追加した後、これをGoogleスプレッドシートで作成しました。 arrayformula()filter()split()join()regexreplace()がよく使用されています。これらは、正式にサポートされていないか、Excelの組み込み式として提供されています。

  1. まず、K:K=split(B2, ",")でレコードごとに5 pid秒を取得します。列O:Oに展開されます。
  2. uidのすべてのレコードの1行を=regexreplace(join("/", arrayformula(if(K2:O2<>"",$A2&","&K2:O2&","&$C2&","&$D2,""))), "/+$" , "")Q:Qにします。これはすべての列を,で結合し、各レコードを/で結合します。 (regexreplace()の代わりにsubstitute()などを使用することができます)
  3. 今すぐ参加すると、Q2:Qにすべてのレコードが表示されます。ただ1つの式=transpose(split(join("/", filter(Q2:Q, Q2:Q<>"")), "/"))R2です。
  4. 今度はR:R,の各レコードを=arrayformula(split(filter(R2:R, R2:R<>""), ","))F2の式で分割します。

サンプルシートはhereで、その下にはscrrenshotがあります。 enter image description here

もう1つのスクリーンショットは、数式のあるセルを示しています。 enter image description here

+0

ありがとう@Sangbok Lee、 Excelでこれまで何をやっているのか試してみました。 私が必要とするのは、セルBからの分割によって作成された各新規IDです。下の新しいレコードを作成し、それを他のすべての情報に置き換える必要があります。 要求されたアプリケーションの外にソリューションを提供するために、 –

+0

DVとは何を知っているか分かりません。 –

関連する問題