澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:你见过的excel最牛和最lo

2019-07-27 作者:办公软件   |   浏览(143)

问题:平时的工作中,很多时候数据处理都离不开excel这个电子表格软件。用得好,能提高工作效率。用得不好,也就跟手工处理差不多。你的生活中,工作中见过最好或最差劲的excel用法是什么?

问题:怎样利用excel把一列汉字汇总?

问题:有两份Excel表格,A表上记载着许多客户的姓名和地址,B表格上记载着众客户的姓名和电话。请问如何把A表上的姓名与B表上的电话,一一对应的整合在一起?

澳门新萄京官方网站 1

  在前一篇文章中我谈到了Excel 2007以后版本的文件其实就是一个zip压缩包,里面包含了该Excel文件的所有内容和使用的资源,大部分文件都是以XML的形式存放的。再来回顾一下解压之后的文件夹结构,

回答:

回答:

回答:这个可以用VLOOKUP函数解决,这个函数是EXCEL在职场应用中的一个神器,一定要掌握这个函数。

图/文 安伟星

澳门新萄京官方网站 2

最牛的方法当然是摸透excel的运作规律,从内部对excel进行改造,下来展示给你的excel用法,绝对让你惊掉下巴!

一般来说,一列汉字的汇总通常是指将这列汉字全部连在一起放在一个单元格里,这主要有三个方法:

假定如下两个表,一个表中存储的是姓名和地址,一个表中存储的是姓名和电话。

本文是专门为新书打造的「拓展阅读系列」之一,我们希望做到实体书与线上学习的有效结合,通过二维码打通实体书与线上资源,构建完善的Excel知识体系。

  其中比较重要的是xl文件夹,里面包含了一些很有用的信息。sharedStrings.xml文件存放了Excel中所有的字符串数据。

澳门新萄京官方网站 3

一、复制粘贴法

使用剪切板,在复制整列汉字所有内容时,这些内容在剪切板里会聚合在一起(带换行符),然后直接在一个单元格粘贴即可。具体可参考以下动画:

澳门新萄京官方网站 4

澳门新萄京官方网站 5

在Excel使用过程中,为了放置别人随意篡改工作表中的内容,经常会通过密码来保护工作表。

澳门新萄京官方网站 6

Excel文件确实可以通过压缩软件打包进压缩包中,但是把Excel自身变成压缩文件,多数人应该还没有听说过。

二、Excel2016新函数法

Excel2016最新的更新包(注意,并不是所有Excel2016都有)里包含了TEXTJOIN函数,可以直接完成多个位置内容的连接,比如要将A2-A100区域里的内容合并到B2单元格,输入公式:=Textjoin(A2:A100)即可。

在存储姓名和地址的工作表C2单元格输入公式:

什么,你不知道如何为工作表加密,快来看这里!!
加密|这些加密功能不知道,还敢学Excel??

  worksheets文件夹中存放了所有的工作表信息,如果你的Excel文件中包含多个工作表,则这里你会发现有多个与工作表对应的xml文件。

01 Excel与压缩包迷之关系

其实,Office三姐妹在2007(或以上版本)中采用的后缀分别是xlsx、docx、pptx。

澳门新萄京官方网站 7

这些格式相比旧版本都多了个X,它们本质上是一个压缩包,这样的好处是存储相同容量的信息将占用较小的空间。

具体到Excel,构成Excel的所有源码文件都在这个压缩包中,因此通过将其后缀更改为.zip或.rar即可提取构成Excel的核心源码文件。

是不是感觉发现了微软的小秘密。

我们将Excel修改后缀为zip,解压出内部文件,看看都有什么?3个文件夹1个xml文件。

这里面是什么鬼东西,能怎么玩?让我们一步步扒光它……

澳门新萄京官方网站 8

小结Excel变成压缩包的原理图。

澳门新萄京官方网站 9

三、Power Query法

Excel2016里包含了Power Query功能(如果是2010或2013需下载官方插件),该功能包含函数Text.Combine,可以随意合并任意内容。具体用法可参考以下内容:

=VLOOKUP(A2,姓名电话!$A:$B,2,0)

设置密码保护之后,再想修改工作表就需要先输入密码。

澳门新萄京官方网站 10

02 批量导出Excel中的图片

如果我们的Excel工作表中有很多图片,比如做的员工通讯录,里面含有每一个员工的头像照片,需要将他们批量导入了,一个一个另存为速度就太慢了。

将其转化为压缩包,然后解压,你会赫然发现,所有图片已经静静地在那里等你。

Excel等信息存放在解压后的xl文件夹中的media文件夹里,如图是获取Excel中所有图片的步骤。

澳门新萄京官方网站 11

PQ-综合实战:动态分组合并同类项内容

原创 大海 Excel到PowerBI

小勤:大海,上次你跟我说的分组合并同类项的方法(见文章《Excel固定类别内容分组合并同类项,PQ轻松实现》),只适用于分类情况不变的内容,但很多时候都是需要变化的啊。澳门新萄京官方网站 12大海:对的。那时因为没有讲过M语言及函数的相关内容,所以就告诉你一个通过单纯操作的方式来得到结果的方法。现在你通过《Power Query里的数值计算(聚合函数与操作)》不仅了解了PQ里的统计函数,还了解了分组操作形成的公式内容:澳门新萄京官方网站 13小勤:对的,其中List.Sum函数对按学员分组得到的各自的所有学分进行了求和。
大海:嗯。那么就可以来玩动态生成了。我们一边操作一遍理解其中的方法:
Step-01:获取数据澳门新萄京官方网站 14Step-02:分组澳门新萄京官方网站 15结果如下:澳门新萄京官方网站 16小勤:出错了!
大海:别紧张,我们就是要这样的内容。你想啊,刚才咱们分组的时候选择的是对课程进行求和,但课程是一堆文字,比如宋晓佩的课程是初级班、中级班和高级班,求和的话肯定会出错。
小勤:那怎么办?
大海:显然,我们不是想求和,是想将这几个内容连在一起,所以,我们可以修改一下其中的List.Sum函数来达到目的。
Step-03:修改函数,将分组操作生成公式中的修改为澳门新萄京官方网站 17改完后回车,结果出来了:澳门新萄京官方网站 18小勤:啊。原来还可以这样玩。
大海:对的,实际上我们通过分组得到了每个学员的课程内容,然后就可以用Text.Combine函数进行组合了。这个函数的用法如下:
Text.Combine(列表,连接符)
列表:即多项内容形成的一个列表
连接符:用于连接列表各项内容的文本字符
小栗子:
Text.Combine({“你”,”好”,“Excel到PowerBI”},”-“)
结果:你-好-Excel到PowerBI
小勤:啊,这个函数真好啊,在Excel里面却没有这么一个函数,结果每次做文本连接麻烦屎了。
大海:现在最新的Excel2016里也有一个类似的函数了,叫TEXTJOIN,用法跟Power Query里的Text.Combine函数基本一样。
小勤:啊。真好。
大海:嗯,通过这样的修改,我们得到的分组结果就是可以动态刷新的了,最后我们就可以将数据上载了。
Step-04:数据上载澳门新萄京官方网站 19

