我有两个包含两列数据的工作表。工作表的A列是项目的名称,B列是项目的价格。工作表1具有去年的价格,工作表2具有今年的价格。工作表%1中的项的名称可能在工作表% 2中,也可能不在工作表%2中。
我需要一个过程,将匹配每个工作表中的名称,如果有匹配,确定该项目的差价。差价将列在工作表2的C栏中。
我曾考虑将if-then函数与vlookup函数一起使用,但我需要检查工作表1和工作表2中所有记录的所有列A是否匹配。我相信VB循环过程可能会更高效。
发布于 2013-05-23 09:25:03
因为在我看来,你可能只需要一次(或一年一次),效率似乎不是很重要,所以公式可能是有用的。
假设标签(分别为: Sheet1中的Item_Name和Price_O,Item_Name中的Price_N和Diff,Sheet2中的Price_N和Diff)在Row1中,则以下公式(复制下来以适合)应指示不匹配的位置(使用#N/A,或者,如果有,则指出相对于去年的价格变化:
在Sheet1 C2中:=IF(MATCH(A2,Sheet2!A:A,0)>0,"")
在Sheet2 C2中:=B2-VLOOKUP(A2,Sheet1!A:B,2,FALSE)
或者,数据透视表可以提供更好的概览,与以下各项相结合:
在Sheet2 H5中:=IF(OR(ISBLANK(F5),ISBLANK(G5)),"No Match",G5-F5) (复制以适合)。
=$E$3,Finish。PriceN,排序,排序Z-A。

https://stackoverflow.com/questions/12563000
复制相似问题