比較 Excel 中的兩個工作表並提取與其他第三個工作表的差異

比較 Excel 中的兩個工作表並提取與其他第三個工作表的差異

我的情況:我從一家線上商店的產品製造商處獲得了一張巨大的 Excel 表格。這種格式:

product ID | price | name | ...

製造商每週都會向我發送一份包含新產品的更新清單。所以我需要知道該清單中哪些產品是新產品。所以我需要的是一個程式碼片段,它執行以下操作:

  • 我要在sheet1中插入舊的產品清單(手動)
  • 我要在sheet2中插入新產品清單(手動)
  • 比較 Sheet1 和 Sheet2 的產品 ID
  • 將新清單 (Sheet2) 中的產品(行)插入 Sheet3 中,而舊清單 (Sheet1) 中不存在這些產品(行)

因此 Sheet3 中的結果將是所有新產品。我希望你能把我推向正確的方向。

問候

答案1

我想你可能需要這樣的東西:
=VLOOKUP(Sheet1!A1:A100,Sheet2!A1:F100,6,FALSE)

來源:https://stackoverflow.com/questions/15396677/excel-compare-two-cell-from- Different-sheet-if-true-copy-value-from-other-cell

當然,您也可以使用帶有按鈕和各種奇特東西的 VBA 來解決這個問題。

答案2

實際上,我會使用 Microsoft 的 PowerQuery 外掛程式以不同的方式完成此操作,但我不知道它在 Excel 2010 上的工作效果如何(它在 Excel 2007 上不起作用)。這樣,您就可以對產品 ID 進行分組附加查詢,以便取得唯一的清單。

另一種方法是將工作表儲存在不同的文件中,並使用 Excel 查詢工具將兩個表進行聯接查詢到一個新表中。

不管怎樣,一旦你有了新表,你就可以將其保存起來,為下一次合併做好準備。

答案3

Sheet2(updated item) 中,新增 D 欄位來檢查產品是否為新產品:

=MATCH(A2,Sheet1!$A:$A,0)>0

新增 E 列,為TRUED 列中的值提供唯一標識符

=D5&COUNTIF(D$2:D2)

現在轉到Sheet3(新項目)並在 E 列中放置索引列,其中包含值TRUE1TRUE2TRUE3,數量與您認為需要的數量一樣(例如,如果有一天有 20 個新項目,而您只需要到TRUE15,那麼您將錯過5 件商品)。

然後您可以透過以下方式引入新項目:

=INDEX(Sheet2!A:A,MATCH($E2,Sheet2!$E:$E,0))

相關內容