欢迎关注

我是大海,微软认证Excel专家,企业签约Power BI顾问

让我们一起学习,共同进步!

鼠标放在右下角变成黑色十字后双击向下填充公式,可得出结果。

澳门新萄京官方网站 20

  来看一下sharedStrings.xml和工作表xml文件之间的关系。首先找到对应的工作表xml文件,如上图所示文件夹中的sheet3.xml,找到该xml文件的sheetData节点,下面包含有row节点,用来表示该工作表中的每一行,属性r代表行号。子节点c表示了该行中的每一个单元格,属性r表示单元格在Excel工作表的位置,如“A1”。注意属性t="s",它表示该单元格的内容是存储在sharedStrings.xml文件中的,其子节点v的值用来说明该值在sharedStrings.xml文档中的位置。

03 破解工作表加密

如图第二张表「销售记录」是使用密码保护的工作表。可是自己设置的密码却忘记了,该怎么办?

澳门新萄京官方网站 21

这就叫做搬起石头砸自己的脚吧。

①首先修改Excel的后缀名为「.zip」或者「.rar」,是压缩文件的格式就行。

注意:Excel会提示你修改后缀名之后会导致文件不可用,不要理它,点击「是」。

澳门新萄京官方网站 22

②用压缩软件打开刚才创建的压缩包,从压缩包中\xl\worksheets\路径下找到加密的工作表。因为我们只有sheet2为加密工作表,所以打开这个工作表即可。

通常,为了防止乱搞,把原始Excel文件搞乱,我建议大家把此文件复制到桌面之后再进行下一步操作。

澳门新萄京官方网站 23

③假设你已经将压缩包中的Sheet2复制到桌面了,那么用打开它, ,输入“pro”查找找到加密代码,找到之后将<>中的那一坨连同<>符号一起删掉,然后保存。

<sheetProtection algorithmName="SHA-512" hashValue="0botjAbUl3c8nnRthv/9xqEJw1FA6ErQJGpCGWzty5mQjyr89b11v9ffpnHIJOm3mk9Rv3YgnF10xQ3FEjTbvQ==" saltValue="5wf6E/o5M RHJTelz8A5hg==" spinCount="100000" sheet="1" objects="1" scenarios="1"/>

澳门新萄京官方网站 24

④将桌面的上已经删除密码保护的sheet2直接拖到压缩的文件的\xl\worksheets\路径下,替换到原来的sheet2。

澳门新萄京官方网站 25

⑤把zip文件改回.xlsx文件,然后大摇大摆去修改工作表吧,因为excel工作表保护密码消失了。

澳门新萄京官方网站 26

澳门新萄京官方网站 27

01:请输入密码.gif

澳门新萄京官方网站 28

04 批量修改工作表名称

一个工作簿中存放了一整年的销售记录表,有一个汇总表以及1-12月的销售明细。现在想把工作表名称中“2008年”字样统一改为“2010年”,同样使用压缩文件的方式可以快速搞定。

澳门新萄京官方网站 29

①将Excel文件的扩展名修改为.zip

②双击zip压缩包→xl文件夹,找到workbook.xml文件,并将workbook.xml复制到桌面(注意不要解压压缩文件)。

澳门新萄京官方网站 30

③以记事本的方式打开桌面上的workbook.xml文件,单击菜单命令“编辑”→“替代”,在弹出的“替换”对话框中,“查找内容”文本框输入:2008年,“替换为”文本框输入:2010年,单击“全部替换“按钮,关闭”替换“对话框;

澳门新萄京官方网站 31

④保存文件,并将其粘贴回压缩文件夹中,会提示“此位置已包含同名文件”,点击复制与替换。

澳门新萄京官方网站 32

⑤将zip文件扩展名再改回原来的.xlsx,然后打开此Excel文件,发现所有的工作表名称都已经改变了。

澳门新萄京官方网站 33

回答:

但是。
尴尬的是,你为别人挖的坑,结果自己却掉了进去。
忘记密码了!

  sharedStrings.xml文件中包含有很多si节点,其中存放的就是Excel文件里各个工作表中的字符串数据。上图中v节点的值代表的就是sharedStrings.xml文件中si节点的序号,该序号从1开始计数。通过这个关系,我们就可以在sharedStrings.xml文件中找到我们想要的数据了。

05 批量修改批注

通过摸索,星爷发现,Excel转化成压缩包之后,其中xl文件夹是放置Excel中各种元素的地方,比如Excel中插入了图片,在xl文件夹中就会生成一个media文件夹;在Excel单元格中插入了批注,xl文件夹中就会生成一个comments1.xml文件,用来存放批注。

因此,在Excel文件中难以批量操作的“批注”,就可以利用压缩包方法解决。

比如批量修改批注。

双击zip压缩文件,双击打开 xl 文件夹,找到名为comments1.xml的文件,将其复制到桌面。

澳门新萄京官方网站 34

右键单击comments1.xml文件,在右键菜单中依次单击——。在记事本中打开后,所有Excel中批注的内容都在这个文件中了,在这里我们可以方便的使用查找替换进行批量性该,比如:删掉所有批注中的“学费”两字。

如图可以采用替换的方式,将学费替换为空值。

澳门新萄京官方网站 35

完成之后保存comments1.xml文件,并将其粘贴回压缩文件包中。

最后zip文件扩展名再改回原来的.xlsx,然后打开此Excel文件,工作表中所有地方的批注都进行了相应的改变。

知道了这个原理之后,我们应该还能解锁更多的玩法,等着你去发现。

刚看了前面几个答案,除了说用vlookup的方法基本答对之外,人气最高的答案貌似不是提问者所需要的,因为这个答案是指多个工作表的汇总,而不是提问者所需要的横向的合并。

澳门新萄京官方网站 36

澳门新萄京官方网站 37

今日互动

关于Excel与压缩包,你还有哪些玩法?

·The End·

作者:安伟星,微软Office认证大师,领英中国专栏作者,《玩转职场Excel》图书作者

