表格怎么运用VLOOKUP函数把一个工作表的数据,直接引用到另外一个工作表中 请大神们一定要帮帮我啊 谢谢

图1我的6个工作表

如上图(客户资料表):比如我“客户资料表”里面建很多详细资料,并为每个客户资料输入一个编号,姓名,电话地址,区域,公里数,提成。

问题:如上图(提成明细)我要怎么才能再编号里面输入“编号”后 后面的姓名,电话,地址,区域,公里数,提成。就都自动出来了,而且从1行到下面好多行只要输入编号都有效。

谢谢了 请大神们一定要帮帮我啊 感激不尽!~

在提成明细表的E3输入公式右拉再下拉即可:

=IF($D3="","",VLOOKUP($D3,客户资料表!$A:$H,COLUMN(B1),))


还可以加入防错判断,当D列的值(编号)不存在于 客户资料表 时,公式返回空白值,以上的公式返回#N/A的错误值。

=IF(COUNTIF(客户资料表!$A:$A,$D3),VLOOKUP($D3,客户资料表!$A:$H,COLUMN(B1),),"")


还可以用这公式也行:

=IF(COUNTIF(客户资料表!$A:$A,$D3),INDEX(客户资料表!B:B,MATCH($D3,客户资料表!$A:$A,),),"")


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。


追问

公式右拉再下拉,我会录入很多,我要右拉在下拉好长才能保证我往下面的随便输入很多排都有效?

追答

实际表格有多少行的数据就下拉多少行啊,假设表格有1000行数据,你可以把公式下拉1500行,多出的500行是为了以后有数据新增时用的。

实际上EXCEL 2003最大支持65536行,到了EXCEL 2007开始最大支持1048576行,你可以把公式一次下拉到最大行数也是可以的,只是这样公式用的多了,表格运行会变慢的。

追问

大神,在问你一个问题,我以后会在“资料库”插入录入新的人员信息后,包括编号,然后我在“提成明细”里面输入这个新的编号,还是照样会出来信息吗?

大神谢谢了 我以后还会录数据,而且资料库横向纵向还会增加其他的信息。

追答

公式中的 客户资料表!$A:$H 代表区域范围,现在提问中的表格是从A列到H列,如果是有数据继续新增的,只需把这个范围加大就行,如有可能新增到Z列的,把 客户资料表!$A:$H 改为 客户资料表!$A:$Z 就行了。

则公式变为:
=IF(COUNTIF(客户资料表!$A:$A,$D3),VLOOKUP($D3,客户资料表!$A:$Z,COLUMN(B1),),"")

$D3 就是代有D3单元格,在前面加$代表把D列固定,因为公式右拉时,会变为E3、F3。。这样的形式,加了$(绝对相用符号)就可以在右拉时固定D列不变。

COLUMN(B1) 代表当前单元格所在的列数,B1即B列,是第二列,所以COLUMN(B1)=2,右拉时变为COLUMN(C1) =3,以此类推。就是在右拉时,公式不断的返回A:H这个区域的第2列。第3列,第4列的数值。

至于函数列具体的用法,可以到百度用关键字 excel vlookup函数视频 搜索一下,就有一大堆相关的视频教程,比我用文字描述的解说方式要更为生动和容易理解。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-04
在E3内输入=if(D3="","",vlookup(D3,提成明细!$A$1:$B$9999,2,0)) 把鼠标放在E3右下出现+号后往下拉,一直拉到你想起作用的单元格为止。 依此在F3中输出=if(F3="","",vlookup(F3,提成明细!$A$1:$c$9999,3,0)) .......
第2个回答  2013-11-05
取姓名:vlookup(提成明细中编码,客户资料表!A3:F17,2,false)
如果取电话,改为:vlookup(提成明细中编码,客户资料表!A3:F17,3,false)
客户资料表按A列升序排列
相似回答