分享

excel自动蓜匹配数据复制

 皓夜 2013-02-28

excel自动蓜匹配数据复制

表1中的数据如下:

合同号    电话号码     金额       用户名           代理商
045       1234567      123        上海A公司       
056       1234455      1234       南方B公司       
087       3425445      548        北方XX公司      
065       3424234      345        上海PT公司      
067       2342342      343        上海UTP公司     
023       2345244      456        上海WT公司      

表2中的数据如下:

合同号    电话号码     金额       用户名           代理商
045       1234567      123        上海A公司        小张
099       1234455      1234       南方B公司        小齐
087       3425445      548        北方XX公司       小张
123       2342345      4567       东方公司         小深
065       3424234      345        上海PT公司       小齐
067       2342342      343        上海UTP公司      小王
023       2345244      456        上海WT公司       小鲁

现在我需要的要求是:
表1中某项数据的合同号凡是等于表2中某项数据的合同号,则系统自动将表2中此项数据的代理商填写入表1中对应合同号的代理商一栏

==================解决方法========================

在表1的E2输入公式:
=IF(ISERROR(VLOOKUP(A2,表2!A$2:E$100,5,0)),"",VLOOKUP(A2,表2!A$2:E$100,5,0))
将公式向下复制。

函数解说:

关于VLOOKUP函数的用法

“Lookup”的汉语意思是“查找”,在Excel中与“Lookup”相关的函数有三个:VLOOKUP、HLOOKUO和LOOKUP。下面介绍VLOOKUP函数的用法。

一、功能
在表格的首列查找指定的数据,并返回指定的数据所在行中的指定列处的数据。

二、语法
标准格式:
VLOOKUP(lookup_value,table_array,col_index_num , range_lookup)

解释:

VLOOKUP(‘你要检索的内容或指定单元格’,‘你要检索的范围,检索到内容时返回你检索表的第几列中的内容’, ‘真或假参数真代表查询的表已经排序,假代表没有排序’)

例:VLOOKUP(A2,Sheet2!$A1:$B10,2,FALSE)

说 明:在表SHEET2中检索当前表中A2中的内容,如果检索到,就返回表SHEET2中B2中的内容,因为B2是表SHEET2中的第二列,所以 VLOOKUP的第三个参数,使用2,表示如果满足条件,就返回查询表的第二列,最后的参数FALSE表示‘假’,意思是被查询的表,没有排序,这种情况 下,会从被查询的表中第一行开始,一直查询到结束。

三、语法解释
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)可以写为:
VLOOKUP(需在第一列中查找的数据,需要在其中查找数据的数据表,需返回某列值的列号,逻辑值True或False)
1.Lookup_value为“需在数据表第一列中查找的数据”,可以是数值、文本字符串或引用。
2.Table_array 为“需要在其中查找数据的数据表”,可以使用单元格区域或区域名称等。
⑴如果 range_lookup 为 TRUE或省略,则 table_array 的第一列中的数值必须按升序排列,否则,函数 VLOOKUP 不能返回正确的数值。
如果 range_lookup 为 FALSE,table_array 不必进行排序。
⑵Table_array 的第一列中的数值可以为文本、数字或逻辑值。若为文本时,不区分文本的大小写。
3.Col_index_num 为table_array 中待返回的匹配值的列序号。
Col_index_num 为 1 时,返回 table_array 第一列中的数值;
Col_index_num 为 2 时,返回 table_array 第二列中的数值,以此类推。
如果Col_index_num 小于 1,函数 VLOOKUP 返回错误值 #VALUE!;
如果Col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。
4.Range_lookup 为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。

四、应用例子
A B C D
1 编号 姓名 工资 科室
2 2005001 周杰伦 2870 办公室
3 2005002 萧亚轩 2750 人事科
4 2005006 郑智化 2680 供应科
5 2005010 屠洪刚 2980 销售科
6 2005019 孙楠 2530 财务科
7 2005036 孟庭苇 2200 工 会

A列已排序(第四个参数缺省或用TRUE)
VLOOKUP(2005001,A1:D7,2,TRUE) 等于“周杰伦”
VLOOKUP(2005001,A1:D7,3,TRUE) 等于“2870”
VLOOKUP(2005001,A1:D7,4,TRUE) 等于“办公室”
VLOOKUP(2005019,A1:D7,2,TRUE) 等于“孙楠”
VLOOKUP(2005036,A1:D7,3,TRUE) 等于“2200”
VLOOKUP(2005036,A1:D7,4,TRUE) 等于“工 会”
VLOOKUP(2005036,A1:D7,4) 等于“工 会”

