发新话题
打印【有0个人次参与评价】

[硬件软件] EXCEL高手请进,难题求教

EXCEL高手请进,难题求教

有一个EXCEL,Sheet1和Sheet2
Sheet1 的A列,有一串信息,已经按照升序排列
Sheet2的A列,同样有一串信息,其中部分与Sheet1的A列中的值相同,同时,B列有一串数据,与A列一一对应

现在我想在Sheet1 的B列,对应每个A列的值,查找出Sheet2 A列中的相同数值,然后返回Sheet2 B列的数值

我试过Vlookup,Index,M atch,好像都不行,哪位高手指点一下.

TOP

回复 #1sherlock 的帖子

用vlookup 不行么?应该可以的呀.

TOP

引用:
原帖由 一川妈妈 于 2007-1-26 22:03 发表
用vlookup 不行么?应该可以的呀
我试过,好像引用不了另一个iSheet的,你试试看阿,如果成功,麻烦把公式贴上来,好吗?.

TOP

错误不是因为 vlookup 不能引用另一个 iSheet, 而是你的数据排列有误。
根据 excel 地说明, table_array 第一栏中的值必须以递增顺序排序。
所以解决问题的方案是你只要把 sheet2 中 A 列和 B 列交换一下位置即可。
我已试过,完全没有问题。.

TOP

用Access来实现,很简单.

TOP

回复 #4adamyu 的帖子

不太明白,两个Sheet的A列都已经是升序排列了啊

交换位置能有什么用?

能不能麻烦你把函数贴上来看看或者短信告知?多谢!.

TOP

引用:
原帖由 绿茶 于 2007-1-27 16:03 发表
用Access来实现,很简单
用Access,仅有一个问题
不知道是不是我的版本的问题,我用的是正版的Access2003(公司买的),如果B列数据超过Aceess定义的文本长度,比如说50的话,后面的就被截去了,而且,当你从EXCEL导入的时候,这个属性是不能改成备注之类的,到目前为止,我还不知道怎么解决,不知道你有办法吗?.

TOP

在table_array里要用绝对引用,就是加$, 如$A$2C$10, 如不加$是相对引用, 复制公式时目标区域会变化. 还有如果两个数据不完全一致(如有空格), 也会找不到. 不知道是不是这些原因. Vlookup应该不用排序也找得到的..

TOP

其实无所谓是否排序,两个sheet都做一下trim ,然后做vlookup,就可以了.

TOP

回复 #7sherlock 的帖子

默认值为50最大值为255,应该够了.

TOP

直接用Vlookup来做.不行的话你可以做个样表我来连好公式再传给你

.

TOP

问题解决了,是我选择数据区的时候少选了返回区域,真是个愚蠢的错误

谢谢楼上各位的指点,不过有几点要指出的:

1。排序时一定要的,它的查找逻辑是遇到比要求值大的时候就终止了,如果不排序,就会漏掉了,提醒8楼9楼两位注意。
2。回复10楼绿茶,问题在于导入EXCEL表格的时候,已经没有办法选择字段长度了啊。难道你的意思是导入一张已有的表而不是新表?.

TOP

发新话题