Excel根据另一个工作表中的查找替换单元格值

时间:2017-12-02 11:19:04

标签: excel

无法解决这个问题,我搜索了几个小时并使用vlookup进行了测试。

如果在位于sheet2的A列中找到P列中的值,我想更改或替换sheet1中A列中的单元格值。

我接近我想要的但是当找不到匹配时我得到空白单元格。如果没有找到匹配项,我需要A列中的单元格保留其原始值。

我使用的公式:

=IFERROR(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),"")

Sheet 1中:

         A              P
 1 [References]---[ID numbers]
 2 [  000001  ]---[   123    ]
 3 [  000002  ]---[   456    ]
 4 [  newref  ]---[   999    ]
 5 [  000003  ]---[   789    ]

Sheet 2中:

         A              B
 1 [ID Numbers]---[References]
 2 [   123    ]---[xxx-000001]
 3 [   789    ]---[xxx-000003]
 4 [   456    ]---[xxx-000002]

结果表1应为:

         A              P
 1 [References]---[ID numbers]
 2 [xxx-000001]---[   123    ]
 3 [xxx-000002]---[   456    ]
 4 [  newref  ]---[   999    ]
 5 [xxx-000003]---[   789    ]

如果这不可能实现,也许使用前缀可行吗?喜欢在找到匹配时添加(xxx-)吗?

感谢您的指示,感谢您的建议。

1 个答案:

答案 0 :(得分:1)

因为您必须将Sheet1中Col A中的原始值更改为公式,所以它永远不会“保持原始值”。

您必须添加另一列,其原始值为A(可以隐藏,但必须在那里)

我们假设Col Q保留A的原始值,在单元格A2中,公式应为:=IFNA(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),Q2)并假设Q2成立{{1}或newref它应该适合你

A2 original value

顺便说一句 - 如果你真正想要的是来自 A P Q 1 [References]---[ID numbers]---[original values] 2 [ 000001 ]---[ 123 ]---[hello] 3 [ 000002 ]---[ 456 ]---[world] 4 [ newref ]---[ 999 ]---[newref] 5 [ 000003 ]---[ 789 ]---[loremipsum] 的值或显式字符串sheet2,你可以简单地做newref

另请注意,我使用了=IFNA(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),"newref")代替IFNA来获得更准确的结果(例如IFERROR错误在使用#REF <时将被替换为newref / p>