若A列没有排序,要得出正确的结果,第四个参数必须用FALAE
VLOOKUP(2005001,A1:D7,2,FALSE) 等于“周杰伦”
VLOOKUP(2005001,A1:D7,3,FALSE) 等于“2870”
VLOOKUP(2005001,A1:D7,4,FALSE) 等于“办公室”
VLOOKUP(2005019,A1:D7,2,FALSE) 等于“孙楠”
VLOOKUP(2005036,A1:D7,3,FALSE) 等于“2200”
VLOOKUP(2005036,A1:D7,4,FALSE) 等于“工 会”

五、关于TRUE和FALSE的应用
先举个例子,假如让你在数万条记录的表格中查找给定编号的某个人,假如编号已按由小到大的顺序排序,你会很轻松地找到这个人;假如编号没有排序,你只好从上到下一条一条地查找,很费事。
用VLOOKUP查找数据也是这样,当第一列已排序,第四个参数用TRUE(或确省),Excel会很轻松地找到数据,效率较高。当第一列没有排序,第四 个参数用FALSE,Excel会从上到下一条一条地查找,效率较低。

笔者觉得,若要精确查找数据,由于计算机运算速度很快,可省略排序操作,直接用第四个参数用FALSE即可。

=========================

Lookup和Vlookup有哪些区别?2009-11-17 14:18

Excel查询函数中,Lookup和Vlookup有哪些区别?它们在应用中应该如何把握?请看本文讲解。

  ★Lookup——数与行列比

  Lookup的工作职责是什么呢?用一个数与一行或一列数据依次进行比较,发现匹配的数值后,将另一组数据中对应的数值提取出来。

  ·工资税率表:用数值比较

  根据不同的工资进行不同的税率计算是一个常见的应用。我们来看这张“工资税率查询”表(见图1)。现在要在右侧根据“收入”(F列),直接得到 对应的“税率”(G列)。在计算第1个“税率”时,输入函数公式“=LOOKUP(F4,$B$3:$B$8,$D$3:$D$8)”,回车,便可得到 “36.00%”。

Excel函数 Lookup与Vlookup函数的区别及应用讲解

  这个结果是怎么来的?用F4中的第1个收入数“$123,409”,与左侧表的“收入最低”各档数据(“$B$3:$B$8”)进行对比,虽然 “$123,409”在“收入最低”各档数中没有完全一致的数据与之匹配,但是会与其中小于它的最大数“$58,501”相匹配。这样,同一行对应的 “36.00%”就提取出来了。

  ·图书销售表:用文本比较

  Lookup函数的对比数还可以是文本。在这张图书销售查询表中(见图2),用下表输入的“编号”(A15单元格)文本当作查询数,与上表的 “编号”一列($A$3:$A$11)进行对比,查询到了匹配的文本后,将“教材名称”一列($B$3:$B$11)对应的数据提取出来。公式是 “=LOOKUP(A15,$A$3:$A$11,$B$3:$B$11)”。

Excel函数 Lookup与Vlookup函数的区别及应用讲解

  ★Vlookup——数与表格比

  Lookup有一个大哥——Vlookup函数。两兄弟有很多相似之处,但大哥本领更大。Vlookup用对比数与一个“表”进行对比,而不是Lookup函数的某1列或1行,并且Vlookup可以选择采用精确查询或是模糊查询方式,而Lookup只有模糊查询。

  ·模糊匹配

  用Vlookup函数进行模糊查询时,几乎与Lookup的作用完全一致。我们用Vlookup函数来提取第1个例子中的工资税率结果。函数公式为“=VLOOKUP(F4,$B$3:$D$8,3,TRUE)”。

  在这个函数中,用第1个收入“$123,409”(F4单元格)当作对比数,用它与左侧表(“$B$3:$D$8”)的第1列数进行对比,虽然 “$123,409”在“收入最低”各档数中没有完全一致的数据与之匹配,但是函数的最后一个参数是“TURE”(“TURE”就是模糊查询),所以它会 与其中小于它的最大数“$58,501”相匹配。并将表中第3列(函数的第3个参数为“3”)对应的数据提取出来,所以结果同样是“36.00%”。

  ·订单明细表:精确匹配

  有时候,我们需要精益求精。在下面这个“订单明细表”(见图3)中,最后一列“货运费用”中的数据要通过“交货方式”从左侧“配送公司表”中进行匹配查询。这是一个典型的精确查询的例子,计算第1个数据的函数公式是“=VLOOKUP(H3,$B$2:$D$6,3,FALSE)”。

Excel函数 Lookup与Vlookup函数的区别及应用讲解

  小提示:

  把最后一个参数从“TRUE”变更成“FLASE”,就是精确匹配。而精确查询,就是查询数要与查询表第1列中的数据完全一致才能匹配提取,否则结果返回错误值“#N/A”。

  点评:

  Excel为我们提供了近20个有关“查找和引用”的函数,除了最常用的Lookup、Vlookup,还有Choos、Row、Colum、 Index和Match等,大家可以通过函数的帮助查看具体的功能。这些函数往往不是单独使用,可以与其他函数和Excel中的一些功能进行配合。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多