您的位置:首页 > 其它

Excel比较两个工作表(Sheet)的两组列数据,并返回相应数据

2007-08-13 18:13 2106 查看
近日有朋友问我有关于怎么比较Excel两个工作表(Sheet)的两组列数据的方法,老实说我对Excel并不是很清楚,对Excel的研究也公仅限于VBA而已,既然朋友开口问了,不好推脱动手就试试吧。

问题简单描述如下:

Sheet1数据

A B C D(需要返回的值)

0001 说明1 编码1 名称1

0002 说明2 编码2 名称2

0003 说明3 编码3 名称3

.............................

Sheet2数据

A B C

1 编码2 ID1

2 编码2 ID2

3 编码3 ID3

4 编码1 ID4

5 编码3 ID5

.............................

(Sheet1与Sheet2的联系就是编码了)

结果:

在Sheet2加一列把Sheet1 的名称取过来,如

Sheet2数据

A B C D

1 编码2 ID1 名称2

2 编码2 ID2 名称3

3 编码3 ID3 名称3

4 编码1 ID4 名称1

5 编码3 ID5 名称3

先上网搜索一翻,没有结果,只找到同Sheet比较的例子,也不是我想要的,看来还是得看帮助了,发觉Excel的帮助和MSDN比,简直就是一个天一个地,没办法只能自己研究了,翻翻VBA的书再看看网上的例子,慢慢就研究出公式来了,废话就不多说了公式就是:

=IF(ISERROR(MATCH(B,Sheet1!B:B,0)),"false",INDIRECT("Sheet1!D"&MATCH(B,Sheet1!B:B,0)))

(注:联系的编码数据类型一定要一致)

在D1输入公式,然后选择D列,选择菜单 编辑->填充->向下填充,就可以了

具体ISERROR,MATCH,INDIRECT是什么意思,自己查Excel帮助好了,我就不多说了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: