为什么会有这本书首先说一说这本书的来历, 作者Felix是这个名为用来让和Excel对话的那个开源库工具的工具创始人者。第一版是在2021年面世公布出来出的, 然而呢竟然过了五年就产出出现了第二版。在这五年的时间当中时里发生了好多不少的事情状况情景, 微软官方特意专一推出呈现了带有in Excel功能, 这一功能还把AI带动带火了, 并且呢这个AI也迈入进入到了Excel里面当中。所以呢这般, 第二版可不是简简单单仅仅是做做修修补补修修整整的工作而已, 而是增加添加添加上了三个全新崭新的章节和一个附录, 专门特意专门是用来讲解讲述这些新出现的东西事物的。书籍总共四百零八页, 被划分成六个部分。待读完以后, 我的感受是: 这并非是那种能让你从起始开始学习的教材, 而是一本会向你阐释“于Excel的情境当中, 究竟能够对你起到什么作用”的书籍。第一部分入门——为什么要学书的第一部分所讲述的内容, 乃是那最为基础的事物, 它涉及到为何要运用处理Excel, 还关乎了怎样去搭建开发环境的方方面面, 以及其基本语法。值得玩味的是, 作者于第一页便阐述了一个看法: 「Excel其自身便是一种编程语言」。你仔细思量, 你于单元格之中录入SUM(A1:A4), 此单元格的值依存于其他单元格, 其他单元格却又依存于更先前的单元格——这难道不是编程里的嵌套函数调用吗? 2020年微软推出了函数, 致使Excel能够运用自身的公式语言去编写可复用函数, Excel的产品负责人径直表明这是使Excel成为“真正编程语言”的最后一块拼图。但问题恰恰出在这儿。那些使用Excel的人, 其中大多数并非程序员, 而是交易员, 是会计师, 是工程师。他们的目标在于解决业务方面的问题, 对于软件开发里的那些“最佳实践”并不怎么在意。于是乎, 在Excel文件当中, 经常会出现这样的状况: 输入这一行为, 计算这个动作, 输出那段流程全都混杂在同一张表格之上, 关键的数据没有任何的保护措施, 其他人要是拿到这份文件, 根本就不清楚哪一步应该先去做。「VBA的尴尬」: Excel所自带的自动化语言VBA早就已然停止了进化。而在这一边, 科学计算的生态却是越来越强, 2005年NumPy出现了, 2008年的时候也出现了, 一步步地渐渐成为了数据科学领域之中的主流工具。作者表述得极为直白, 对于专业程序员以及偶尔会去写几行代码的初学者而言都具备着吸引力, 专业程序员喜欢这种喜欢源自于它什么都能够去做, 初学者喜欢它原因在于它容易进行学习。还有一个细节, 我印象是极为深刻的: 它强制规定你通过缩进这个方式来表示代码块, 然而VBA却不存在这样的强制要求。这便意味着, 代码在本质上相较于VBA代码而言的时候, 是更容易去得以阅读的, 同时也是更容易进行维护的。此刻你仔细去想一想, 当半年时间过去之后, 你再回头去查看自己所编写的代码, 那种缩进显得杂乱无章的VBA代码以及结构呈现清晰状态的代码, 究竟哪一个是更容易让人看懂的呢?第二部分入门——Excel的替代方案第二部分讲NumPy和。这是全书最核心的内容之一。说什么是“NumPy呢”, 简要来讲, NumPy是用于开展科学计算的基础库, 其最为关键的内容称作“数组”, 也就是array, 你能够将其理解为Excel里的一列数据或者一个区域。NumPy存在两个重要的观念, 所谓向量化以及叫做广播, 谈到向量化它表达的是, 你能够针对整个数组进行操作, 而并非如同在Excel里那样把公式朝着下面拖动, 广播指的是不同形状的数组也能够一同进行计算, 这两个观念在其中也会不断被用到。“是什么”是这样一种存在, 它属于数据分析库范畴, 其自身具备被称为核心的数据结构两组, 其中一组维度为一, 呈现出与Excel当中的一列相似样貌, 而另外一组维度为二, 外形如同Excel里的一张表格的形态, 在此之上, 其所拥有的最大优势之处在于存在着“向量化操作及数据做那种数据进行了对齐的情况”这样子的情况。打个比方, 你于Excel之中针对一列数据开展清洗操作, 或许得编写一堆公式, 还得拖来拖去, 然而在那里, 一行代码便能将其搞定, 何况处理几十万行数据之时的速度, Excel根本无法与之相比。书中介绍了完整的工作流, 其中包括清洗数据, 此为工作流的一部分, 接着是准备数据, 这也是工作流的环节之一, 之后要用聚合以及描述性统计来理解数据, 这同样属于该工作流, 最后进行导入导出, 这是工作流的最后步骤。还有两个重要的聚合方法, 分别是以和, 有过使用Excel数据透视表经历的人想必对此不会感到陌生, 而且里也具备类似的功能。第三部分 in Excel——微软官方支持这是第二版新增的重点内容。以往要是在Excel里使用, 那得借助如此这般的第三方工具。如今微软自行将其集成到了Excel之中。你于Excel的公式栏里输入PY, 便能够撰写代码。代码是在微软的云端运行的, 无需你自行安装环境。并且加以配合, 哪怕你是新手, 也能够凭借自然语言让AI帮自己编写代码。这部分里作者把时间序列分析这一章进行了挪动, 如此一来你能够直接于Excel之中展开对比, 具体是: 针对同样的一个时间序列分析任务, 采用相应方式该如何去做, 而运用Excel又该如何去做, 这样一种对比学习的方式颇具实用性。第四、五部分和 Lite——把Excel变成的前端第四部分讲第五部分讲 Lite。那是作者自行创建的开源库, 其用处是使得二者与Excel相互调用, 你能够用以对Excel文件进行读写操作, 还能够于Excel当中运行代码, 甚至能够将Excel当作程序界面使用——点击一下按钮就能自行执行一段脚本, 它对macOS也予以支持。“Lite”属于第二版新添的内容, 其具备的特性在于无需进行本地安装, 而是借助技术手段直接于浏览器当中运行, 你只需从Excel的加载项商店对Lite予以安装便可以, 代码存放于工作簿里, 打开后即可使用, 它支持macOS, 甚至还支持Excel网页版。对好多人而言, 这可是个不错的消息。以往, 要是你想运用处理Excel, 那就得先去安装, 安装库, 配置环境, 好多人就在这一步卡住, 然后就选择放弃。Lite把这些全都省去了。第六部分不打开Excel读写文件第六部讲述的是, 不借助打开Excel, 就能够实现读写Excel文件的方式。有时你并非要将Excel界面予以开启, 仅仅是期望对一批文件展开批量处理, 比如说把100个Excel文件合并为一个。此时采用或者直接针对文件实施操作的方式, 会比对Excel逐一展开处理的速度快出许多。是作者把这部分放置到了最后, 他讲这样子安排有着这样的好处, 前面的几部分所讲述的全都是“在Excel应用里和交互这个内容”, 它属于这本书的核心部分, 而直接操作文件是另外一种截然不同的思路, 将这部分放置到最后是比较恰当合适的。第二版还更新了什么除了上面说的新章节第二版还有几个重要的更新一点感受这本书适合什么样的人呢? 我认为是那些已然会运用Excel去进行数据分析, 然而却发觉Excel愈发难以满足需求的人。比如说, 你时常处理几十万行的数据之时, Excel卡顿得厉害又或者你每日需要耗费大量时间去实施重复性的Excel操作再或者你想要借助机器学习模型来剖析Excel里所包含的数据, 却不清楚该从何处着手。读完这本书, 从中得到的最大收获并非是学会了某个特定函数该如何运用, 毕竟那些通过网络查找就能够获取答案, 而是确立了一个关乎认知的框架, 即「在何种场景之下使用何种工具」。具体而言, 何时应当直接于代码之中对数据进行处理, 何时适宜借助Excel在表格里撰写内容, 何时需要让Excel相互进行调用, 以及何时能够直接对文件予以操作却无需打开Excel。在书里头, 有那么一句话, 它讲得格外不错: Excel与和的彼此结合, 致使了数据分析师跟数据科学家二者之间的界限, 正变得愈发模糊起来。把这样一句话放置到如今来进行查看, 确实是正在转变成为现实的。