1

タイトルが長すぎるのは承知しています。説明してみます。

Magento 製品を Zen Cart に入れようとしています (背景のみ - 関係ありません)。

私は Excel 2010 xls スプレッドシートを持っています。その中には、skus、価格、カテゴリなどの大量の製品データがあります。各製品とそのデータを 1 回リストし、それぞれに固有の SKU フィールドを設定しています。

しかし...これらの製品の一部は複数のカテゴリに属しており、私がインポートしている方法では、各製品をカテゴリごとに 1 回、複数回リストする必要があります。

そのため、2 つの列を含む sql ダンプを作成しました。SKU とカテゴリ。これらの値を新しい行として Excel に貼り付けたので、次のような状況になりました (より多くのエントリがあります)。

ここに画像の説明を入力

ご覧のように、各 SKU (左側の強調表示) には、カテゴリ以外のすべてのデータを含む 1 つのエントリ (右側の強調表示) があり、カテゴリと SKU のみが含まれ、カテゴリと SKU のいずれも含まれていない追加のエントリがあります。他のデータ。

したがって、私がする必要があるのは、同じ SKU を持つすべてのセルに (カテゴリ列を除く) すべてのデータをコピーする方法です。Ctrl+V を何百回も押さずにこれを達成する方法を知っている人はいますか? VBAはおそらくこれをかなり簡単に処理できると思いますが、その前に手がかりがありません。

どんな助けでも大歓迎です

4

4 に答える 4

3

2 枚目のシートを使用して、実際にコピーするのではなく、データを参照していただければ幸いです。

Sheet2 で、 に設定A1=IF(Sheet1!A1="", "", Sheet1!A1)ます。これを下にドラッグ (拡張/塗りつぶし) しA500ます (シート 1 にあるデータと同じか、それ以上に拡大できるようにします)。また、 にドラッグA1してからAA1、 にドラッグしAA500ます。

に設定B2=IF($AA2="", Sheet1!B2, B1)、 にドラッグしZ2、 にドラッグB2:Z2B500:Z500ます。

PS データ (列) のいずれかが日付である場合は、シート 2 で日付として明示的に書式設定する必要があります。デフォルト以外の方法でフォーマットされた他の値についても同様です (通貨やパーセンテージなど)。これは、値が含まれているセル (空白のセルではない) に対してのみ行う必要がある場合があります。

于 2013-01-08T23:16:45.843 に答える
2

これを何度も行う必要がない限り、VBA は必要ありません。データを含むシートが呼び出され、結果を含むシート
が呼び出されると仮定すると、シートで次の手順に従って必要なものを取得できます。 SourceDestDest

  • A1タイプについて=Source!A1
  • A2タイプについて=IF(ISBLANK(Source!A2),A1,Source!A2)
  • 範囲 A1:XX1 を選択します (XX はシート ソースの最後の列です)。
  • Ctrl+R を押します (最初のセルを右にコピーします)。
  • 範囲 A2:XX## を選択します (## はシート ソースの最後の行です)。
  • Ctrl+R および Ctrl+D を押します (右および下にコピーするには)

何が起こっているのかを次に説明します
。最初の行はソースからそのままコピーされます。
2 番目の行の各セルは、そのセルが空の場合にのみ Source からコピーされ、それ以外の場合は上のセルがコピーされます。

于 2013-01-09T00:09:59.597 に答える
1

迅速で汚い解決策は次のとおりです。

  1. 入力する必要がある列を選択します
  2. 後藤を押すCtrl-G
  3. 特殊な「Alt-S」
  4. ブランク ( Alt-K, Enter)
  5. これにより、すべての空白セルが選択されます。入力 =B2します (B3 にいると仮定します。つまり、アクティブ セルの上のセルを使用します) 重要: Ctrl-EnterEnter の代わりに を押して数式を入力します。

終わり!

于 2013-01-09T07:41:18.683 に答える
0

新しいワークシートで、セル A1 に 1 を入力し、セル A2 に 2 を入力して、Row1 の一番上にある 1 ~ 26 の数字を取得し、それらの 2 つのセルを選択して Z まで入力します。

次に、A2 に次の式を入力します。=VLOOKUP(Sheet1!$A1,Sheet1!$A:$AA,VALUE(A$1),FALSE) この式を範囲 A2:Z## に入力します (## はデータの最後の行を表します)。次に、Row1 を Sheet1 から Sheet2 の Row1 にコピーします。

この数式は、データの行をその下の空の行に直接コピーします (新しい情報の行がある場合にのみ SKU が変更されると仮定します。

これはすべてアクティブな数式になるため、Sheet2 ですべてを選択し、セル A1 を右クリックして、値で特別に貼り付けることをお勧めします。

于 2013-01-09T00:48:10.420 に答える