Excel以基于另一个工作表中的查找replace单元格值
无法弄清楚,我search了几个小时,并使用vlookup进行testing。
我想要更改或replacesheet1列A中的单元格的值如果列P中的值位于sheet2中列A中find。
我接近我想要的,但是当没有find匹配时,我得到空白单元格。 如果找不到匹配,我需要列A中的单元格保持其原始值。
我使用的公式:
=IFERROR(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),"")
工作表Sheet1:
AP 1 [References]---[ID numbers] 2 [ 000001 ]---[ 123 ] 3 [ 000002 ]---[ 456 ] 4 [ newref ]---[ 999 ] 5 [ 000003 ]---[ 789 ]
Sheet2中:
AB 1 [ID Numbers]---[References] 2 [ 123 ]---[xxx-000001] 3 [ 789 ]---[xxx-000003] 4 [ 456 ]---[xxx-000002]
结果表1应该是:
AP 1 [References]---[ID numbers] 2 [xxx-000001]---[ 123 ] 3 [xxx-000002]---[ 456 ] 4 [ newref ]---[ 999 ] 5 [xxx-000003]---[ 789 ]
如果这不可能实现也许使用前缀可以工作? 像添加(xxx-)时发现匹配?
感谢您的build议,感谢您的指点。
因为必须将Sheet1中Col A的原始值更改为公式,所以它永远不会“保持原始值”。
你将不得不添加另一列的原始值A
(它可以隐藏,但必须在那里)
我们假设Col Q
保存了A
的原始值,在A2
单元格中,公式应该是: =IFNA(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),Q2)
并假设Q2
保持newref
或A2 original value
它应该为你工作的A2 original value
APQ 1 [References]---[ID numbers]---[original values] 2 [ 000001 ]---[ 123 ]---[hello] 3 [ 000002 ]---[ 456 ]---[world] 4 [ newref ]---[ 999 ]---[newref] 5 [ 000003 ]---[ 789 ]---[loremipsum]
顺便说一句 – 如果你真正想要的是从sheet2
的值或显式stringnewref
你可以简单地做=IFNA(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),"newref")
还要注意我使用了IFNA
而不是IFERROR
来获得更准确的结果(例如,当使用IFERROR
时, #REF
错误将被replace为newref