怎么拼接两个excel表格

需要做一个表格,两列,A列是时间,一年的365天,如“20080201”即2008年2月1号;B列是对应于每一天的某种数据。比如这一年只有200天有数据,那么就需要做成一个这样的表格:A列365个日期全列出来,对应的B列填上数据,那200天 有数据的填上具体的数,剩下的165天没数据的填0。
我现在有这200天的数据表格。但是日期是不连续的,也就是说那些数据为0的天数给省略掉了,请问如何才能做出所需要的表格呢?
希望获得如下三条中的任意一条帮助,当然越简单方便的方法越好。
1.excel有没有直接可用的工具?比如类似于arcgis里的jion功能的那种
2.如果用“宏”的话,怎么解决这个问题?
3.或者需要写程序的话,怎么写?
非常感谢!
首先非常感谢为我解答问题的几位热心网友!之前我百度解决方法也看到有人说用VLOOKUP,我看了VLOKUP的百度百科之类的,还是不太明白。我对计算机,软件,编程等知识学习起来比较吃力,恳切盼望懂得这个问题又有时间的网友可以给详细的介绍一下使用步骤。谢谢大家了!
举个例子来说:第一张图是现在有的数据。

第二张图是需要作出来的数据。

1.需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel。如图所示:

2.用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示:

3.然后把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:

4.Sub 合并当前目录下所有工作簿的全部工作表()

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String

Application.ScreenUpdating = False

MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xls")

AWbName = ActiveWorkbook.Name

Num = 0

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)

Num = Num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

For G = 1 To Sheets.Count

Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

Next

WbN = WbN & Chr(13) & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

End Sub


5.运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。查看合并后的数据,有5000多行,就是同一个文件夹里面17个excel表数据合并后的结果。效果如图所示。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-10

你将文件当附件传上来,或截个图上来,能说明很多问题的,且让人知道怎么着手。

不过你这个很是简单吧。

可用VLOOKUP函数来做,很简单的。


我做一次给你看。

图大了,可能不显示,点一下来看吧。

这里注意两个细节。

一、调出定义按F5

二、输入0后,按CTRL+回车,才能达到效果。

本回答被提问者采纳
第2个回答  2014-04-10
哈哈,觉得还是VBA比较靠谱,应该不是太难。
=下有空的话给你做示例。追问

已经有网友给了详细解答了,还是非常感谢您的热心帮助!

追答

如有数据请把数据复制粘贴到sheet2表,再返回sheet1表点击“整理数据”按钮;否则可以先点击sheet2表的“生成测试数据”按钮,然后再返回sheet1表点击“整理数据”按钮。

追问

请问这个宏有什么功能?

追答

按你之前说的意思做的宏,日期是“20080201”这种形式。
表二的按钮时我自己用来生成测试数据,你用不上。
另外,不一定每年都是365天的,自己可以查查。

第3个回答  2014-04-10
vlookup函数追问

已经有网友给了详细解答了,还是非常感谢您的热心帮助!

第4个回答  2014-04-10
请将文件发到[email protected],我看一下能不能帮你。追问

已经有网友给了详细解答了,还是非常感谢您的热心帮助!

相似回答