回答:

17个数据透视表和SQL实用动画:

1、多角度分析数据

澳门新萄京官方网站 38

2、更改值的汇总依据

澳门新萄京官方网站 39

3、排序让数据更加直观

澳门新萄京官方网站 40

4、原来手工也能排序

澳门新萄京官方网站 41

5、对销售额进行排名

澳门新萄京官方网站 42

6、筛选销售额前5名的客户

澳门新萄京官方网站 43

7、让更改的数据源随时刷新

澳门新萄京官方网站 44

8、插入表格,让数据源“动”起来

澳门新萄京官方网站 45

9、日期组合真奇妙

澳门新萄京官方网站 46

10、手工组合实现客户分级

澳门新萄京官方网站 47

11、善借辅助列,实现客户实际销售额分析

澳门新萄京官方网站 48

12、利用数据透视图让分析更直观

澳门新萄京官方网站 49

13、查询所有记录

澳门新萄京官方网站 50

14、查询不重复客户

澳门新萄京官方网站 51

15、查询符合条件的客户

澳门新萄京官方网站 52

16、统计产品购买金额

澳门新萄京官方网站 53

17、统计批发跟零售金额

澳门新萄京官方网站 54

回答:

最开始使用Excel的时候,什么都不懂。有谁不是从最开始的手动输入进阶过来的?

所以我刚上班的时候用Excel也是low爆了,快捷键只知道一个Ctrl C和Ctrl V。尤其是在录入身份证信息的时候,不管怎么弄都是无法显示完整的数字,无奈只能求助隔壁的小姐姐。

澳门新萄京官方网站 55

现在终于知道身份证号要怎么设置,才能够完整显示了。这里也给大家附上解决方案:

①先选中单元格,再右键点击“设置单元格格式”,选择“文本”。

澳门新萄京官方网站 56

②然后就可以输入身份证号,并在数字前插入英文单引号,再按下回车键即可。

澳门新萄京官方网站 57

不过等遇到的问题多了,百度查找答案后,也就慢慢积累了一些Excel技巧。例如以下这几个我就觉得挺好用!

1、ctrl E(快速填充)

拆分单元格信息

澳门新萄京官方网站 58

手机号码分段显示和加密

澳门新萄京官方网站 59

手机号码分段显示和加密

澳门新萄京官方网站 60

快速提取身份证号码中的生日

澳门新萄京官方网站 61

2、[F4]键

轻松插入多个空白行

澳门新萄京官方网站 62

高效合并多个单元格

澳门新萄京官方网站 63

为多个单元格设置填充颜色

澳门新萄京官方网站 64

许多小伙伴都认为Excel函数公式很高级,会用Excel函数公式就是牛。虽然我觉得Excel技巧里没有最牛,只有更牛。但是不得不承认,Excel函数公式用对了确实可以大幅度提高工作效率。例如以下这几个函数格式:

1、提取出生年月

=TEXT(MID(C3,7,8),"0-00-00")

澳门新萄京官方网站 65

2、计算及格人数

=COUNTIF(B2:B13,">=60")

澳门新萄京官方网站 66

最后再给大家一个经验之谈:如果想要学习怎么用Excel,光看书看教程都是纸上谈兵,尤其是公式基本上看过不用的话很快就忘记。建议是遇到问题后,先百度搜一下,然后边学边用,这样可以加深学习印象哦。

澳门新萄京官方网站 67

回答:

最牛的是用Excel做商业建模,比如投资决策模型,整本书看完完全不能理解的节奏。这个时候excel工具已经是其次了,关键是模型背后的思考和解决问题的方式。

次一点的是Power Query 和VBA ,前者用在数据处理,后者重在应对复杂业务逻辑。

再次一点是超级链接和函数,比如跨文件取数,跨表页数据更新。

更次一点大概就是数据透视和图表展示。

LOW的用法是一个单元格一个单元格敲公式,改公式,不知道用替换。

更LOW的用法是,看到excel 里数字前的绿色三角一个个点掉转换成数字,

最最LOW的是ctrl c 和 ctrl v ,重复操作超过五次,就应该考虑用便捷方式了。

澳门新萄京官方网站:你见过的excel最牛和最low用法是什么,怎样利用excel把一列汉字汇总。自从接触财务以后,反正我已经信了EXCEL是最好的BI工具。

回答:

如前面的答案,vlookup是方法之一,但是,用vlookup有一个问题,就是只能从一个表读取数据到另一个表,而不能实现两个表的完全整合,比如如果A表上有姓名和地址而B表上没有数据的,从B表读取A表的数据就读不出来,相反也是一样。

02:忘记密码.jpg

  弄清楚这个关系之后,我们再来看看如何通过代码取到我们想要的数据。从.NET Framework 3.0之后提供了一个新的类库可以帮助我们直接读取Excel包里面的文件。如果你的.NET工程是普通的Windows应用程序,那可以直接在工程中引用WindowsBase.dll类库。如果你的工程是非Windows应用程序,如Silverlight,则无法引用该类库,在后续的文章中我还会再介绍如何在Silverlight工程中读取Excel包里的文件。

最牛

1 小试刘刀。老师在数理统计上用Excel的函数做概率实验,只是几个函数,但是对于普通的职场小白这可是神技能啊。

澳门新萄京官方网站 68

2 大神吧

函数 vba,分分钟get前面那个当做计算器用过的人。

澳门新萄京官方网站 69

3 骨灰级

绘画用什么,ps,不不不,国外大神告诉你用什么,吓得我瑟瑟发抖。

澳门新萄京官方网站 70

澳门新萄京官方网站 71

因此,个人认为最好的办法是用Excel2016的新功能Power Query(如果是Excel2010或2013可以到微软官方下载插件)。具体实现方法如下:

自己挖的坑,含泪也要把它填上!

  还是直接上代码吧,写太多文字大家看得也累!

菜鸟

1.哎,那个表格在哪里啊!!!!!!

2.表格就是放东西的,玩什么玩。。

澳门新萄京官方网站 72

回答:

Excel中最牛的用法,一定那些可以轻松用于解决实际工作中的大问题的功能,而不是那些只是看起来很牛,而学不会或用不来的东西,因为那个跟你没有关系,或者说对你来说没有意义。因此,我现在非常推荐大家在学好Excel基础功能的情况下,加紧对Excel2016新功能(Excel2010或Excel2013可到微软官方下载相应的插件)的学习,不仅超级强大,而且十分简单易学。举例如下:

vlookup虽好,然难承大数据之重

