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

时间:2012-07-31 18:15:34

标签: excel

基本上我有一张非常简单的表,但我正在努力:(

基本上有一些标题,如“名称”,“经理”,“信用”

我得到一张包含所有姓名等的列表,并想要一个宏来检查姓名是否在列表中,然后将信用单元从名为“Agent”的工作表复制到名为“Credit”的工作表中已经尝试了大量的解决方案,但无济于事。

由于

4 个答案:

答案 0 :(得分:1)

将您共享的Excel文件作为参考,您可以使用以下,前提是工作表Agent上的第一列按升序排序。在工作表C2的单元格Credit中,输入

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

然后选择该单元格C2并向下拖动右下角。这是最简单的版本,但如果在工作表Credit上找不到工作表Agent中的名称,则会产生奇怪的结果。

是一个更好的版本
=IF($A2<>LOOKUP($A2,Agent!$A:$A,Agent!$A:$A),"Not Found",LOOKUP($A2,Agent!$A:$A,Agent!$B:$B))

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

答案 1 :(得分:1)

在阅读lori_m的评论后查找LOOKUP和VLOOKUP时,我没有找到任何关于相对表现的信息。大多数情况下,我发现LOOKUP仍然只在Excel中用于传统兼容性,VLOOKUP或HLOOKUP更灵活。

但是,我确实遇到了一系列从http://exceluser.com/blog/420/excel%E2%80%99s-vlookup-vs-index-match-functions.html开始的文章,这些文章表明INDEX和MATCH函数提供了更好的解决方案。

答案 2 :(得分:0)

你试过Lookup吗?此函数在单个行或列中查找值,并在不同的行或列中对其进行一些匹配。

答案 3 :(得分:0)

你需要的关键功能是VLOOKUP,它接受Lookup_value(搜索可以作为单元格引用的名称),Table_array(要查看的范围 - 它在Lookup_value的第一列中搜索,返回第一个字母匹配或超过Lookup_value的第一个值,因此必须对列表进行排序,并将结果与​​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列返回值,如果没有,则返回“不匹配”。< / p>