我有两个包含两列数据的工作表。工作表的A列是项目的名称,B列是项目的价格。工作表1的价格来自去年,工作表2的价格来自今年。工作表1中的项目名称可能在工作表2中,也可能不在。
我需要一个与每个工作表中的名称相匹配的流程,如果匹配则确定该项目的价格差异。价格差异将在工作表2的C列中。
我考虑过使用带有vlookup函数的if-then函数但是,我需要在工作表1的所有列A和所有记录的工作表2中检查匹配。我相信VB循环过程可能更有效。
答案 0 :(得分:0)
因为在我看来你只需要这一次(或一年一次)效率似乎不是很重要,所以公式可以服务。
假设Row1中的Sheet1(Sheet1中的Item_Name
,Price_O
,Item_Name
和Price_N
中的标签分别为Diff
和#N/A
,则以下公式(已复制)应该指出哪里没有匹配(用=IF(MATCH(A2,Sheet2!A:A,0)>0,"")
或者,如果有的话,应该指出相对于去年的价格变化:
在Sheet1 C2中:=B2-VLOOKUP(A2,Sheet1!A:B,2,FALSE)
在Sheet2 C2中:=IF(OR(ISBLANK(F5),ISBLANK(G5)),"No Match",G5-F5)
或者,数据透视表可以提供更好的概述,并结合:
在Sheet2 H5中:=$E$3
(向下复制以适应)。
PriceN
,完成。