原创 大海 Excel到PowerBI

小勤:大海,现在公司的数据量越来越大,现在有订单表和订单明细表,经常要将订单表的一些信息读取到订单明细表里,给相关的部门去用,原来只要几列数还好,vlookup读一下就是了,但现在,经常要很多数,用vlookup要累屎了。这个订单表还算少的,还很多其他的一张表里都好几十列了。

澳门新萄京官方网站 73

澳门新萄京官方网站 74

大海:呵呵,大数据时代嘛。几十列算少的啦,我上次一个项目上的合同表,有差不多300列,而且这还不算真正多的。

小勤:那怎么办啊!有时候按列顺序读还好,很多时候还不是按顺序的,简直就没法整啊。而且,满篇公式的时候,工作表都要跑不起来了。

大海:这个时候用vlookup的确有点吃力了,虽然vlookup是Excel中极其重要的函数,但是,在大数据时代,已经很难承起数据关联合并的重担了,所以微软才在Excel里加了PowerQuery的功能嘛,点点点,你想要哪些列就哪些列。

小勤:这么神奇?

大海:这段时间PowerQuery的神奇你也不少见了,不用惊讶。现在就告诉你怎么弄。

Step-1:获取订单表数据并仅创建表连接上载

澳门新萄京官方网站 75

Step-2:获取订单明细表数据并仅创建表连接上载(需要直接上传结果的可以选择表)

澳门新萄京官方网站 76

Step-3:回到PowerQuery界面(当然,前面一个步骤如果没有关闭并上载的话,不需要这一步)

澳门新萄京官方网站 77

Step-4:选择要接入外部数据的查询,单击-

澳门新萄京官方网站 78

Step-5:选择要接入的外部表、选择两表之间用于匹配的列(可以是多列匹配,文末以另一个例子该步骤的附图方式说明)

澳门新萄京官方网站 79

Step-6:展开要接入表的列信息,选择要接入的列以及列名显示方式(是否加前缀)

澳门新萄京官方网站 80

Step-7:查看接入的结果,上载数据

澳门新萄京官方网站 81

Step-8:改变数据的加载方式(由“仅创建连接”方式改为“表”,若前面订单明细不是以“仅创建连接”的方式创建,该步骤不需要)

澳门新萄京官方网站 82

小勤:这样真是太方便了,只要选一下匹配要用的列,选择一下要接入哪些列就搞定了!对了,刚才你不是说可以多列匹配吗?原来用vlookup的时候可麻烦了,还得增加辅助列先将那些列连接起来,然后再用辅助列来匹配。

大海:是的。在PowerQuery里也不需要了,只要在选择匹配列时按住ctrl键就可以选择多列了。只是要注意两个表选择匹配列的顺序要一致。如下图所示:

澳门新萄京官方网站 83

小勤:太好了,以后数据列多的时候匹配取数就太简单了。

以上是使用Power Query代替vlookup实现的两表合并的基本用法(虽然步骤看起来很多,实际关键步骤就2个,都是鼠标点点点就瞬间完成的事情)。

那么,前面提到的,如果两个表间存在的差异数据都要显示,怎么办呢?只要对其中的表间连接类型按以下情况进行适当的选择即可:

  • 左外部:只要订单表(左表)里有的数据,结果表里都会有,但有些因为明细表(右表)里没有,所以匹配过来后会成为null(空值)

    澳门新萄京官方网站 84

  • 右外部:和左外部相反,即明细表(右表)里有的数据,结果表里都会有,但因为订单表(左表)里有部分数据没有,所以合并后用null值表示。

    澳门新萄京官方网站 85

  • 完全外部:不管哪个表里的数据,全都进结果表,对于双方都有一些对方没有的,合并后显示为null值。

澳门新萄京官方网站 86

  • 内部:跟完全外部相反,只有两个表都有的数据,才进结果表。

澳门新萄京官方网站 87

  • 左反:只有订单表(左表)有而明细表(右表)没有的数据,才进结果表。这种用法经常用于检查如哪些订单缺了明细表等。

    澳门新萄京官方网站 88

  • 右反:和左反相反,只有明细表(右表)有而订单表(左表)没有的数据,才进结果表。

澳门新萄京官方网站 89

欢迎关注

我是大海,微软认证Excel专家,企业签约Power BI顾问

让我们一起学习,共同进步!

回答:月末了,各部门报过来的数据,如何合并到一个文件里?

澳门新萄京官方网站 90

过去,我们只能使用VBA或编写SQL语句。

现在,我们只需点击几次鼠标,书写一个公式。

澳门新萄京官方网站 91

6个工作簿,数据结构都是一致的,我们需要把她们合并到一个工作簿里。

澳门新萄京官方网站 92

,找到需要合并的文件夹。

澳门新萄京官方网站 93

文件夹下每一个工作簿都被合并在一起。首列“内容”显示,是二进制数据的意思。

最后一列显示这些工作簿的地址。中间几列分别表示工作簿名称、后缀名、访问时间、修改时间、创建时间和文件属性。

澳门新萄京官方网站 94

点击,进入,中间那几列无用,所以右键单击。

澳门新萄京官方网站 95

如果此时直接点击二进制首列的"展开按钮",会出现错误提示。

澳门新萄京官方网站 96

这是因为,二进制数据无法直接提取。我们需要书写一条公式。

澳门新萄京官方网站 97

在点击。

澳门新萄京官方网站 98

在对话框,保留默认的,在列表框录入公式:

=Exel.Workbook([Content],true)

澳门新萄京官方网站 99

注意,公式函数严格区分大小写(首字母大写)。

函数的第一个参数是需要转换的二进制字段,这个字段可以在右侧列表框双击选择,不必手工录入。

函数的第二个参数是逻辑值,如果原数据有标题行,这里应该添写true。

点击后,新增一列,数据类型显示为,右侧的列表显示了刚刚进行的步骤。

澳门新萄京官方网站 100

随便选择数据的一个单元格,下方预览区会显示这个表的结构。

点击新增列标签右侧“展开按钮”,选择。

澳门新萄京官方网站 101

每一个表会按列方向展开。其中Data数据类型仍然显示。

澳门新萄京官方网站 102

我们再次点击数据列标签右侧的“展开按钮”。

澳门新萄京官方网站 103

展开的数据已经将文件夹下所有工作簿合并在一起。

删除一些不需要的列。

澳门新萄京官方网站 104

只留有效数据列,点击返回Excel。

澳门新萄京官方网站 105

所有数据都已经合并到一个工作簿中。

澳门新萄京官方网站 106

