权责发生制的优点:如何从多个Excel表中提取部分相同的数据生成单一的一个Excel文件

来源:百度文库 编辑:中科新闻网 时间:2024/05/08 04:39:17
如何从多个Excel表中提取部分相同的数据生成单一的一个Excel文件

举例·:一个excel文件,里面有一百多个工作表,但工作表名称没有规则顺序,不是按照sheet1、sheet2这样的顺序排列,现在需要把每个工作表里的A3数据提取出来,组成新的一列。
解决方法:用宏自定义函数
同时按Alt和F11进入宏界面,点菜单的插入,塻块,粘贴如下代码:

Function AllSh(xStr As String, i As Integer)
Application.Volatile
AllSh = Sheets(i).Range(xStr).Value
End Function

回到excel,在任意单元格输入=allsh("A3",ROW(A1))
公式向下复制。

用vlookup()函数或sumif()函数
vlookup()函数只能显示文本或单一数据不能加减,但可以在不打开源文件的情况下使用
sumif()函数,可以对数据进行加减,但不能输出文本,而且计算时必需打开源文件,否则数据会显示出错。

用法么,可以看一下excel的帮助,或者到知道中其他相似的提问去看看。

首先把多个EXCEL表合并成一个,菜单栏数据——筛选——自动筛选,把相同的数据复制一个,放于另一个新建的EXCEL文件中。

还可以参考:http://flswz.com/web/flzdc/archives/2006/200662895818.html

Vlookup可以试一下,我前两天用这个功能作了一个文件,效果还不错,不过建议你,如果生成后不需要更新的话,复制粘贴数值,这样每次打开文件的时候不会耗内存。

以下是Excel帮助中的信息:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value 为需要在表格数组第一列中查找的数值。
Table_array 为两列或多列数据。
Col_index_num 为 table_array 中待返回的匹配值的列序号。
Range_lookup 为逻辑值,指定希望 VLOOKUP 查找精确的匹配值还是近似匹配值

数据----筛选-----高级筛选
但是你要在筛选之前 把筛选的条件列出来。