我的情況:我從一家線上商店的產品製造商處獲得了一張巨大的 Excel 表格。這種格式:
product ID | price | name | ...
製造商每週都會向我發送一份包含新產品的更新清單。所以我需要知道該清單中哪些產品是新產品。所以我需要的是一個程式碼片段,它執行以下操作:
- 我要在sheet1中插入舊的產品清單(手動)
- 我要在sheet2中插入新產品清單(手動)
- 比較 Sheet1 和 Sheet2 的產品 ID
- 將新清單 (Sheet2) 中的產品(行)插入 Sheet3 中,而舊清單 (Sheet1) 中不存在這些產品(行)
因此 Sheet3 中的結果將是所有新產品。我希望你能把我推向正確的方向。
問候
答案1
我想你可能需要這樣的東西:
=VLOOKUP(Sheet1!A1:A100,Sheet2!A1:F100,6,FALSE)
當然,您也可以使用帶有按鈕和各種奇特東西的 VBA 來解決這個問題。
答案2
實際上,我會使用 Microsoft 的 PowerQuery 外掛程式以不同的方式完成此操作,但我不知道它在 Excel 2010 上的工作效果如何(它在 Excel 2007 上不起作用)。這樣,您就可以對產品 ID 進行分組附加查詢,以便取得唯一的清單。
另一種方法是將工作表儲存在不同的文件中,並使用 Excel 查詢工具將兩個表進行聯接查詢到一個新表中。
不管怎樣,一旦你有了新表,你就可以將其保存起來,為下一次合併做好準備。
答案3
在Sheet2
(updated item) 中,新增 D 欄位來檢查產品是否為新產品:
=MATCH(A2,Sheet1!$A:$A,0)>0
新增 E 列,為TRUE
D 列中的值提供唯一標識符
=D5&COUNTIF(D$2:D2)
現在轉到Sheet3
(新項目)並在 E 列中放置索引列,其中包含值TRUE1
、TRUE2
等TRUE3
,數量與您認為需要的數量一樣(例如,如果有一天有 20 個新項目,而您只需要到TRUE15
,那麼您將錯過5 件商品)。
然後您可以透過以下方式引入新項目:
=INDEX(Sheet2!A:A,MATCH($E2,Sheet2!$E:$E,0))