1つのExcelシートで複数の値を検索して別のシートにコピーする方法

excel sqlbulkcopy

質問

良い一日

私は大きな問題がある

私はオンラインストアを持っており、製品と価格を更新する必要があります。現在のすべての製品をオンラインで受け取り、新しい価格表を受け取ったExcelシートを持っています。今、問題は、5000以上の製品を取り扱っていて、

私が今必要とするのは、あるシートから価格をコピーし、それを他のシートの対応するSKU /製品コードに移動するコードです

また、現在のExcelシートから削除する必要があるEOL製品のリストがあるので、EOLシートで製品コード/ SKUを見つけて、もう一方のシートの対応するSKUで行全体を削除するコードが必要です

ありがとうございました

受け入れられた回答

あなたの製品が3つのテーブルすべてで利用可能な一意のIDを持っていると仮定すると、これはプログラミングを必要としない簡単な作業でなければなりません。

1.価格を更新する

必要なのはVLOOKUP式だけです。私はすべての製品と価格であなたのリストは、列Aの製品IDとBの列の(古い)価格を持っていると仮定します。あなたの新しいpricelistは同じフォーマットです。次に、セルB2に次の数式を置きます(現在は古い価格です)。

=VLOOKUP(A2,[NewPriceFile]Sheet1!$A:$B,2,0)

これはあなたに新しい価格を返します。

2.古い製品を削除するここでは、単にEOL製品IDのリストがあると仮定します。 C列に次の数式を入力します。

=ISERROR(MATCH(A2,[EOLFile]Sheet1!$A:$A,0))

これは、製品がEOLリストに見つかるたびにFALSEを返し、それ以外の場合はTRUEを返しFALSE

これで、オートフィルタをフルリスト( データタブ - > ソート&フィルタ - > フィルタ )に適用し、 FALSE列Cをフィルタリングするだけで済みFALSE 。すべての行を選択して削除します( Ctrl - - )。

同様に、すべての製品が見つかった場合は、列Bをチェックすることもできます。製品が見つからなかった場合、 #N/A!フィルタリングすることができます。また、数式をIFERRORと組み合わせて、新しい価格が見つからない場合は古い価格を使用することもできます。

=IFERROR(VLOOKUP(A2,[NewPriceFile]Sheet1!$A:$B,2,0),D2)

(これは、古い価格がD2に格納されていることを前提としています)



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