Vlookup数据

时间:2014-03-05 19:07:06

标签: excel excel-vba vlookup validation vba

说我有两张1& 2。

Sheet 1 has Column A: Apt No; Column B: House No; Column C: Key No
Sheet 2 has Column A: Apt No; Column B: House No; Column C: Key No

我想为工作表1进行vlookup - C列:键号每当我在工作表1中输入Apt No或House No时,表单2中的Info中的工作表1上会显示Key No。 我的C列公式:表1的键号是

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$5,3,FALSE),"")

我如何获得参考B2?

4 个答案:

答案 0 :(得分:2)

你可以双重嵌套IFERROR。

=IFERROR(IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$5,3,FALSE),VLOOKUP(B2,Sheet2!$A$2:$C$5,3,FALSE))),"")

检查A2的值,如果出现错误,则检查B2,如果错误向上层iferror返回错误,则返回""。

编辑* opps我看到其他人已经建议过了。道歉。

答案 1 :(得分:1)

使用= concatenate函数将第一列和第二列合并为一个新列可能更有意义。然后,您可以使用此列作为查找条件,因为可能的情况是,工作表中没有(或没有很多)记录具有相同的公寓编号和数字。

这看起来像是:

=VLOOKUP([new concatenated column],Sheet2!$A$2:$C$5,3,FALSE)

希望这有帮助,如果我错过了标记,请告诉我,我可以尽力详细说明。

答案 2 :(得分:1)

逻辑是

  • Apt No (在Sheet1中)输入值并使用VLOOKUP查找 Key No (来自Sheet2)

    或者

  • 如果 Apt否无法作为输入,请输入 House No (在Sheet1中)并使用VLOOKUP查找 Key No (来自Sheet2)



Sheet1.Range(“C2”)粘贴此代码

    =IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$5,3,FALSE),"")

Sheet1.Range(“D2”)粘贴此代码

    =IFERROR((IF(C2="", VLOOKUP(B2,Sheet2!$B$2:$C$5,2,FALSE),"")),"")


粘贴到单元格后,复制并拖动以填充两列的公式。


Sheet1 Sheet2



<强>更新

如果您只想在 Sheet1 中只显示三列,我只需插入一个名为 Key No 的新列并粘贴以下代码范围( “C2”):

=IF(D2<>"", D2, E2)

这只是说如果D2不是空字符串,请将其用作值。否则,请使用E2。

现在,如果您只想在Sheet1上看到三列,请右键单击并隐藏D和E列。

Sheet1

答案 3 :(得分:1)

作为对Q的评论的后续跟进,这个有效:

=IFERROR(VLOOKUP(A2,Sheet2!$A$2:$C$5,3,FALSE),
          IFERROR(VLOOKUP(B2,Sheet2!$B$2:$C‌​‌​$5,2,FALSE),""))