得到的合并数据实际上是一个,右键单击可以数据。

当文件夹下原工作簿内容变更,合并工作簿只要一次,即可更新数据。

展开数据时,如果选择,得到的数据会将同类项求和或计数。

怎么样,是不是比VBA要简单的多啊。

更多财税职场学习资讯,关注秀财网

回答:对于这个问题的回答,都是仁者见仁智者见智的事情。看到题主的需求,我的第一反应就是使用vlookup、index、lookup等函数。然而哪种更为简单呢,这个要根据实际情况而定。在某些情况下,我们甚至一个函数都不用也能快速地将表格整合在一起,比如使用复制粘贴或者Power Query。

— 1 —
VBA破解法

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Windows.Forms;
  9 using System.IO;
 10 using System.IO.Packaging;
 11 using System.Xml;
 12 using System.Xml.Linq;
 13 
 14 namespace ExcelPackageOperator
 15 {
 16     public partial class Form1 : Form
 17     {
 18         public Form1()
 19         {
 20             InitializeComponent();
 21 
 22             List<Cell> parsedCells = new List<Cell>();
 23             string fileName = @"C:UsersjaxuDesktopExample.xlsx"; 
 24 
 25             using(Package xlsxPackage = Package.Open(fileName, FileMode.Open, FileAccess.Read))
 26             {
 27                 // load sharedStrings.xml document from Excel package
 28                 PackagePartCollection allParts = xlsxPackage.GetParts();
 29                 PackagePart sharedStringsPart = (from part in allParts
 30                                                  where part.Uri.OriginalString.Equals("/xl/sharedStrings.xml")
 31                                                  select part).Single();
 32 
 33                 // load to XElement from sharedStrings.xml document
 34                 XElement sharedStringsElement = XElement.Load(XmlReader.Create(sharedStringsPart.GetStream())); 
 35 
 36                 // read all fixed text to a dictionary from sharedStrings document
 37                 Dictionary<int, string> sharedStrings = new Dictionary<int, string>(); 
 38                 ParseSharedStrings(sharedStringsElement, sharedStrings); 
 39                 
 40                 // get worksheet 1
 41                 XElement worksheetElement = GetWorksheet(3, allParts); 
 42                 
 43                 IEnumerable<XElement> cells = from c in worksheetElement.Descendants(ExcelNamespaces.excelNamespace   "c") 
 44                                               select c; 
 45                 
 46                 foreach (XElement cell in cells) 
 47                 {
 48                     if (cell.HasElements && cell.Attribute("t") != null && cell.Attribute("t").Value.Equals("s"))
 49                     {
 50                         string cellPosition = cell.Attribute("r").Value;
 51                         int index = IndexOfNumber(cellPosition);
 52                         string column = cellPosition.Substring(0, index);
 53                         int row = Convert.ToInt32(cellPosition.Substring(index, cellPosition.Length - index));
 54                         int valueIndex = Convert.ToInt32(cell.Descendants(ExcelNamespaces.excelNamespace   "v").Single().Value);
 55 
 56                         parsedCells.Add(new Cell(column, row, sharedStrings[valueIndex]));
 57                     }
 58                 } 
 59             }
 60             
 61             //From here is additional code not covered in the posts, just to show it works
 62             foreach (Cell cell in parsedCells)            
 63             {
 64                 this.textBox1.Text  = cell.ToString()   "rn";
 65                 //Console.WriteLine(cell);            
 66             }
 67         }
 68 
 69         private void ParseSharedStrings(XElement SharedStringsElement, Dictionary<int, string> sharedStrings) 
 70         { 
 71             IEnumerable<XElement> sharedStringsElements = from s in SharedStringsElement.Descendants(ExcelNamespaces.excelNamespace   "si") 
 72                                                           select s; 
 73             
 74             int Counter = 0; 
 75             foreach (XElement sharedString in sharedStringsElements) 
 76             { 
 77                 sharedStrings.Add(Counter, sharedString.Value); Counter  ; 
 78             } 
 79         }         
 80         
 81         private XElement GetWorksheet(int worksheetID, PackagePartCollection allParts) 
 82         { 
 83             PackagePart worksheetPart = (from part in allParts 
 84                                          where part.Uri.OriginalString.Equals(String.Format("/xl/worksheets/sheet{0}.xml", worksheetID)) 
 85                                          select part).Single(); 
 86             return XElement.Load(XmlReader.Create(worksheetPart.GetStream())); 
 87         }
 88         
 89         private int IndexOfNumber(string value) 
 90         { 
 91             for (int counter = 0; counter < value.Length; counter  ) 
 92             { 
 93                 if (char.IsNumber(value[counter])) 
 94                 { 
 95                     return counter; 
 96                 }
 97             }
 98             
 99             return 0; 
100         }
101     }
102 
103     internal static class ExcelNamespaces 
104     { 
105         internal static XNamespace excelNamespace = XNamespace.Get("http://schemas.openxmlformats.org/spreadsheetml/2006/main"); 
106         internal static XNamespace excelRelationshipsNamepace = XNamespace.Get("http://schemas.openxmlformats.org/officeDocument/2006/relationships");    
107     }
108 
109     public class Cell 
110     {
111         public Cell(string column, int row, string data) 
112         {
113             this.Column = column; 
114             this.Row = row; 
115             this.Data = data; 
116         }
117         
118         public override string ToString() 
119         {
120             return string.Format("{0}:{1} - {2}", Row, Column, Data); 
121         }
122         
123         public string Column 
124         {
125             get; set; 
126         }
127         
128         public int Row 
129         {
130             get; set; 
131         }
132         
133         public string Data 
134         {
135             get; set; 
136         }
137     }
138 }

Power Query秒解顾客最后消费记录神难题

小勤:大海,为提高顾客服务体验,公司现在要求除了将顾客的所有消费记录提出来外,还要求将顾客的最后一次消费记录提取出来,发给现场的销售人员,方便他们提供更好的服务。

大海:鹅……厉害了噢。开始这么高级的服务了。

小勤:是啊,但我就惨了,每天数据都在增加,每天出报表……

大海:这个问题啊,以前有些大神专门研究过,还写过不少神公式,给你看看:

澳门新萄京官方网站 107

还有最后消费金额的公式:

澳门新萄京官方网站 108

小勤:晕啊。这么复杂。

大海:真说起来,这个公式的复杂程度其实不算个大问题,更麻烦的是这个公式涉及数据量大的时候,计算起来会很卡。

小勤:那怎么办好呢?

大海:现在有PowerQuery,秒解,简单到没朋友,看啊。

