0

私がやろうとしているのは、Excelシートがあるとしましょう

製品番号 | 製品 | スク | 価格 | 画像 | 親指

25 | シャツ ブルー | 4251 | $10 | シャツ.jpg | シャツサム.jpg

2 | シャツ グリーン | 4581 | $17 | 緑.jpg | グリーンサム.jpg

8 | シャツ ブラック | 4561 | $15 | 黒.jpg | ブラックサム.jpg


そしてちょうど別の行または別のExcelシートに

製品番号 | 製品 | スク | 価格 | 画像 | 親指

25 | シャツ ブルー | 4251 | $52 | | |
2 | シャツ グリーン | 4581 | $42 | | |
8 | シャツ ブラック | 4561 | $65 | | |


2 番目のテーブルまたはシートの列のデータが指定された列で異なる場合、最初のテーブルを更新するように変更するにはどうすればよいですか。セルが空の場合はそれらを無視し、2 番目のテーブルの値を最初のテーブルに置き換えるだけです

最終的には

製品番号 | 製品 | スク | 価格 | 画像 | 親指

25 | シャツ ブルー | 4251 | $52 | シャツ.jpg | シャツサム.jpg

2 | シャツ グリーン | 4581 | $42 | 緑.jpg | グリーンサム.jpg

8 | シャツ ブラック | 4561 | $65 | 黒.jpg | ブラックサム.jpg

いくつかのExcel関数を試しましたが、セルの追加を行う製品が非常に多いため、機能しません

私はVlでやろうとしましたが、混乱し、マクロが何であるかさえわかりません

私はタスクを実行できる限り、どんなビジュアル、機能にもオープンです

知ってる人いたら教えて

ありがとうございました

4

1 に答える 1

0

固定値を使用する代わりに、指定された列で永続的な式を使用することをお勧めします。

これを行うには、VLOOKUP()関数を使用します。ProductNo は変更されない要素であるため、他のすべての列がVLOOKUP()機能すると想定しています。

私が正しく理解している場合、1 番目のテーブルの 2 番目のテーブルに更新がある可能性がありますが、2 番目のテーブルの空のセルは無視する必要があります。

また、更新により要素がいつ変更されるかを確認したいと考えているため、次のことを提案します。

最初のテーブルに、更新が必要な可能性のある列要素のブロックを追加します。列の 2 つのブロック、結合の結果を含む最初のブロック ( COMB ブロック) と、2 番目のテーブルからのルックアップを含む 2 番目のブロック ( LOOKUP ブロック) 。 . 説明の便宜上、2 つのテーブルを同じワークブックのtable1table2というシートに配置しました。

製品番号 | 製品 | スク | 価格 | 画像 | 親指 | 親指 Product_comb | Sku_comb | Price_comb | Image_comb | サムコーム | Product_lookup | Sku_lookup | Price_lookup | Image_lookup | Thumb_lookup

LOOKUP ブロックの式から始めてVLOOKUP()、*Product_vlookup* 列に次のよう に使用します=IFERROR(VLOOKUP($A2,table2!$A:B,COLUMNS(table2!$A:B),FALSE),"") 。IFERROR は、table1 の製品が table2 に見つからない場合に使用します

COMB ブロックの数式については、次のように表 1 の結果よりも表 2 の結果が優先されます。空の要素 (イメージなど) を持つ一致する ProductNo の時点VLOOKUPで、0 (ゼロ) が返され、すべてのゼロも偽のルックアップ結果と見なされます。これは、*Product_comb* 列のスクリプトです。 =IF(OR(ISBLANK(L2),L2=0),B2,L2)

変更された製品を特定する最後のステップとして、元の値と _comb 値を比較した列を追加できます =AND(B2=G2,C2=H2,D2=I2,E2=J2,F2=K2)(これは、変更された列がない場合は true を返し、変更された列がある場合は false を返します)、または各要素で個別に条件付き書式を使用するか、AND()式が示すように組み合わせで。

更新プロセスの最後のステップとして、 COMB ブロックからすべてのレコードをコピーして、元の要素に貼り付けることができます。

さらに質問がある場合は、お尋ねください。

于 2012-11-01T10:21:47.907 に答える