根据一列复制匹配的单元格

时间:2015-08-04 09:39:52

标签: excel vba excel-vba indexing vlookup

请从我的电子表格中查看here代码段,我想要做的事情相当简单,但是我在广泛搜索在线论坛后无法找到办法。

A列包含我的订单号,B列包含与每个订单号对应的订单项。

D栏包含我打印的订单上显示的交货日期,您将看到每个订单上的第一个订单项只会显示 - 原始数据以这种方式显示,因此可以更改原始数据

E栏只是简单地推断日期而不是格式交货日期:dd / mm / yyyy。

我希望E列能够将交货日期复制到每个订单号的所有相应单元格 - 因此根据附页,2015年7月30日将显示对应于订单号的所有行项目#1192。

我觉得v查找等只会在我将这些日期复制下来后才能操作数据。我尝试过索引匹配,但它似乎没有做我想做的事情。

有没有办法复制所有订单项相对于订单号的日期?据我所知,它可能需要先将完整行复制到D列,然后将公式保留在E列中,只推断出日期。

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

你不需要一个宏。有很多方法可以解决这个问题,我会告诉你两个,你可以从中找出你喜欢的那个。

选择coloumn E,转到主页编辑查找&选择转到特殊。点击公式(如果值不是公式,请选择常量),并仅选中错误。现在输入 = E2 (或活动单元格上方的任何内容),然后按 Ctrl + Enter 。在此之后复制粘贴整个颜色的E是一个明智的想法。

另一种方法是在coloumn F中输入此公式(单元格F2,然后将其拉下来):

=IFERROR(E2;F1)

或者您可以将其与原始公式结合使用,或使用宏将公式插入空/#错误单元格等...

答案 1 :(得分:0)

假设您在E2中使用=RIGHT(D2,LEN(D2)-FIND(":",D2)-1),那么您正在寻找解决方案。

您还提到了INDEX / MATCH,如果在F栏中使用,则会在每个订单号的E栏中提取交货日期:

=INDEX($E$2:$E$31,MATCH(A2,$A$2:$A$31,0))

这将找到您的订单号的第一个匹配位置,并从E列返回交货日期。