Step-1:获取数据

澳门新萄京官方网站 109

Step-2:反转行

澳门新萄京官方网站 110

Step-3:对姓名列删除重复项

澳门新萄京官方网站 111

Step-4:再次反转行(如不需要保持原数据顺序,此步骤可省略)

澳门新萄京官方网站 112

Step-5:数据上载

澳门新萄京官方网站 113

小勤:666!只要点2下就好了!

大海:你说呢?以后新订单数据进来就刷一下。

小勤:嗯。这太好了,要不能这样的话,公司要真靠数据来提升服务水平可太难了。

大海:的确,服务的提升必须要有最新的数据来保证,这就是快速(敏捷)数据分析的价值啊。

一、利用函数法快速解决表格整合

如下图所示,如何快速将A表的内容快速地整合到B表中去呢?澳门新萄京官方网站 114

可以说方法非常多,常见的有函数法(vlookup函数、lookup函数、index函数等)请看下面的公式:

Vlookup函数法:

=VLOOKUP($G3,$A$3:$C$14,MATCH(I$2,$A$2:$C$2,),)
或者
=VLOOKUP($G3,$A$3:$C$14,Column(B1),)

以上函数的难点在单元格的引用,巧妙之处在于利用match函数或者Column函数作为vlookup函数的第3参数,使其变得非常灵活。

Lookup函数:

=LOOKUP($G3,$A$3:B14)

此公式的难点依然在于单元格区域的引用。澳门新萄京官方网站 115

Index函数:

=INDEX($A$3:$C$14,MATCH($G3,$A$3:$A$14,),MATCH(I$2,$A$2:$C$2,))

此函数为经典的Index match函数嵌套,难点在于引用。要写这个公式,我们不仅要掌握Index函数的用法,而且还必须熟谙match函数的技巧。

因此我认为上面的这三个函数都不是最简单的解决此问题的技巧。

看到VBA就腿软,别怕,代码都给你了,直接复制就行。
1.打开工作表,按Alt F11
2.复制以下代码,并按F5运行

  1. 使用Package类直接打开Excel文件,该类属于System.IO.Packing命名空间,必须确保工程中引用了WindowsBase.dll类库。

Power Query:2步搞定数据转换神难题

小勤:大海,刚有个同事在问我这种情况怎么办!公式怎么写啊?

澳门新萄京官方网站 116

大海:为什么又要公式?

小勤:还有大批量数据都需要做这样的迁移啊。公式不是更加自动一点吗?

大海:PowerQuery不是更加自动吗?第一反应为什么不是用Power Query?

小勤:鹅……对哦!Power Query是可以整合、转换数据,并可以自动刷新的。

大海:嗯。就这个问题来说,去掉数据获取(导入)、数据上载头尾两个简单步骤后,用Power Query只要2步就搞定了:逆透视后再透视。

Step-0:数据获取

澳门新萄京官方网站 117

Step-1:逆透视

澳门新萄京官方网站 118

Step-2:透视

澳门新萄京官方网站 119

最后,数据上载

澳门新萄京官方网站 120

小勤:真是太简单了!那如果写公式的话呢?

大海:公式的话可以看作多条件求和或多行列数据匹配的情况考虑,比如用sumifs、sumproduct、if index match等组合的方式,但都比较复杂,而且有个前提:业务经理、月份、存货分类等行列标题的内容要先生成,即结果表的框架先生成,只用公式读取其中的数值内容。如果要连行列标题(业务经理、月份、存货分类)都要靠公式整出来的话,基本没救。

小勤:好吧。有合适的工具,掌握有效的技能,真是事半功倍啊!

二、最简单的复制粘贴表格整合法

其实,我们解决此问题,完全不用写任何公式,简单的排序 复制粘贴即可解决问题。澳门新萄京官方网站 121

技巧:

1.选中A3:A14区域——按下快捷键Alt F T打开Excel选项对话框——单击高级——向下拖动最右侧的滚动条至底部——单击“编辑自定义列表”——在弹出的对话框中单击导入——确定——确定。

2.选中B表第一列中的任意单元格,按下快捷键Alt H S U打开排序对话框,主要关键字选择学号,次序选择自定义,在打开的对话框中下拉到底部,找到第1步导入的序列,单击确定,再次单击确定。这样A、B两表的顺序都一样了。

3.复制A表中的B3:C14区域到B表中的I3:J14即可。

更多精彩内容,敬请关注我的头条号:傲看今朝。对于本篇回答有任何疑问之处,欢迎大家在评论区留言,我会抽时间给大家解答问题。

回答:这个问题比较简单,用函数就可以搞定,而且是Excel函数入门。

这里介绍2个函数抛砖引玉。

  • vlookup

澳门新萄京官方网站 122

  • index match组合

澳门新萄京官方网站 123

这两个函数都可以跨表查询。

除了使用函数,透视表也可以解决该问题。

具体可以关注我的技巧文章,谢谢。

回答:这里提供两种方法来实现,想要一步到位的请使用vlookup公式,讨厌公式的请使用排序法。

首先不论是哪种方法,“姓名”是两张表共同的关键词,请先分别给两个表格按照“姓名”进行“升序”排列。澳门新萄京官方网站 124

Sub 星爷()
ActiveSheet.Protect AllowFiltering:=True: ActiveSheet.Unprotect
End Sub

  2. 通过GetParts()方法读取包里面的内容。注意LINQ语句取到的是sharedStrings.xml文件。

更多Power Query精彩实战案例

可以用Power Query来轻松迅速解决的Excel问题举不胜举,我曾经分享过一系列的实战案例,供参考:

澳门新萄京官方网站 125


澳门新萄京官方网站 126

vlookup公式法

  • 输入公式

如下图,先给C2单元格输入公式“=VLOOKUP(A2, $A$11:$B$16, 2, 0)”,然后再向下填充,将公式填充到其他单元格。澳门新萄京官方网站 127

  • 公式解释

第一个参数(A2):表示要查找的内容。我们想在第二张表格中查找“李力”的电话,因此第一个参数自然就是A2了。

第二个参数($A$11:$B$16):表示查找的范围。我们要在第二张表格中先找到“李力”,然后再找到他的电话。因此,这个参数就是第二张表中所有包含姓名和电话的单元格。

第三个参数(2):表示找到匹配项后要得到第几列的结果。这里我们要的是电话,所以是第2列。

第四个参数(0):表示要精确匹配,也就是必须找到姓名一模一样的单元格。

  • 公式注意事项
  1. 使用前一定要给两张表格按照升序进行排序。

