- ?
Excel | 多个表批量合并一起,告别手动复制粘贴
吕振家
展开
如果是跟数据打交道的小伙伴(财务、人事、数据分析类),一天负责十几张表格应该是正常事情,但是这十几张表格大多数结构类似,主要由于上传的部门不一样或者是分公司上传过来,当你一遍遍复制粘贴,老板在聊天软件上不停地消息催促你的汇总表。
就会有有趣的事情发生了。
嘤嘤嘤,老板真不是我的问题啊(( ▼-▼ ))
汇总神器:Power Query
解决这个问题的神器就是它:Power Query
首先这个Power Query可不是插件!他是Excel2016版本自带的一个功能,实际上呢也是微软PowerBI(可视化数据工具)的附带功能,微软的数据导入亲儿子。
Power Query可应用的场景可多了:关系型数据库、Excel、文本和XML文件,OData提要、web页面、Hadoop的HDFS等等。
【数据】菜单-右侧就是Power Query啦
而数据整合以后,就建立好数据模型,为用Excel、Power Pivot、Power View、Power Map进行进一步的数据分析做好准备。
并且这个设置都是自动化的!一次设置以后,后续右键刷新即可。
什么?你只装2007版本?老哥现在是2018年了为,不过你要使用Power Query也不是不可以,那就要去官网下载了,相关链接:
Power BI:
https://powerbi.microsoft/zh-cn/desktop/
Power Query:
http://microsoft/zh-cn/download/details.aspx?id=39379
老哥,为什么我下载了还是不行啊?
老铁,WPS可没有这个功能........
场景1:同文件,多sheet的合并
同文件,多sheet的合并,我们来设置下(文件名:表1)
表1~表4(表格格式一样,规范)
每个sheet分别是一个代销商信息,所有列是一一对应的,没有列混乱的。
那我们就新建一个新的sheet,取名“汇总表”
【菜单栏】→【数据】 →【新建查询】→【从文件】 →【从工作簿】
选择文件【表1】、“打开”后,进入【导航器】,可以看到文件中的4个sheet,勾选“选择多项”,然后勾选所需的sheet,点击右下角【加载】。
稍等片刻,右边弹出“工作簿查询”窗口后会显示刚刚导入的四个表格。
重点来了!点击【新建查询】→在下拉菜单中找到【合并查询】→选择【追加】→在追加窗中选择【三个或更多表】→选取数据→点击【确定】
这时【查询编辑器】会自动打开看到几个sheet数据已经追加在一起了。 之后点击【关闭并上载】就可以看到了最后的我们要的【汇总表】了!
表要修改数据?不要紧,在原sheet进行修改然后再汇总表进行右键刷新就可以。
要追加新的Sheet?没事,下面就教下如何快速增加心得Sheet数据,不必会去再去导入:
在汇总表中点击【数据】→【新建查询】→在下拉菜单中找到【合并查询→【编辑器】→点击【高级编辑器】
在源 = Table.Combine({表1, 表2, 表4, 表3})后面添加正确的表名就可以,比如:源 = Table.Combine({表1, 表2, 表4, 表3,表4})→完成点击左上角的【关闭并上载】
场景2:多个文件的合并
假设你的文件还是刚才那几个数据源,但是Sheet变成文件了,但是在同一个文件夹,那么就是另外一个操作方法。
注意文件夹不要有其他无关的文件,不然会影响计算。
首先新建一个表格→【数据】→【新建查询】→【从文件夹】→在弹窗中选择目标文件夹路径确定
然后点击右下角的【编辑】弹出【查询编辑器】
新建自定义列:键入公式 =Excel.Workbook([Content])
注意公式一定要一模一样,包括大小写、全半角、符号。
然后点击最后一列【确认】两次,如图所示(必须点两下确认哦!要扩展两次。)
然后我们在【转换】→【把第一行作为标题】→【地区】这一列进行筛选,取消地区的勾选,这样就不会有重复的标题出现了
最后删除无关数据列,选中地区列,按住shift键,单击代销商列,这样正确的数据源都被选中后,在列标题上右键单击【删除其他列】
完成后点击左上角的【关闭并上载】,数据就完成啦~
本次教程结束
谢谢各位观看~
如有问题可以在后台提问或者私信我
Excel | HR必备神器,员工生日自动化提醒
图表说 | 如何六步制作商业级的柱状图
图表说01-平时用的这些图表,可能会害了你
技巧 | 日常工作时必备的 Excel 技能有哪些?
- ?
如果你只会Vlookup函数那就别说你懂表格,Excel全部查找公式(共16大类)
听安
展开
找对比,你会首先想到
Vlookup
函数。但在Excel中只会Vlookup函数是远远不够的。今天兰色对查找公式进行一次全面的整理。
对于一个地方需要用到对比的时候我们肯定想到的是Vlookup函数,但是你在用Excel的时候只会用它可不行,今天我们就一起来梳理下常用的!
地球人都知道:一题多解的只选取最优公式!
1、普通查找VLOOKUP函数
我们需要查找李晓峰的应发工资
公式:=VLOOKUP(H2,B:F,5,0)
2、反向查找INDEX
函数
查找吴刚的员工编号
公式:=INDEX(A:A,MATCH(H2,B:B,0))
反向查找
3、交叉查找VLOOKUP函数:
查找3月办公费的金额
公式:=VLOOKUP(H2,A:F,MATCH(I2,1:1,0),0)
4、多条件查找
VLOOKUP函数
查找上海产品B的销量
公式:=LOOKUP(1,0/((A2:A7=E2)*(B2:B7=F2)),C2:C7)
5、区间查找
根据销量从右表中查找提成比率。
公式:=LOOKUP(A2,$D$2:$E$5)
6、双区间查找
根据销量和比率完成情况,从表中查找返利。
公式:=INDEX(B3:F7,MATCH(D11,A3:A7),MATCH(E11,B2:F2))
7、线型插值
A列是数量,B列是数量对应的系数值。现要求出数字8所对应的系数值。
公式:=TREND(OFFSET(B1,MATCH(D3,A2:A6,1),,2,1),OFFSET(A1,MATCH(D3,A2:A6,1),,2,1),D3)
8、查找最后一个符合条件记录
要求查找A产品的最后一次进价。
公式:=LOOKUP(1,0/(B2:B9=A13),C2:C9)
9、模糊查找
要求根据提供的城市从上表中查找该市名的第2列的值。
公式:=VLOOKUP("*"&A7&"*",A1:B4,2,0)
10、匹配查找
要求根据地址从上表中查找所在城市的提成。
公式:=lookup(9^9.find(A$3:A$6,A10),B$3:B$6)
11、最后一个非空值查找
要求查找最后一次还款日期
公式:=LOOKUP(1,0/(B2:B13<>""),$A2:$A13)
12、多工作表查找
【例10】从各部门中查找员工的基本工资,在哪一个表中不一定。
方法1
公式:=IFERROR(VLOOKUP(A2,服务!A:G,7,0),IFERROR(VLOOKUP(A2,人事!A:G,7,0),IFERROR(VLOOKUP(A2,综合!A:G,7,0),IFERROR(VLOOKUP(A2,财务!A:G,7,0),IFERROR(VLOOKUP(A2,销售!A:G,7,0),"无此人信息")))))
方法2:
公式:=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({"销售";"服务";"人事";"综合";"财务"}&"!a:a"),A2),{"销售";"服务";"人事";"综合";"财务"})&"!a:g"),7,0)
13、一对多查找
【例】根据产品查找相对应的所有供应商
公式:
A2 =B2&COUNTIF(B$1:B2,B2)
B11=IFERROR(VLOOKUP($A11&COLUMN(A1),$A:$C,3,0),"")
14、查找销量最大的城市
查找销量最大的城市。注意:注意:注意:数组公式按ctrl+shift+enter三键输入
公式:{=INDEX(A:A,MAX((MAX(B3:B7)=B3:B7)*ROW(B3:B7)))}
15、最接近值查找
根据D4的价格,在B列查找最接近的价格,并返回相对应的日期
注意:注意:注意:数组公式按ctrl+shift+enter三键输入
公式:{=LOOKUP(1,0/(MIN(ABS(B3:B7-D4))=ABS(B3:B7-D4))*ROW(B3:B7),A3:A7)}
15、跨多文件查找
跨多个文件查找,网上大概很难找到这样的教程,仔细想想其实原理和跨多表查找一样,也是借助lookup等函数实现。
文件夹中有N个仓库产品表格,需要在“查询”文件完成查询
仓库表样式
在查询表中设置公式,根据产品名称从指定的文件中sheet1工作表查询
入库单价
公式:=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT("["&{"仓库1";"仓库2";"仓库3"}&".xlsx]sheet1!a:a"),A2),"["&{"仓库1";"仓库2";"仓库3"}&".xlsx]sheet1")&"!a:b"),2,0)。
如果你在用vlookup函数做多文件查找的时候也可以用iferror+vlookup的模式的这种模式,看起来公式很长,但是这样不会出错。此外,如果一个表用到的函数太多就需要用宏表函数用Files获取所有excel文件名称了。
老男孩PS
:我能想到的基本上都已经列出来了,但是我相信有很多大家可能看不懂,但是看不懂没关系,赶紧收藏起来,然后直接套用就可以了。
- ?
Excel如何同时并列查看两个工作簿/工作表?
何人
展开
工作中,经常会遇到需要同时并列查看两个表格以便减少工作量的情况,不停的切换表格十分影响效率,那么,如何才能设置在同一屏幕查看和对比两个工作薄呢?下面和大家分享两个方法!
方法一:
打开要查看的Excel表格文件。
点击工具栏的‘视图’选项,选择‘并排查看’。
表格分为上下两段后,选择其中一个表格。
点击视图—同步滚动,实现两个表格同时查看,如不需要同时查看亦可取消。
完成表格,取消点击并排查看即可。
方法二:
打开要查看的Excel表格文件。
点击工具栏的‘视图’选项,选择‘全部重排’。
在弹出对话框中选择“水平并排”或“垂直并排”,个人喜好00
表格分为上下或者左右两段后,选择其中一个表格。
点击视图—同步滚动,实现两个表格同时查看,如不需要同时查看亦可取消。
完成表格,取消点击并排查看即可。
工作表又如何同时并列查看?
一个工作簿里的不同工作表又如何同时并列查看?
先把工作表变成临时工作簿,再按照上面方法一、二操作即可。
如何把工作表变成临时工作簿:
今天的课程就到这里,如果您喜欢这堂课程,请帮忙点赞和转发哦,感谢您的支持!
- ?
Excel的分身术:在多个窗口中查看同一个工作表
卓世倌
展开
Excel的分身术:在多个窗口中查看同一个工作表
大家好,我是@爱玩电脑。今天给大家讲讲如何将办公软件Excel的同一个工作表内容在两个及以上的窗口中显示,方便我们查看工作表的不同部分,进行数据核对、处理。我们前面讲过一个窗口拆分功能:天涯若比邻:Office办公软件的窗口拆分功能方便核对数据,这次讲的是另外一种方法。
概况:演示用的办公软件为Excel2007。我们的表格是这个样子的,表格的文件名是"新建窗口示例表格":
一、新建窗口
点击"视图"/"新建窗口"。好像没什么变化?实际上你可以看到表格的名字已经变成"新建窗口示例表格:2",
同时在屏幕下方的工具栏上可以看到已经是2个Excel文件窗口了。你还可以新建更多的窗口,但是好像更多的窗口也不太实用了。
二、排列窗口
点"视图"/"全部重排",然后选择排列方式(我一般选"垂直并排")
就可以发现两个相同内容的表格出现了。
三、处理数据
我们在任何一个窗口里面进行拖动,不会影响到另外一个窗口;我们在任何一个窗口进行数据修改,另外一个窗口都是同步修改。
好吧,办公软件Excel的新建窗口功能就讲到这里。文章由@爱玩电脑创作,转载请注明出处。
- ?
LOOKUP函数多表查找其实很简单
阮惠
展开
有很多张表格,表格的列数一样,行数不一样。
现在要在汇总表,查找每个表的F列合计值,也就是F列最后一个数字。
在进行多表查找之前,先来了解LOOKUP函数的查找原理。
查找一列中最后一个数字,可以用LOOKUP函数进行查找。
=LOOKUP(9E+307,A:A)
9E+307是一个超级大的数字,意思是9*10^307,Excel最大的数字是15位。也就是说9E+307比Excel中最大的数字还要大。
而LOOKUP函数在查找的时候,是查找小于或者等于他本身,并且是最后满足条件的值。
现在所有值都比9E+307小,所以查找到最后一个值9。
现在要找到表1中F列的最后一个值,可以这样写公式:
=LOOKUP(9E+307,'1'!F:F)
这里''省略掉也可以得到正确值。
=LOOKUP(9E+307,1!F:F)
表2中F列的最后一个值,可以这样写公式:
=LOOKUP(9E+307,2!F:F)
不过这样查找一个值,就要重新更改一次表格名称,很麻烦,而且容易出错。
现在已经在A列将所有表格名称列出来,可以通过&将表格名称和区域连接起来。
=A2&"!F:F"
连接起来后,变成了一个文本,不能直接参与运算。现在直接用LOOKUP函数,就提示出错。
要将文本间接转换成区域,需要借助INDIRECT函数。
=LOOKUP(9E+307,INDIRECT(A2&"!F:F"))
其实,公式并不难。不过如果你想一步到位写出公式就很难,在不熟练的时候,需要一步步拆分开,最后再将公式组合成完整的公式。
- ?
Excel用Power Query把文件夹下所有文件合并为一个与合并多个表格
西尔维亚
展开
在 Excel Power Query 未出来之前,把文件夹下所有文件合并为一个与合并同一工作表中的多个工作表,需要用 VBA 实现,比较麻烦。有了 Power Query 后,不用再写代码,直接用它就可以合并一个文件夹(可包含子文件夹)下所有的 Excel 文件与一个 Excel 文档中所有 Sheet。用 Power Query 合并文件,主要是通过查询导入的办法实现,以下就是它们的具体操作方法,实例中操作所用版本均为 Excel 2016。
一、Excel用Power Query把多个工作表Sheet合并到一个工作表
1、选择“数据”选项卡,单击“新建查询”,在弹出的菜单中依次选择“从文件”→ 从工作簿,打开“导入数据”窗口,定位到要合并的Excel文件所在的文件夹,双击要合并的文件(如 Power Query合并多个工作表),则弹出提示正在连接文件小窗口,连接完成后,打开“导航器”窗口,勾选“选择多项”,依次勾选“1月至6月”6个工作表,单击右下角的“加载”,打开“查询编辑器”窗口,选中左边的“1月”,单击“表格图标”,在弹出的菜单中选择“追加查询”,打开“追加”窗口,单击下拉列表框,在弹出的选项中选择“2月”,则把工作表“2月的数据”添加到“1月的数据”后面;同样方法添加“3月至6月的数据”,添加完成后,单击“查询编辑器”左上角的“关闭并上载”,在弹出的菜单中选择“关闭并上载”,则“1月至6月的数据”添加到 Excel 文档中;操作过程步骤,如图1所示:
提示:当从 Excel 文件导入数据时,在最后一步把数据添加到 Excel 文档时,可能会弹出“初始化数据源失败”的提示,单击“确定”即可。
2、在“查询编辑器”窗口,追加合并数据时,除可以从“表格图标”选择“追加查询”外,还可以直接选择窗口右上角的“追加查询”,如图2所示:
图23、如果合并的工作表中有重复记录,把数据添加到一个表(如“1月”)后,可以单击“表格图标”,在弹出的菜单中选择“删除重复项”,如图3所示:
图3二、Excel用Power Query把多个文件合并成一个文件,仅把 Sheet 添加到工作薄并未合并数据
1、单击“数据”选项卡下的“新建查询”,依次选择“从文件”→ 从工作薄,打开“导入数据”窗口,定位到要合并的Excel文件所在的文件夹,双击要合并的文件(如 Power Query 合并查询),则所选文件导入到“导航器”窗口,勾选“选择多项”,依次勾选“Sheet1 和 Sheet2”,单击“编辑”,打开“查询编辑器”窗口,单击窗口右上角的“新建源”,在弹出的菜单中依次选择“文件””→ Excel,再次打开“导入数据”窗口,同样定位要合并文件所在文件夹,双击要导入文件(如 Power Query合并多个工作表),打开“导航器”窗口,再次勾选“选择多项”,并依次选择“1月至6月”六个工作表,单击“确定”,返回“查询编辑器”窗口,单击“关闭并上载”,在弹出的菜单中选择“关闭并上载”,则两个 Excel 文件的8个工作表合并到一个 Excel 文件中;操作过程步骤,如图4所示:
2、以上演示了把两个 Excel 文件合并为一个文件,如果要把更多的 Excel 文件合并为一个文件,只需在“查询编辑器”窗口重复选择“新建源”,选择 Excel 文件即可。
三、Excel用Power Query把同一文件夹下所有文件合并成一个文件,文件夹下可包含子文件夹
1、选择“数据”选项卡,单击“新建查询”,依次选择“从文件”→ 从文件夹,打开“文件夹”窗口,单击“浏览”,打开“浏览文件夹”窗口,定位到要合并的 Excel 文件所在的父文件夹,选择要合并的 Excel 文件所在文件夹,单击“确定”,打开“查询编辑器”窗口;选中第三列,按住 Shift,再选中第八列,右键选中的列,在弹出的菜单中选择“删除列”,把它们删除;选择“添加列”选项卡,单击“添加自定义列”,打开“添加自定义列”窗口,在“自定义列公式”下输入 =Excel.Workbook([Content]),单击“确定”;返回“查询编辑器”窗口,选中 Custom 列,单击 Custom 右边的双箭头图标,在打开的小窗口中,不勾选“使用原始列名作为前缀”,单击“确定”;单击 Custom.Data 列选中它,再单击 Custom.Data 右边的双箭头图标,在打开的窗口中,勾选“使用原始列名作为前缀”,单击“确定”;把第一至第四列和后三列删除;选择“开始”选项卡,单击“关闭并上载”,在弹出的菜单中选择“关闭并上载”,则所选文件夹下的全部 Excel 文件合并到一个文件;操作过程步骤,如图5所示:
2、提示:在“自定义列公式”下输入的公式 =Excel.Workbook([Content]),是区分大小写,注意不要输错。
四、Excel Power Query 不显示“多项选择”的原因及解决方法
1、Power Query 要求浏览器版本在 ie9 以上;另外,如果浏览设置了不显示图片,即没有勾选“显示图片”,如图6所示:
图62、“导航器”中的“选择多项”前的复选框与“查询编辑器”中列字段右边的双箭头图标都不显示,图7是“导航器”中的“选择多项”前的复选框未显示的情况:
图73、只要勾选了 ie 中的“显示图片”,它们就会显示,因此,遇到窗口显示不正常的情况不要忘了查看 ie 是否为 9 以上版本与是否勾选了显示图片。
- ?
利用了VBA神器,多工作表的大数据搜索,真的非常简单
宫天佑
展开
最近两周一直在讲解如何利用VBA,在EXCEL的多个工作表中进行大数据的查询。今天把两周的内容精炼总结一下,想利用这些程序的朋友,可以拷贝下面的代码,放在编译器中就可以直接使用啦。
1 Sub KK()
2 Sheets("SHEET1").Select
3 I = 2
4 Do WhileCells(I, 1) <>""
5 Cells(I,1).Select
6 TT =Cells(I, 1)
7 Cells(I, 2) = ""
8
9 SetFJX =Sheets("A").Range("A1:A"&Sheets("A").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)
10 If NotFJXIs Nothing Then Cells(I, 2) = Sheets("A").Cells(FJX.Row, 2)
11
12 SetFJX =Sheets("B").Range("A1:A" &Sheets("B").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)
13 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("B").Cells(FJX.Row, 2)
14
15 SetFJX =Sheets("C").Range("A1:A"&Sheets("C").Range("A1").End(xlDown).Row).Find(TT, AFTER:=[A1], LOOKAT:=xlWhole)
16 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("C").Cells(FJX.Row, 2)
17
18 Set FJX=Sheets("D").Range("A1:A" &Sheets("D").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)
19 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("D").Cells(FJX.Row, 2)
20 I = I + 1
21 Set FJX =Nothing
22 Loop
23End Sub
代码截图:
工作表截图:注意名称
下面对代码进行逐行讲解:
1 Sub KK() ’KK给出程序的名称
2 Sheets("SHEET1").Select ’指选择sheet1的工作表,并进行操作
3 I = 2 ’是对变量i赋初始值,一般要用Dim i as Integer 进行声明。这里可以仅用Dim i, 也可以再简单点,直接用也行。但这不是说Vba是动态语言,相反,这恰恰说明了VBA作为静态语言的灵活性。
4 Do While Cells(I, 1) <> "" ’DOWHILE是一个循环,是循环的标识,回调语句是loop,WHILE跟循环条件,是指第i行第一个单元格不为空建立一个循环。 变量是i,条件是直到i行的第一个单元格是空值。
5 Cells(I, 1).Select ’要对第I行一个单元格定位,这也是为了程序具有可视性。
6 TT = Cells(I, 1) ’然后把它的值value取出赋給TT,这也是为了以后操作简单。这里TT也是直接用的,略去了声明语句。
7 Cells(I, 2) ="" ’要把第2个单元格清空,两个半角双引号,中间什么也没有就是空值,和空格不同,空格是" "。
8
9Set FJX=Sheets("A").Range("A1:A"&Sheets("A").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)
’SET是令FJX等于一个值,(这里也应先给FJX 事先声明此程序略去了),
sheets("A")是指名称为A的那个工作表;
Range("A1:A"& Sheets("A").Range("A1").End(xlDown).Row)是指从A1单元格开始向下直到最后一个不为空的单元格区域;
Sheets("A").Range("A1:A"& Sheets("A").Range("A1").End(xlDown).Row)是指A的工作表中在A1到最后一个不为空的单元格区域;
Find(TT,AFTER:=[A1], LOOKAT:=xlWhole)要查找值为TT的单元格,在A1的after后开始查询,是完全匹配,把区域和之后的操作间隔一个。
这样就把查找的结果赋给了FJX。
10 If Not FJXIs Nothing Then Cells(I, 2) = Sheets("A").Cells(FJX.Row, 2)
’if then 语句, 如果...那么......。查询的结果放在FJX,FJX is Nothing就是说没有查到结果。给它一个逻辑否定,就是前面加个NOT,其意思就是FJX不为Nothing 就是查到了,查到了怎么办?fjx.Row是指查到数据的行号。Sheets("A").Cells(FJX.Row,2)就是在A工作表查到的行号的第2个单元格的值,Cells(I, 2) = Sheets("A")。Cells(FJX.Row, 2)即第i行第2个单元格的值将等于工作表A中查到的行号的第2个单元格的值 Cells(I, 2) 是哪个工作表呢?指Sheets("SHEET1")。
11
12 SetFJX =Sheets("B").Range("A1:A"&Sheets("A").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)
13 If Not FJX Is Nothing Then Cells(I, 2)=Sheets("B").Cells(FJX.Row, 2)’这两行类似于第9第10行,是处理当在B工作表中继续查找的操作。当查到后会有第13行的操作,和第10行的操作一样,这里要注意:第一,xlwhole是指单元格完全匹配的查找。第二,连接字符串的符号是&,不可用加号,当用到.cells时前面要用With,现在还没有用到,以后会有。
14
15 SetFJX =Sheets("C").Range("A1:A"&Sheets("C").Range("A1").End(xlDown).Row).Find(TT, AFTER:=[A1], LOOKAT:=xlWhole)
16 If Not FJXIs Nothing Then Cells(I, 2) =Sheets("C").Cells(FJX.Row, 2)
’15行和16 行是在工作表“C”中进行的查找,也就是说:首先在工作表“A”中查找,然后就在“B”中查找,再次在"C"中查找。一旦查找到就执行将此行的第二个单元格的VALUE赋给 Sheets("SHEET1")的工作表的I行第二个单元格值,这样就实现了在多个工作表中的查询。
17
18 Set FJX=Sheets("D").Range("A1:A" &Sheets("D").Range("A1").End(xlDown).Row).Find(TT,AFTER:=[A1],LOOKAT:=xlWhole)
19If Not FJX Is Nothing Then Cells(I, 2)=Sheets("D").Cells(FJX.Row, 2)
’18行和19 行是执行工作表D的查找。回顾一下,从第9行开始直到第19行总共运行了4个工作表
20I = I + 1 ’I值增加1
2121 Set FJX = Nothing ’另FJX为空准备下轮的查找
22 Loop ’程序回调到第4行 DO WHILE
23 End Sub ’程序结束。
有兴趣的朋友可以试着使用一下,如果好用别忘了分享。如果有改进,别忘了晒晒代码。
分享成果,随喜正能量
- ?
怎么搜索Excel中的全部工作表(sheet)
Tunas
展开
使用Excel时,经常需要在表格中查找指定的数据或者文字等内容。当然,查找的操作比较简单,但Excel中默认只是在当前的工作表(Sheet)中进行查找。如果一个Excel工作簿(或者说是一个Excel文档)中有很多工作表,那么要想在所有的工作表中查找指定内容,默认设置下就需要逐个打开各个工作表,再逐个进行查找操作。这种情况时我们可以在查找时特别设置一下,让Excel在当前工作簿的所有工作表中进行查找,从而提高工作效率。下面以Excel2007为例介绍如何设置,以供参考。
●点击Excel中的“查找”或者按键盘的“Ctrl+F”组合键打开“查找和替换”对话框后,点击其中的“选项”按钮。
●点击选项按钮后,查找和选择对话框中会展开更多的选项。如果在“范围”选项右侧显示的是“工作表”,则说明现在设置的只是在当前的工作表中进行查找。如果想要查找所有的工作表,需点击“范围”右侧的下拉框。
●弹出下拉列表后,在列表中点击“工作簿”选项。即将查找范围设置成了当前工作簿中的所有工作表。
●然后再输入要查找的内容,点击“查找全部”按钮。如果想逐个显示查找结果,则需点击“查找下一个”按钮。
●点击“查找全部”按钮后,对话框下方会显示出查找结果列表,在其中的“工作表”列中会显示包含查找内容的工作表名称。在某个查找结果所在的行中点击鼠标,Excel就会自动打开对应的工作表,并且选中对应的单元格。
这个小技巧可以让我们在Excel工作簿中进行查找时更快速的找到需要的结果,提高工作效率。
- ?
Excel | 零基础也会合并多工作表,只需鼠标按序点下去
Kate
展开
今天分享一种不用函数,也不用SQL语句,还不用VBA代码的方法,这种方法只需要鼠标按步骤点一点就可以了!
关键步骤提示
第一步:打开查询编辑器
选择“数据——新建查询——从文件——从工作薄”:
找到要合并工作表的工作薄,确认导入:
在导航器中勾选所有工作表,然后编辑:
打开了导航编辑器:
第二步:追加查询
在导航编辑器中,选择“开始——追加查询”:
将需要合并的9个工作表添加到右侧“要追加的表”,确定:
9个工作表的数据就追加到了查询编辑器。
第三步:关闭查询编辑器,并上载数据
删除生成的多余表格,关闭工作簿查询:
完成了多个工作表的合并。
以上多个工作表合并的方法是利用EXCEL2016版本的“PowerQuery”,即数据查询。我的建议:工具还是跟上技术发展步伐的好。
- ?
Excel多表汇总与 SQL查询语句
昔年
展开
同学们好啊 ,首先以实例讲解一下怎样合并多表的数据。
数据源文件中有三个表,分别是一组、二组、三组,里面有各个销售员的销售数据。
Step 1、建立连接并获取数据
点击【数据】选项卡下面的“现有连接”。
在弹出的对话框中点击左下角的“浏览更多”按钮,找到数据所在的文件,会弹出以下对话框。
任意选择一个表并点击“确定”按钮就可以了,因为后面还要更改成查询语句。
在弹出的对话框中可以选择显示列表或者直接创建数据透视表,并且可以指定数据显示的位置。
这里选择“表”,这样我们就建立了链接并初步导入了数据。
Step 2、修改查询语句
在上一步中得到的数据区域,点击右键,选择“表格”-->“编辑查询”。
在打开的对话框中输入查询语句:
Select "一组" as 数据来源,* from [一组$] union all
Select "二组" as 数据来源,* from [二组$] union all
Select "三组" as 数据来源,* from [三组$]
这样就完成了多表汇总,是不是感觉很简单呢?
最后和大家分享一些常用的SQL查询语句,到时候可以适当修改一下代码中的工作表名称,就可以应用到自己的工作中了。
常用查询SQL语句示例
1、查询名称为Data的表中的所有字段的数据
Select * from [Data$]
注意:Excel工作表名称后面需要加上美元符号$,并且需要放到方括号[]中;星号*表示查询所有字段的数据。
2、查询名称为Data的表中的“销售员”和“销量”两个字段。
Select [销售员],[销量] from [Data$]
注意:字段名称可以不加方括号,但是当字段名称中间有空格、字段名是SQL语句中的保留名称等特殊情况时就必须要加方括号;在查询时,只要表中有这些字段就可以了,不用管这些字段的前后顺序。
3、查询名称为Data的表中销售员Lily的销售信息
Select * from [Data$] Where 销售员="Lily"
注意:需要指定条件时就用Where语句,多个条件用And、Or连接,分别表示并且、或;条件格式为[字段名]=“具体内容”,操作符可以是=、>、=、In,比如:销售员 in ("Lily","Cherry")。
4、查询名称为Data的表中销售员Lily的销售总额
Select 销售员,Sum(销量) as Lily的总销量 from [一组$] Where 销售员="Lily" group by 销售员
注意:进行汇总的时候,可以直接用Sum、Group by;在select中出现的字段,如果这个字段是汇总字段,则这个字段必须加到Group by里面;Sum函数是求和,也可用其他功能函数,比如:平均值AVG、计数Count、最大值Max、最小值Min;As可以重命名字段。
5、查询名称为Data的表中D5:F200区域的数据中销售员和销量两个字段
Select [销售员],[销量] from [Data$D5:F200]
注意:在Data$后面加上区域的地址,如果不知道最后一行是多少,或者为了让数据区域是动态的,可以省略最后一行的行号,如下。
Select [销售员],[销量] from [Data$D5:F]
6、查询名称为一组、二组、三组三个表中的所有数据
Select "一组" as 数据来源,* from [一组$] union all Select "二组" as 数据来源,* from [二组$] union all Select "三组" as 数据来源,* from [三组$]
注意:有需要合并的表,就用union all连接起来,一般最多不能超过50个。
在输入SQL语句时,各种符号一定要在英文状态下输入,否则你可能半天都检查不出来错在哪儿;如果使用星号*,那几个表中的数据字段顺序要一致、数据区域大小要一致,如果直接指定字段名称,则不受此限制。
7、查询名称为一组、二组、三组三个表中销售员Lily和David的所有数据
select * from (Select * from [一组$] union all Select * from [二组$] union all Select * from [三组$]) where 销售员 in ("Lily","David")
注意:可以在一个查询语句的外面在嵌套上另外一个查询语句,表示从查询结果中再次查询。
8、查询名称为Data的表中的所有字段的数据并按照日期排序
Select * from [Data$] order by 日期
注意:排序用order by,默认是升序,加上DESC表示降序,DESC是descending的缩写。降序示例:order by 日期 Desc
End.
文章转载自:Excel轻松学
excel多表查询
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并