Excel单元格匹配 – 从工作表复制其他数据

基本上我有一个非常简单的表,但我挣扎着:(

基本上有几个标题,如“姓名”,“经理”,“信用”

我得到一张表,列出所有名称等,并希望macros检查名称是否在列表中,然后将信用单元从名为“代理”的工作表复制到名为“信用”的工作表尝试加载的解决scheme,但无济于事。

谢谢

以共享的Excel文件作为参考,可以使用以下内容, 前提是表单Agent中的第一列按升序sorting 。 在表单Credit单元格C2中,input

 =LOOKUP($A2,Agent!$A:$A,Agent!$B:$B) 

然后select该单元格C2然后拖动右下angular。 这是最简单的版本,但是如果在图纸Agent上没有find来自图纸Credit的名称,则会产生奇怪的结果。 更好的版本是

 =IF($A2<>LOOKUP($A2,Agent!$A:$A,Agent!$A:$A),"Not Found",LOOKUP($A2,Agent!$A:$A,Agent!$B:$B)) 

if的第一部分检查是否在工作表Agent上find代理名称。 如果不是,则结果为“未find”,否则结果与前一个函数的查找结果相同。

在阅读lori_m的评论后,查找LOOKUP vs VLOOKUP时,我没有发现任何关于相对性能的信息。 大多数情况下,我发现LOOKUP只在Excel中保留旧版兼容性,而VLOOKUP或HLOOKUP更加灵活。

但是,我遇到了一系列的文章,从http://exceluser.com/blog/420/excel%E2%80%99s-vlookup-vs-index-match-functions.html开始,它提示INDEX和MATCH函数提供更好的解决scheme&#x3002;

你尝试过Lookup吗? 这个函数在一行或一列中find一个值,并在不同的行或列中对它进行匹配。

你需要的关键函数是VLOOKUP,其中需要Lookup_value(search名称可以是单元格引用),Table_array(要查找的范围 – 它在Lookup_value范围内search该范围的第一列,返回第一个字母匹配或Lookup_value之后的第一个值,因此列表必须进行sorting,并将结果与​​Lookup_value进行比较以查看它们是否真的匹配)以及Col_index_number(第一列是1 – 它将返回此列中的值)。

 =IF(VLOOKUP(A2, Agent!$A:$B,1)=A2,VLOOKUP(A2, Agent!$A:$B,2),"No match") 

此示例将查找代理工作表A列中当前工作表A1的值,并返回代理工作表相应B列中的值,如果没有,则返回“不匹配”。