如何将两份EXCEL合并成一份?

来源:百度知道 编辑:UC知道 时间:2024/09/26 10:50:44
如何将两份EXCEL合并成一份?
两份表格中A列中相同的,选出相对应的B列中数值大的.并结合两份表格中的A列,但需无重复.

表1 | 表2
A B | A B
1 111 10 | 1 111 15
2 222 20 | 2 222 20
3 333 30 | 3 555 80
4 444 40 |

两份合并成
A B
1 111 15
2 222 20
3 333 30
4 444 40
5 555 80
表1 | 表2
A B | A B
1 111 10 | 1 111 15
2 222 20 | 2 222 5
3 333 30 | 3 555 80
4 444 40 |

两份合并成
A B

楼主,您好。

您这个问题,用数据->合并计算,生成不重复项目,再用if+sumproduct 进行取最大值判断,即可解决。

但我觉着,这不是最好方法。我可以帮您写个程序处理这个,请您百度HI我,给我个真正的数据样本,我可以在此基础上写个Excel程序给你

回答者: lxlzmh2002 - 中位魔导师 十二级 2009-9-27 18:41
====================================================================
再复本贴, VBA代码如下:

Sub consoli()
Dim i, j, k, rs, js, ks As Long
Dim r1, r2 As Double

Sheets(3).Select
[A1].Consolidate Sources:=Array("Sheet1!R1C1:R60000C2", "Sheet2!R1C1:R60000C2"), Function:=xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=False
[A1] = Sheets(1).[A1]

ks = Sheets(1).Range("A65536").End(xlUp).Row
js = Sheets(2).Range("A65536").End(xlUp).Row
rs = Sheets(3).Range("A65536").End(xlUp).Row
Range("B2:B65536").ClearContents

For i = 2 To rs
r1 = 0
For k = 2 To ks
If Sheets(1).Cells(k, 1) = Cells(i, 1) Then r1 = Sheets(1