2. 由于查找的范围是固定的,第二个参数一定要加上$号(按F4键可以快速添加$),有$表示绝对引用,也就是向下填充公式时内容不会变。

澳门新萄京官方网站 128

  3. 将读取到的sharedStrings.xml文件加载到XElement对象中,然后通过PaseSharedStrings这个自定义函数读取里面所有的si子节点并存放到一个字典里。

我是大海,微软认证Excel专家,企业签约Power BI顾问

排序法

  • 思路

首先将两张表合并成一张表。接着按照姓名进行排序,这样就会看到上下两行都是同一个人的信息。然后使用条件格式下的重复项功能标记出重复的姓名,将重复项整行复制出来。最后,给重复项的奇数行自动填充序列,偶数行保留空白,再按照序列排序就提取出了所有的电话啦。看起来似乎很复杂,其实操作起来是很快的。

  • 操作步骤

1. 如图,将两张表合并成一张,其中的关键字“姓名”放在同一列下,选中整张表,点击“数据”——“排序”,按照“姓名”列升序排列。澳门新萄京官方网站 129
2. 选中所有数据,点击“开始”——“条件格式”——“新建规则”,如图,选择为重复值设置格式,点击“格式”按钮,设置好填充颜色。澳门新萄京官方网站 1303. 条件格式标记出了所有有地址和电话的人。点击筛选按钮,选择按照颜色筛选,将这些有颜色的行全部复制出来。在F1和F3输入1和2,选中前面四个单元格,如图。澳门新萄京官方网站 1314. 向下填充,使得所有的奇数行都填充上了序列,偶数行空白。澳门新萄京官方网站 1325. 选中整张表格,按照F列升序排列,这样奇偶数行就分开了,然后复制电话到G列,删除辅助列F列即可。澳门新萄京官方网站 133

如果不想改变原有表格的顺序,可以在操作前添加好编号。操作完毕后,再按照编号排序,就可以恢复最初的顺序了。


谢谢阅读,欢迎点赞和评论,关注或点击头像可以看更多的内容哦!

回答:首先,把A表和B表合成一个文件。

澳门新萄京官方网站 134

两表中的内容格式示例如下。

A表

澳门新萄京官方网站 135

B表

澳门新萄京官方网站 136

我们在A表后面的电话一列"C2"单元格中加入函数命令,与B表中的数据进行比对“=VLOOKUP(A2,B!A:B,2,FALSE)”

澳门新萄京官方网站 137

函数命令的解释:

  1. “VLOOKUP”是纵向查找函数;

  2. ( )中的“A2”代表A表的单元格A2;“B”代表的是B表(也就是表的名称);“!A:B”代表的是在B表的A列到B列之间查找;“2”代表查找列中的第2列;“FALSE”是判断命令;

  3. 整句命令的含义是,在B表中的A列到B列之间查找,是否有A表中A2单元格的数据,如果有,那么就把第2列的数据显示在A表C2单元格中。也就是在B表中两列数据中查找有没有“张三”这个人,如果有,那么在A表的电话一栏显示B表中“张三”的电话,你要先算好电话一列是查找列的第几列。
  4. 输入函数后回车,即可得到结果,如下:

澳门新萄京官方网站 138

把鼠标移至C2单元格右下角,鼠标变成黑色十字,按住下拉,即可将函数格式复制到下面的单元格,结果如下图:

澳门新萄京官方网站 139

你可以根据表格的实际情况,修改函数中的相关字符来达到最终效果。

回答:第一反应是用VLOOKUP函数来匹配,

不过要注意的是:姓名很容易出现重复的情况

为了避免这种特殊情况,建议先用透视表,查看一下,两个表格哪些姓名有重复

然后给每位客户设置唯一的ID,

再使用ID,作为VLOOKUP函数的索引,来匹配电话号码

这样得出的结果会更加精确

回答:Index Match函数结合也可完美解决,效果类似于Vlookup,不过后者更便捷。

思路大致如下:首先将两个工作簿放到一个表中(使用Microsoft Query)。

如果有重复项的话,要提前删除重复项。

然后用Index Match函数或Vlookup函数就可以了。

get√

回答:第一反应,想到的就是引用和匹配函数,首选就是vlookup函数了。

因为A表和B表的共同点就是客户的姓名,通过姓名就可以互相引用对方表格里的地址或者电话了。

详细步骤就不说了,大神们已经给出答案了。

欢迎关注我的头条号,如果有excel方面的问题,可以私信交流,为你答疑解惑。

如果工作簿中每一个工作表都有密码,就用下面这段代码,意思都是一样的。

  4. 自定义函数GetWorksheet用来将指定的工作表xml从包中读取出来加载到XElement对象中。

让我们一起学习,共同进步!

回答:

Excel简直就是神器,实在太强大了,不仅可用来办公,还能制作游戏,甚至是进行画作创作。下边是无意中发现的,一个日本老人用Excel来画画,其所创作的画作多为日式传统风格的山水风景图。至于为何选择Excel表格类来进行创作,老人表示“成本是首要原因,专业的绘画应用通常价格昂贵并且平台门槛较高,而Excel只需要一台电脑即可。此外,它简易的操作可以让上色更为顺手”。下图为老人的画作:澳门新萄京官方网站 140澳门新萄京官方网站 141澳门新萄京官方网站 142澳门新萄京官方网站 143

回答:

Sub PJ()
    Dim sht As Worksheet
   For Each sht In Worksheets
         sht.Protect AllowFiltering:=True
         sht.Unprotect
   Next
End Sub

  5. 程序接下来的部分就是遍历工作表xml中所有的节点c,并从属性r中找出单元格的行编号和列编号。然后将准备好的数据存储到parsedCells集合中,该集合的类型是一个自定义的Cell对象,该对象包含三个属性(行编号、列编号和数据内容)和一个改写的ToString()方法,该方法用来定义数据输出格式。

先说一下我见过的最low的Excel的用法。

学校收《报考指南》书费和体检费,我收起了学生的费用去交给负责这件事的副主任。我拿着钱进屋看到副主任的桌子上,凌乱的放着用纸包起来的钱。眼睛盯着电脑,手里拿着手机,走近一看,他居然在用手机上的计算器算各班的应交费用。我当时的表情是这样的,

澳门新萄京官方网站 144

能把Excel用到这种程度我也真是服服的了。

