Excel将如图的sheet表格将1窗口的sheet汇总到窗口2,我不是程序员,请大神教的简单明了一点,非常感谢!
实操最简单的方法:
打开两个excel表格
a表格: sheet1,sheet2,sheet3
b表格: sheet4,sheet5,sheet6
鼠标按住sheet4 拖拽到 a表格中任意位置
完成,你就会发现 a表格中变成了 sheet1,sheet2,sheet3, sheet4
如图?请问图呢?
例如在sheet1上a列上有三个数据,在sheet2进行汇总公式如下:
=sum(Sheet1!A1:A3)
cv大法
加油,看看这篇文章可不可以帮到您呢?https://jingyan.baidu.com/article/86112f137e192a663697876b.html
试试。
from openpyxl import Workbook
from openpyxl import load_workbook
import openpyxl
import os
def copy_sheet(sheet1, sheet2):
for i,row in enumerate(sheet1.iter_rows()):
for j,cell in enumerate(row):
sheet2.cell(row=i+1, column=j+1, value=cell.value)
# 设置待处理的excel文件所在文件夹
excel_dir = r'C:\Users\tomcat\Desktop\待处理的excel'
# 设置合并后的excel保存的名字
excel_out = 'out.xlsx'
# 设置当前的工作文件夹
os.chdir(excel_dir)
# 如果合并的excel文件存在,删除它
if os.path.exists(excel_out):
os.remove(excel_out)
wb2=openpyxl.Workbook()
# 遍历当前工作文件夹内的所有excel文件
excel_list = os.listdir(excel_dir)
print(excel_list)
for f in excel_list:
print(f)
# 遍历当前excel文件的所有sheet表
filename = f.split('.')[0]
wb1 = openpyxl.load_workbook(f)
sheets1 = wb1.sheetnames
print(sheets1)
# 依次将当前excel文件的所有sheet复制到合并的excel文件中
for ws_name in sheets1:
sheet1 = wb1[ws_name]
wb2.create_sheet (filename + '_' + ws_name)
sheet2 = wb2[filename + '_' + ws_name]
copy_sheet(sheet1, sheet2)
wb1.close()
# 保存合并的excel文件
ws = wb2['Sheet']
wb2.remove(ws)
wb2.save(excel_out)
wb2.close()
处理前:
合并后:
非程序员推荐方法:
1、打开所有需要合并的Excel表格。
2、在表格底部“sheet1”名称上点击右键。
3、选择“移动或复制工作表”,选择合并入的文件名称。
4、选择合并位置即可。
可以用vbs脚本,需要的联系我
合并多个工作簿窗口步骤1:将需要合并的excel工作簿文件放置在一个文件夹中。
合并多个工作簿窗口步骤2:每个文件夹中的工作簿都输入了简单的内容。
合并多个工作簿窗口步骤3:在该文件夹中,新建立一个新的excel工作簿文件。重命名为8.
合并多个工作簿窗口步骤4:打开新建立的excel工作簿文件8.按Alt+F11或者将鼠标移动到下方工作表名称sheet1上右键,选择查看代码。
合并多个工作簿窗口步骤5:在弹出的代码编辑窗口中,输入代码。注意:通过快捷键Alt+F11打开的窗口如下没有直接复制代码的面板,需要点击左上方的工程-VBA project模块,双击sheet1,即可打开代码窗口。而步骤3中的第二种方法可以直接打开代码输入窗口。
合并多个工作簿窗口步骤6:在代码窗口中,黏贴下列代码:
Sub CombineFiles()
Dimpath As String
DimFileName As String
DimLastCell As Range
DimWkb As Workbook
DimWS As Worksheet
DimThisWB As String
Dim MyDir AsString
MyDir =ThisWorkbook.path & ""
'ChDriveLeft(MyDir, 1) 'find all the excel files
'ChDir MyDir
'Match =Dir$("")
ThisWB =ThisWorkbook.Name
Application.EnableEvents = False
Application.ScreenUpdating = False
path =MyDir
FileName =Dir(path & "*.xls", vbNormal)
Do UntilFileName = ""
If FileName <> ThisWB Then
Set Wkb = Workbooks.Open(FileName:=path & ""& FileName)
For Each WS In Wkb.Worksheets
Set LastCell = WS.Cells.SpecialCells(xlCellTypeLastCell)
If LastCell.Value = "" And LastCell.Address = Range("$A$1").AddressThen
Else
WS.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End If
Next WS
Wkb.Close False
End If
FileName = Dir()
Loop
Application.EnableEvents = True
Application.ScreenUpdating = True
Set Wkb =Nothing
Set LastCell= Nothing
End Sub
希望可以帮到你
这是我很早之前写过的一个博客 http://t.csdn.cn/nnhvJ
可以看一下VLOOKUP函数,能达到你想要的效果。
打开excel1,按住shift 将所有表选中,右键移动或复制,选择excel2,随便选一个位置,插入
缺点是你的excel或者sheet多的时候可能比较恶心
1、分别打开待合并的两个工作薄
2、在工作表名称处右击,然后点击 选定全部工作表 菜单全选工作表;或者按住Ctrl键的同时鼠标点击各个工作表名称;或者点击第一个工作表名称后,按住Shift键的同时点击最后一个工作表名称也能全选工作表。
3、再次在工作表名称右击,然后点击 移动或复制 菜单
4、在移动或复制窗口界面中选择待合并到的工作薄,然后确定;
5、这时全选的那些工作表就会合并到选中的工作薄中,如果两个工作薄中有相同的工作表名称,Excel会自动将移动过来的工作表名称后加上“(数字)”,如果有需要可以自行修改工作表名称。