如何将两份EXCEL合并成一份?
发布网友
发布时间:2022-04-22 20:34
我来回答
共4个回答
热心网友
时间:2022-07-10 08:52
楼主,您好。
您这个问题,用数据->合并计算,生成不重复项目,再用if+sumproct 进行取最大值判断,即可解决。
但我觉着,这不是最好方法。我可以帮您写个程序处理这个,请您百度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).Cells(k, 2)
Next
r2 = 0
For j = 2 To js
If Sheets(2).Cells(j, 1) = Cells(i, 1) Then r2 = Sheets(2).Cells(j, 2)
Next
Debug.Print r1, r2
Cells(i, 2) = WorksheetFunction.Max(r1, r2)
Next
End Sub
==========================================
上述代码使用方法:
ALT+F11-->ALT+I(字母)-->M键-->复制并粘贴上述代码到右侧窗口
执行: 请按工具栏上的右方向的三角形图标执行宏
热心网友
时间:2022-07-10 08:52
将表2数据粘贴到表1数据的下面,排序,在C1中输入数组公式
=(B1+ROW()*10^-3)=MAX(($A$1:$A$103=A1)*($B$1:$B$103+ROW($A$1:$A$103)*10^-3)),按CTRL+SHIFT+ENTER结束,
设置自动筛选,筛选C列为FALSE的,选中筛选出的内容,右键删除-删除整行。
热心网友
时间:2022-07-10 08:52
复制和粘贴不就行了
热心网友
时间:2022-07-10 08:53
我也需要这个答案。期待中...