无法解决这个问题,我搜索了几个小时并使用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-)吗?
感谢您的指示,感谢您的建议。
答案 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>