无法解决这个问题,我搜索了几个小时并使用vlookup进行了测试 .
如果在Sheet2中的列A中找到P列中的值,我想更改或替换sheet1中A列中的单元格值 .
我接近我想要的但是当找不到匹配时我得到空白单元格 . 如果没有找到匹配项,我需要A列中的单元格保留其原始值 .
我使用的公式:
=IFERROR(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),"")
工作表Sheet1:
A P
1 [References]---[ID numbers]
2 [ 000001 ]---[ 123 ]
3 [ 000002 ]---[ 456 ]
4 [ newref ]---[ 999 ]
5 [ 000003 ]---[ 789 ]
Sheet2中:
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 回答
因为你必须将Sheet1中Col A中的原始值更改为公式,所以它永远不会“保持原始值” .
你将不得不添加另一个列的原始值
A
(它可以被隐藏,但它必须在那里)让我们假设Col
Q
保存A
的原始值,在单元格A2
中,公式应为:=IFNA(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),Q2)
并假设Q2
持有newref
或A2 original value
它应该适合您顺便说一句 - 如果你真正想要的是
sheet2
的值或显式字符串newref
你可以简单地做=IFNA(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),"newref")
另请注意,我使用了
IFNA
而不是IFERROR
来获得更准确的结果(例如#REF
错误将在使用IFERROR
时替换为newref