在Excel中,通过列单元格匹配合并两个表格的最佳方法是什么?

3
我找到了这个excel插件购买链接,看起来可以满足我的需求,但我更想要开放源代码的程序。虽然GUI很好用,但不是必须的。
为了让问题更加清晰,我将添加两个“输入”表格的示例,以制表符分隔的形式,并输出结果表格: SAMPLE_INPUT_TABLE_01
horse<tab>age<tab>body
a<tab>1<tab>A
b<tab>2<tab>B
b<tab>3<tab>C
c<tab>4<tab>D
e<tab>5<tab>E
f<tab>6<tab>F

SAMPLE_INPUT_TABLE_02

rider<tab>horse<tab>finish<tab>date
xxx<tab>a<tab>yy<tab>zz
xxx<tab>b<tab>yy<tab>zz
xxx<tab>b<tab>yy<tab>zz
xxx<tab>c<tab>yy<tab>zz
xxx<tab>e<tab>yy<tab>zz
xxx<tab>f<tab>yy<tab>zz

SAMPLE_OUTPUT_TABLE_03

rider<tab>horse<tab>finish<tab>date<tab>age<tab>body
xxx<tab>a<tab>yy<tab>zz<tab>1<tab>A
xxx<tab>b<tab>yy<tab>zz<tab>3<tab>C
xxx<tab>b<tab>yy<tab>zz<tab>3<tab>C
xxx<tab>c<tab>yy<tab>zz<tab>4<tab>D
xxx<tab>e<tab>yy<tab>zz<tab>5<tab>E
xxx<tab>f<tab>yy<tab>zz<tab>6<tab>F

如果有关系的话,我在Windows 7上使用的是Office 2010。

除了主题中的问题,我没有看到其他问题。你究竟在问什么,除了让人们去访问插件的网站? - Ken White
@Ken White:问题就是问题,链接是为了提供关于可能性的信息/证明。既然你似乎已经阅读了问题并访问了链接,那么有什么不清楚的吗?谢谢。 - blunders
@Ken White:添加了两个输入示例表格和一个输出示例表格,这应该会使问题更加清晰,如果有帮助,请告诉我。谢谢。 - blunders
2个回答

7

我认为这个例子模拟了你链接中的示例:

alt text

公式如下:

在I2单元格(并向下复制):

=VLOOKUP(F2,$A$2:$C$7,2)

在J2中(并复制到下方):
=VLOOKUP(F2,$A$2:$C$7,3)

感谢您发布可工作的代码,我已更新我的示例数据以匹配您的答案;由于我知道您正在同时创建您的示例,因此我添加了我的。干杯! - blunders
1
@blunders 谢谢您同步您的问题!新年快乐! - Dr. belisarius
1
@blunders 如果你的连接结果有很多列,这里有一个技巧 http://en.allexperts.com/q/Excel-1059/Copying-VLOOKUP-function-multiple.htm - Dr. belisarius
+1 很酷,谢谢。我想补充的一件事是,你的VLOOKUP函数似乎需要在最后一个参数中添加“false”,这将强制仅进行精确匹配。此外,对于多列重用,如果您像这样包装正在输出的列“COLUMN(A1)”在第三个参数中,它将把列名转换为数字供VLOOKUP使用;只有当要匹配的列按您需要的顺序并共享相同的查找键时才有用;因此,对于您的代码示例,它将起作用。 - blunders

1

我昨天就需要这个,而vlookup解决了我的问题。 基本上,你在一个表格中查找另一个表格的关联值, 然后使用列偏移来获取同一行的另一列。 当你的表格有很多列时,这可能变得乏味,并且不支持左连接,但对于你的使用情况可能已经足够。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接