来自任何行的Excel搜索值,如果在另一行中找到,则将该行替换为第一行中的值

时间:2012-11-01 05:20:55

标签: excel merge

我要做的是 假设我有一张带有

的Excel表格

ProductNo |产品| Sku |价格|图片|拇指

25 |衬衫蓝| 4251 | 10美元| shirt.jpg | shirtthumb.jpg

2 |衬衫绿色| 4581 | 17美元green.jpg | greenthumb.jpg

8 |衬衫黑| 4561 | 15美元| black.jpg | blackthumb.jpg


并且只是在不同的行或另一个excel表

ProductNo |产品| Sku |价格|图片|拇指

25 |衬衫蓝| 4251 | 52美元|
2 |衬衫绿色| 4581 | 42美元| |
8 |衬衫黑| 4561 | 65美元|


如果第二个表或工作表列数据在指定的列上不同,如果单元格为空,则如何更改第一个表以更新它们会忽略它们并将第二个表中的值替换为第一个表

决赛将是

ProductNo |产品| Sku |价格|图片|拇指

25 |衬衫蓝| 4251 | 52美元shirt.jpg | shirtthumb.jpg

2 |衬衫绿色| 4581 | 42美元| green.jpg | greenthumb.jpg

8 |衬衫黑| 4561 | 65美元black.jpg | blackthumb.jpg

我尝试了几个excel函数,但由于我有太多的产品需要添加细胞,所以它们无法正常工作

我尝试在Vl中做,但感到困惑和宏,我甚至不知道它是什么

只要我可以执行任务,我就会对任何视觉,功能开放

如果有人知道我告诉我了

谢谢

1 个答案:

答案 0 :(得分:0)

代替我建议的固定值,你在指定的列中使用永久公式。

现在我要使用VLOOKUP()函数。我假设您的ProductNo是永不更改的元素,因此所有其他列都将获得VLOOKUP()函数。

现在,如果我理解正确,你可能会在第二个表中为第一个表更新,但是第二个表中的任何空单元都应该被忽略。

我也假设您希望看到因为更新而导致元素何时发生变化,因此我提出以下建议:

在第一个表中添加可能需要更新的列块元素:2个列,第一个包含组合结果( COMB-block ),第二个包含查找结果从第二个表( LOOKUP-block )开始。为了便于解释,我将两个表放在名为 table1 table2

的工作表中的相同工作簿中

ProductNo |产品| Sku |价格|图片|拇指| Product_comb | Sku_comb | Price_comb | Image_comb | Thumb_comb | Product_lookup | Sku_lookup | Price_lookup | Image_lookup | Thumb_lookup

现在从 LOOKUP-block 中的公式开始,使用VLOOKUP(),例如这个用于* Product_vlookup *列: =IFERROR(VLOOKUP($A2,table2!$A:B,COLUMNS(table2!$A:B),FALSE),"") IFERROR适用于表1中的产品在表2中找不到的情况

对于 COMB-block 中的公式,以下将优先于表2结果而不是表1结果。由于具有空元素的匹配ProductNo的VLOOKUP(例如对于Image)将导致返回0(零),所有零也被视为错误查找结果。这是* Product_comb *列的脚本: =IF(OR(ISBLANK(L2),L2=0),B2,L2)

作为识别已更改产品的最后一步,您可以添加一个将原始值与_comb值进行比较的列: =AND(B2=G2,C2=H2,D2=I2,E2=J2,F2=K2)(对于没有更改的列,返回true,对于任何更改的列,返回false) 或者在AND()公式显示的单独或组合上对每个元素使用条件格式。

作为更新过程的最后一步,您可以复制 COMB-block 中的所有记录并将其粘贴到原始元素上。

如果您有任何其他问题,请询问。