通过上述方法我们可以发现通过密码加密工作表,其实非常不安全。很容易就破解了,下次要小心咯!

  注意数据是从字典中取出来的,字典的Key值就是节点r的子节点v的值!还记得文章一开始我们介绍的sharedStrings.xml文件和工作表xml文件之间的关系吗?这里就是借用的这个关系。另外在遍历工作表xml中的节点c时是过滤掉了那些不包含有属性t="s"的节点的,因为这些节点直接存储了数据,而不需要再从sharedStrings.xml去取。

至于最牛逼的,我没有见过,我觉得我用的就比较牛逼。

我负责学校的成绩分析,成绩出来后我可以在半个小时内,生成全校一千多学生,一百位老师的,各种成绩数据。包含每位老师的单进线、双进线、完成率、折合完成率、综合完成率,老师在全校的排名,在组内的排名,在班内的排名,各个班级的排名,各个教研组的排名。

我还可以把,全年级的课程表放到一个Excel文件内,实现班级成绩表查询,每位老师的个人成绩表查询,每个教研组的成绩表查询。

澳门新萄京官方网站,好吧,这些用法也算不上高大上,但是作为一个一线老师能够用到这样,我觉得可以啦。

我是辛哥,如果您觉得对,请您关注我,如有不当,欢迎评论区留言指教!

澳门新萄京官方网站 145

回答:

最牛的:

大三的时候参加过一个叫做企业竞争模拟大赛的活动,见到别的团队用的Excel预测表,可以把当期的财务数据录取进去,输入一些本期的决策数据,自动规划求解出一个最优解,更牛逼的是可以预测出之后八期的结果。里面用到的公式啥的就不说了,那都已经跟小儿科了,用到的数据分析工具,规划求解之类的,还有vba。简直就是一个独立的程序。

工作以后见到同事用Excel链接服务器,每天自动更新公司运营数据,生成图表,全自动哦,至今也没搞懂他那个表是怎么写的。

最low的,这个好像不太好说。比较常见的一列数据有数值有文本,有的有空格有的没空格,最烦遇到这样的数据,压根没法批量处理

回答:

各有各的牛:

有图表牛的,南丁格尔玫瑰图。

有VBA牛的,表格合并,拆分,格式化。

有函数牛的:VLOOKUP,SUMPRODUCT,SUMIFS,INDEX,MATCH等等,加上数组函数,没有做不到,只有想不到。

LOW的,

第一low,合并单元格。

第二low,数据不规范,空格、文本数字混合,日期小数点等等。

— 2 —
转化压缩包破解

  6. 输出parsedCells集合中的数据。

如果你不愿意/不会使用VBA代码,再教大家一个更容易上手的方法。
如图第二张表「销售记录」是使用密码保护的工作表。可是目前小雷完全忘记了密码,该怎么办?

  好了,程序的结构就是这样。代码可能稍稍有点长,只看主要的部分,其实还是很简单的:借用WindowsBase类库中的System.IO.Packing.Package对象来读取Excel包里的内容,然后找出sharedStrings.xml文件中的所有字符串数据并存放到一个字典中,遍历你想要操作的工作表xml文件,按单元格的位置从字典中找出对应的数据显示出来。

澳门新萄京官方网站 146

  不过还是有一个遗憾。在使用.NET现有的功能时总会遇到一些问题!该对象并没有提供对Excel文件的修改和保存功能,至少我没有发现。也就是说它可以允许我们在不调用COM组件的情况下非常方便地读取Excel文件中的数据,包括字符串和数字。另外还有一个问题就是该类库不能在Silverlight工程中引用,如果你刚好想在Silverlight工程中使用该功能那么只能想其它的方法了。不过有一个问题值得思考,那就是既然Excel是一个zip压缩包,而且里面大部分的数据都是以xml文件的格式存储的,我们何不自己写代码解压然后读取或者修改xml文件呢?甚至我们还可以把修改之后的文件重新打包还原成一个新的Excel文件,这样的话我们就可以实现Excel文件内容的修改,而且也可以在Silverlight工程中使用了。

①首先修改Excel的后缀名为「.zip」或者「.rar」,是压缩文件的格式就行。

  我会在接下来的文章中介绍如何把Excel文件作为zip压缩包来进行操作,包括读取和修改。

注意:Excel会提示你修改后缀名之后会导致文件不可用,不要理它,点击「是」。

澳门新萄京官方网站 147

②用压缩软件打开刚才创建的压缩包,从压缩包中xlworksheets路径下找到加密的工作表。因为我们只有sheet2为加密工作表,所以打开这个工作表即可。

通常,为了防止乱搞,把原始Excel文件搞乱,我建议大家把此文件复制到桌面之后再进行下一步操作。

澳门新萄京官方网站 148

06.gif

③假设你已经将压缩包中的Sheet2复制到桌面了,那么用【记事本】打开它,【Ctrl】 【F】,输入“pro”查找找到加密代码,找到之后将<>中的那一坨连同<>符号一起删掉,然后保存。

<sheetProtection algorithmName="SHA-512" hashValue="0botjAbUl3c8nnRthv/9xqEJw1FA6ErQJGpCGWzty5mQjyr89b11v9ffpnHIJOm3mk9Rv3YgnF10xQ3FEjTbvQ==" saltValue="5wf6E/o5M RHJTelz8A5hg==" spinCount="100000" sheet="1" objects="1" scenarios="1"/>

澳门新萄京官方网站 149

07.gif

④将桌面的上已经删除密码保护的sheet2直接拖到压缩的文件的xlworksheets路径下,替换到原来的sheet2。

⑤把zip文件改回.xlsx文件,然后大摇大摆去修改工作表吧,因为excel工作表保护密码消失了。

这是什么鬼原理呢?Excel和压缩包存在什么样的关系?

— 3 —
Excel与压缩包迷之关系

其实,Office 07或以上版本中微软采用的是xlsx、docx、pptx格式,它们本质上是一个压缩包,构成Excel的所有源码文件都在这个压缩包中,因此通过将其后缀更改为.zip或.rar即可提取文件。

除了上面讲到的破除工作表密码,他还有很多黑技能,比如还可以批量提取Excel中的所有图片,比如批量修改工作表名称,比如批量修改批注,比如……我们还是下回专题分析吧。

相关阅读:
加密|这些加密功能不知道,还敢学Excel??

End.

Copyright © 2016 安伟星. All Rights Reserved.

我是安伟星(星爷)
Excel发烧友
微软Office认证大师
领英专栏作者
关注我,也许不能带来额外财富
但是一定会让你看起来很酷

文章均为原创,如需转载,请私信获取授权。

本文由澳门新萄京官方网站发布于办公软件,转载请注明出处:澳门新萄京官方网站:你见过的excel最牛和最lo

关键词: