一起使用If和Vlookup语句

时间:2017-09-05 15:32:07

标签: excel if-statement excel-formula vlookup

如果源和目标与旧密钥匹配,我试图将主密钥更改为“新密钥”。

基本上,表1中的主密钥将查看表2中的密钥是否存在,如果是,它将拉出新密钥。如果表2中不存在主密钥,则不会更改。它将是原始出发地和目的地。 我已经尝试使用vlookups的if语句但是我对逻辑错误感到难过。有谁知道如何返回新值或是否有其他方法来解决这个问题?

我附上了一个例子。 在示例中,在表1中,主密钥由伦敦和意大利一起制成。需要在表2(位于A列中)查找此主密钥。如果它在那里,它将拉出新密钥(D列)。

enter image description here

2 个答案:

答案 0 :(得分:2)

D2的{​​{1}}中尝试此公式并将其拖放,

Sheet1

答案 1 :(得分:1)

我会使用索引/匹配解决方案而不是vLookup。 vLookup非常适合简单的任务,但是当你尝试做任何更复杂的事情时,它通常不起作用。我现在发现它几乎每次都是一个更简单的解决方案(虽然我不确定它在性能上的比较)。

在table1单元格D2中尝试这样的事情:

=IFERROR(INDEX(Sheet2!$A$2:$F$4,MATCH(Sheet1!A2,Sheet2!$A2:$A4,0),4),Sheet1!A2)

这将做的是从匹配部分开始:

它将检查Sheet2 A2:A4中的列表,以获得与Sheet1单元格A2中相同字符串的匹配。如果找到它,它将返回一个行号,否则将返回错误。

接下来,INDEX将您的第二个表作为源,并使用Match和第四列(即D列)中确定的行号,并返回该值。如果匹配返回错误,则也会返回错误。

因此,我们使用IFERROR来捕获表1中不存在表1中的MasterKey的情况。在这种情况下,我假设您只想保留表1中的相同MasterKey,但是您可以更改它你想要的任何东西。

如果可以,只需将公式从Sheet1!D2向下拖动到Sheet1!D4。此外,如果您的Table2比您显示的要大得多,则需要调整索引和匹配输入以引用正确的范围大小。请记住使用“$”,因为它们会阻止公式在您向下拖动时更改这些单元格。