首页 文章

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

提问于
浏览
1

无法解决这个问题,我搜索了几个小时并使用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 回答

  • 1

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

    你将不得不添加另一个列的原始值 A (它可以被隐藏,但它必须在那里)

    让我们假设Col Q 保存 A 的原始值,在单元格 A2 中,公式应为: =IFNA(VLOOKUP(P2,sheet2!$A$2:$B$13,2,FALSE),Q2) 并假设 Q2 持有 newrefA2 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 错误将在使用 IFERROR 时替换为 newref

相关问题