条件格式是Excel中最为强大的功能之一,能够让我们不使用VBA代码,就能得到很多特殊的效果,例如对满足设定条件的指定单元格设置特定的格式,而在条件不满足时又能还原为原来的格式。...应用2:在发生错误时进行警告 下图9所示是我们在《一起学Excel专业开发11:2个常用的数据验证技巧》中创建的级联列表。 ?...图9 然而,当我们修改了列C中单元格的内容后,列D中的数据并不会随之修改,这明显与分类不匹配,如下图10所示。 ? 图10 我们可以使用条件格式来提示这类错误。...如下图11所示,添加一个辅助列,用于检查每行中选取的分类是否与其内容一致。...在单元格B3中的检查公式为: =IF(ISBLANK(E3),FALSE,ISERROR(MATCH(E3,INDIRECT(D3),0))) 将其下拉至单元格B6。
准备用于演示的数据框架 这里将使用一个简单的示例,你可以到知识星球完美Excel社群下载Excel示例文件或者自己按照下图所示创建一个Excel文件,以方便进行后续操作。...虽然在Excel中这样做是可以的,但在Python中这样做从来都不是正确的。上述操作:创建一个公式然后下拉,对于编程语言来说,被称为“循环”。...在Python中,矢量化操作是处理数据的标准方法,因为它比循环快数百倍。后续我们会讨论为什么它要快得多。...一旦我们将Excel表加载到pandas中,整个表将成为pandas数据框架,“出生日期”列将成为pandas系列。因为我们不能循环,所以需要一种方法来访问该系列中的字符串元素。...让我们在“姓名”列中尝试一下,以获得名字和姓氏。 图7 拆分是成功的,但是当我们检查数据类型时,它似乎是一个pandas系列,每行是包含两个单词的列表。
这里写图片描述 ---- 数据描述与数据模型 理解数据描述 我们在现实生活中描述一个事物是非常简单的,看到“一棵树”,就说是“一棵树”。 但怎么把“一棵树“在计算机描述起来呢??...上边已经说了,当我们想在计算机上存储现实事物的数据时,需要先抽象成概念模型。将概念模型转换成DBMS支持的数据模型,就可以把事物存储到计算机中!...也就说:在改变内部结构的时候,只要不会触及外部的数据时,外部的数据并不需要做改变。两级映像概念的提出也就是程序中耦合的问题! ---- 为什么我们要学习数据库关系运算?...笛卡尔积简单来说就是两个集合相乘的结果。 为什么查询数据库会出现笛卡尔积 前面的博文已经说了,关系模型是关系模式的集合。...数据库中的两张表就相当于两个集合,当我们使用SELECT语句查询数据的时候,DBMS内部就是以集合相乘的运算得出结果 笛卡尔积的产生过程 我们发现:笛卡尔积的基数是每个集合的元组相乘! ?
现在的PETRAS是一个简单的工作簿,包括一个用来进行工时输入的工作表和一个隐藏的用于存放数据有效性列表的工作表。用户每周进行一次工时输入,然后手工将该工作簿复制到某中心位置以便进一步处理。...列D和列E用于创建数据表,并且可以使数据合并操作更简单,避免让用户重复输入每行的数据。 样式 在工作表中,将不同的样式应用于行列标题、输入区、公式结果区、以及用户界面以外的区域,使工作表一目了然。...图3 预定义名称 在工作表的“总小时数”列,使用了一个名为forTimeDiff的命名公式,如下图4所示。 ?...当前行中所需数据全部输入完成后,还需要对开始时间和结束时间进行比较;当结束时间大于开始时间时,表明这两个时间在同一天,直接用结束时间减去开始时间得到工作时间;如果结束时间小于开始时间,则表明工作开始于前一天...数据验证 在PETRAS中,每个输入单元格都使用了数据验证。其大多数用于数据验证列表内容都存储在隐藏的工作表wksProgramData中,如下图5所示。 ?
而我的目标,则是让这个过程稍微轻松一些。 日常跟踪 一开始,我用一个简单的excel表来跟踪我的新年计划。...在确认了简单跟踪机制行之有效后,我决定作出两个调整,主要是增加了几个重要的日常生活项目: 在线工作效率:此项目的在于衡量我在计算机旁花销时间的有效性。...最后,我在工作有效性页里面,加了一个核心项,即工作有效性分级。我用一个简单的公式,把所有因子的分数值都纳入统计,从而得到了一个全面的每日工作有效性分值。...如果你相信第一个分组(从0到3)展示了没有记录表时我能达到的效率,第二个分组(5以上)展示了有记录表时我的效率,那么结论就显而易见了。效率评级作用机理如此简单直接。...幸运的是,当我开始使用这些表时,也就是打开这些表的那一天,我没有多想就决定要在每一项上都拿到至少1分的记录。而这却奠定了简单的excel表具有如此魔力的基础。 ?
之前在Excel内部的分享交流群和别的讲师探讨了多条件匹配有哪些实现方式。 围观的市民刘先生表示:我活了二十多年,看见斗图的比较多,这么无聊斗Excel使用技巧的第一次见! 为了更好的装逼,哦!...不管那么多了,反正就是原表是名称、城市、评分表。 现在需要根据两个条件得到评分! 我是轻度强迫症患者,想到什么就想能穷尽解决方案,所以写这个文章即为分享,也为自己收藏存档,部分实现方式较难理解。...大大的提醒:1、4、6、7方法比较简单,只是想了解解决方案的,看这四个中任意一个就好啦,想拓展编程思路的,可以都看看!...然后Vlookup根据1查找,则新的辅助表只有两个条件都相等的时候才是1,否则是0 那只有一个返回值就是6啦! 本案例的精髓在于深刻理解数组是如何重构及重构后的表是什么样子的!...基础函数介绍 =Match(查找什么,在哪个列找,0)返回第一个参数在第二个参数中的位置 =Index(列,返回该列第几个值)返回某个列中第N个值 两个组合就是Vlookup的应用咯! ?
2.注册表 对于与上述位置不同的加载项,Excel将在注册表中查找。当单击“浏览”按钮以查找加载项时,会在此处添加键。...所需的值只是加载项的路径及其名称,如下图3所示。 图3 选择了哪些加载宏 在注册表的另一个位置,Excel会记录选择了哪些加载项(在加载项对话框中检查)。...Excel可以打开此类文件,但无法安装zip文件夹中的加载项。并且压缩软件会在关闭后立即删除Temp中的该文件夹。然后,会在Excel中得到一个指向已安装加载项的指针,该加载项没有随附的xlam文件。...每次Excel启动时,都会弹出一个找不到加载项的警告消息框,如下图6所示。 图6 因此,为什么代码会显示一个如下图7所示的消息框。...最后一行关闭加载项打开的所有工作簿。为什么?因为当没有活动工作簿时你无法打开加载项对话框,显然这也会阻止Excel通过VBA将新加载项添加到列表中。
检查您遇到的错误是否在上一个版本中已修复。 开发版本通常每天上传到 anaconda.org 的 PyPI 注册表的 scientific-python-nightly-wheels 索引中。...项目治理 pandas 项目自 2008 年成立以来一直在非正式使用的治理流程在项目治理文件中得到了正式化。...Elizabeth 58 female 要手动将数据存储在表中,请创建一个DataFrame。...一个DataFrame是一个可以在列中存储不同类型数据(包括字符、整数、浮点值、分类数据等)的二维数据结构。 它类似于电子表格、SQL 表或 R 中的data.frame。...当特别关注表中位置的某些行和/或列时,请在选择括号[]前使用iloc运算符。 在使用loc或iloc选择特定行和/或列时,可以为所选数据分配新值。
- 1 - 首先,说一下为什么不用合并查询。 这其实源于一个实际的工作问题,简化后的情况如下:先按合同号匹配数量,如果合同号没有匹配到,再按计划号匹配。...我们先用下面这个最简单的例子来看看: 1、表筛选法 表筛选法其实最容易理解,即用Table.SelectRows函数,从表里筛选出符合条件的数据,然后按需要取其中的1条(如第1条)即可: 但这里面其实有一点儿不好的地方...,即当匹配不到内容的时候,得到的结果是错误: 虽然,Excel里用VLOOKUP的结果也是错误,虽然,即使得到错误上传到Excel中也会显示为空,但是,我们其实还是可以再改进一点点儿,让它直接显示为空...理解PQ里的数据结构(四、根据内容定位及筛选行)》里,其实讲过这种方法: 用在模拟VLOOKUP上,这个写法最简单: 但,使用这个写法的时候,一定要注意一个问题,即,如果存在多个符合条件的内容...如果希望能在存在多个符合条件的内容时,仍使用该方法,可以先对匹配所引用的表(如本案例中的V源表)去重,这样就能避免问题的出现,即公式修改如下: - 3 - 有了上面模拟VLOOKUP
例如,我们在一张表格的 A1单元格中输入小写的“excel”,然后在目标单元格中输入“=UPPER(A1)”,回车后得到的结果将会是“EXCEL”。...比如我们要想从A5单元格中提取“武汉”两个字时,就只须在目标单元格中输入 “=MID(A5,4,2)”就可以了。意思是:在A5单元格中提取第4个字符后的两个字符,也就是第4和第5两个字。...我们看到,一个没有动用Excel图表功能的纯文本直方图已展现眼前,方便直观,简单明了。...三十一、在多张表格间实现公用数据的链接和引用 也许我们会奇怪,为什么每次打开Excel,软件总是打开了一个由3张空白表格组成的文件组呢?...,工作区中的表格会以15%的比例放大或缩小,而只有当我们按住Ctrl键,再滚动鼠标滚轮时,工作表才会像往常一样上下翻页。
本身是以行列表作为核心概念,比如说 Excel 中的透视表,在 pandas 中就有一一对应,本系列已经讲解过。...---- 透视表的灵活性 当我们拿到一份数据时,经常需要不断改变条件对数据进行观测,如下一份某水果的销售情况: 一行数据表示,某天(date)在某地区(region)此水果的某个品种(type)的价格...处理 本文需要导入的库是这些: 首先使用 pandas 得到透视表的结果,这非常简单: 行3,4:为了突出可以变化的东西,这里定义2个变量 通过修改2个变量,我们能得到对应的结果数据 但是这远远不够...我们稍微加工一下这个过程,定义一个函数: 现在好一些,但是改变条件仍然需要修改代码 简单加上一个装饰器即可: 行1:@wg.interact 是一个装饰器,打到我们的自定义函数上 其中每个命名参数为自定义函数上的参数...10种选择,界面同样可以看到下拉框 现在,我们只需要简单从下拉框选择条件值,下方的结果会马上刷新,这与 Excel 中的透视表一模一样 不过,大家都知道 Excel 中还能根据透视表制作透视图,这里我们同样可以制作出动态变化的图表
对于单表简单操作,上面的万能框架+聚合函数基本可以涵盖,但是在实际工作中,由于业务复杂性,不可能所有数据都放在一张数据表中,这样会造成资源的浪费。...连接条件较为简单,这里首先说明,即两个表连接在一起时需要满足的条件,一般为两个表中对应字段的值相等; 对于表的连接语句有四种:内连接inner join、全连接full join、左连接left join...我们来简单理解一下: 内连接:基于连接条件,两表都存在的数据将被提取出来显示在同一行; 全连接:基于连接条件,两表都存在的数据将被提取出来显示在同一行,其他数据也会被提取出来,缺失部分使用空值填充; 左连接...:基于连接条件,左表数据作为标准,右表也存在的数据将与左表显示在同一行,否则将使用空值填充; 右连接:基于连接条件,右表数据作为标准,左表也存在的数据将与右表显示在同一行,否则将使用空值填充; 内连接和全连接是两个极端...当我们拿到一个取数的需求时,首先列出我们的万能框架,有了框架之后,就有了思路。
例如,兄弟姐妹分享一块巧克力就是一个简单的优化问题。我们在解决这个问题时不会想到使用数学。另一方面,为电商制定库存和仓储策略可能会十分复杂。...以数学公式表达: 3X+2Y ≤ 12 而且,A 的生产单元数只能是整数。 因此我们还有另外两个约束条件,X ≥ 0 & Y ≥ 0 为使该公司实现利润最大化,必须满足上述条件。...当我们把所有不等式都表示在图中时,得出的交叉部分就是可行解域。可行解域就是模型可以取值的范围。它会给出最优解。 让我们通过举例来理解该方法。 举例:一位农民最近获得了一片 110 公顷的土地。...在解出目标函数时,您将得出每周受众人数的最大值为1052000。您可以按照该 教程 来解该方程式。欲在 excel 中解决该线性规划问题,请参考此 教程。 5....您的 solver 已安装在 excel 上。您可在数据表中检查。 现在 excel 中输入您的数据。在excel 中输入数据后,我计算了 C3:F3 的总和。其它类似。
此时,仅使用了SUMPRODUCT函数的SUM部分。 7. 在Excel 2003或更早版本中,SUMPRODUCT函数可用于的多条件求和和计数。 8....但为什么还要使用SUMPRODUCT函数呢?下面是一些理由。 1. 在Excel 2003及以前的版本中,没有COUNTIFS函数和SUMIFS函数。 2....在使用Excel 2007及以后的版本时,可能会碰到在Excel 2007发布以前已经创建的带有SUMPRODUCT函数的公式的工作表。 4....示例中,添加了两个条件并创建了交叉表,在单元格F3中创建公式后,向右向下复制到单元格区域F3:G5。 ? 图12 使用双减号将TRUE和FALSE转换成1和0 首先,注意下面两个问题: 1....图16:SUMIFS函数接受包含比较运算符和要处理的数值的单元格作为条件。本示例中,要求在两个日期之间的条件,单元格A2中包含大于等于某日期的条件,单元格B2中包含小于等于某日期的条件。 ?
感谢老师让我得到了批量将excel文件存入mysql数据库的单子,本来以为很简单的单子,但是遇到几个我忽略的问题,让我着实头疼了一番,看来还是要多学习才行。...py文件打包为exe 看起来就是如此简单 不过经过进一步沟通才知道: 是有很多excel文件存在不同级别的文件夹里,每个excel里面又有很多的表数据,幸好表的格式基本相同。...批量读取excel表内容,并简单处理用pandas更加的方便一点,果断选择pandas,不过to_sql命令我比较陌生,又去学习了一番; 打包工具,也比较简单pyinstaller,网上教程一大堆,没啥可说的...【代码实现】 首先我想到的是编一个函数,来找到目录内所有的excel相关文件的位置,这里我用的是pathlib2的Path下的rglob函数,直接可以选出目录内包含子文件夹下的所有符合条件的文件(这里要感谢船长的提醒...因为我要得到红色字对应的信息,所以我用了2个pd.read_excel()来实现各自的目的,实现以后程序运行竟然很慢很慢,想了很多方法———多线程,更改处理数据方式都没有让程序快起来,为什么这么慢呢?
这篇文章将详细讲解COUNTIFS/SUMIFS函数的运行原理,特别是将包含多个作为条件的元素的数组传递给一个或多个Criteria_Range参数时。 先看一个示例,如下图1所示的数据。 ?...其实,这个公式返回的结果是:列B中是“Male”且列C中是“Sea lion”或者列B中是“Female”且列C中是“Mite”的数量。从图1所示的表中可以看到,仅第12行和第14行满足条件。...这个数组是怎么来的? 这里的关键是之前提到的元素“配对”。当两个(或多个)数组具有相同的“向量类型”(即要么都是单列数组,要么都是单行数组)时,Excel将对每个数组中相对应条件进行配对。...并且,第三个数组中的第三个元素“Roleplaying”在第一个数组中并没有相配对的元素。 然而,Excel会继续构建适当大小的数组以容纳预期的返回值,即上面看到的2行3列的数组。...实际上,对于两个(或更多个)不同维度的数组,Excel解决冲突的方法是人为地增加两个中的较小者,以便使其尺寸等于这些数组中的较大者。
这是本系列的第1部分,这里将使用Python创建一个包含公式的Excel电子表格。 你可能已经熟悉,将某些数据转储到Excel文件中的更简单方法是使用pandas库:pd.to_Excel()。...方法add_sheet()在该Excel文件中创建一个新的工作表/选项卡。...我们可以通过向方法中传递字符串值来指定工作表名称。注意:虽然没有名为“Sheet2”的选项卡,但当执行第3个add_worksheet()方法时,会创建一个名为“Sheet3”的选项卡。...在Excel中打开它,将在“input”工作表的A1单元格中看到“hello Excel”,如下图5所示。...创建公式并链接到单元格 使用xlsxwriter库编写Excel公式非常简单,我们只需在字符串中写入完全相同的Excel公式,然后.write()写入文件。
文章背景:在使用文件夹的方式批量导入多份Excel文件时,由于Excel文件中存在隐藏的筛选行,所以导致数据重复录入,后来看了赵文超老师的一篇文章(见文末的参考资料1),对这一问题有了新的认识。...筛选后的数据如下: 在使用筛选后,Excel会自动产生一个名称_FilterDatabase,它代表了自动筛选的区域。由于这个区域是隐藏的,所以经常会被忽略。...2 通过Excel工作簿导入 在Power BI中,通过Excel工作簿导入上述的销售数据表,一切正常。...这时,如果直接将Data列展开,则会把工作表中的数据和命名区域中的数据都展开,也就造成了数据的重复。而当我们有多份Excel文件合并时很难发现这个错误。...得到的结果如下: 展开Data后的结果如下: 结论二:当通过文件夹汇总多份Excel文件时,一定要注意检查Excel文件中是否存在命名区域,存在的话要通过筛选排除出去。
Pandas 在Pandas中,可直接对数据框进行条件筛选,例如同样进行单个条件(薪资大于5000)的筛选可以使用df[df['薪资水平']>5000],如果使用多个条件的筛选只需要使用&(并)与|(或...缺失值处理 说明:对缺失值(空值)按照指定要求处理 Excel 在Excel中可以按照查找—>定位条件—>空值来快速定位数据中的空值,接着可以自己定义缺失值的填充方式,比如将缺失值用上一个数据进行填充...Pandas 在pandas中可以使用data.isnull().sum()来检查缺失值,之后可以使用多种方法来填充或者删除缺失值,比如我们可以使用df = df.fillna(axis=0,method...数据透视表 说明:制作数据透视表 Excel 数据透视表是一个非常强大的工具,在Excel中有现成的工具,只需要选中数据—>点击插入—>数据透视表即可生成,并且支持字段的拖取实现不同的透视表,非常方便,...vlookup 说明:利用VLOOKUP查找数据 Excel VLOOKUP算是EXCEL中最核心的功能之一了,我们用一个简单的数据来进行示例 ?
上图我们已经演示了“相对引用”和“绝对引用”的功能,那么到底什么是“相对引用”?什么又是“绝对引用”呢?下面我们分别对其下一个定义。 在定义这两个概念之前,我们先来说明一下excel中的行与列。...但是我们在表述某一个单元格时,常喜欢用类似“C2”的形式,表示某一个单元格,即把列写在前面,行写在后面。 相对引用:针对某一单元格引用另外一个单元格的情况,不添加“ $ ”符号时,就表示相对引用。...2)利用九九乘法表讲述“绝对引用”和“相对引用” ① 最简单的一种 从上述案例可以看出,我们在B41单元格输入了“=A41*B40”这个公式,这个公式表示B41单元格分别引用了“A41和...B40”这两个单元格,但是为什么是在A和40前面加“ 我们可以先想象一下,当单元格B41从做左右拖拉填充的时候,是不是保持了“A41行不变,B40列变化”,因此40前面需要加一个“”符号...⑥ subtotal 注意:这个函数可以实现我们之前学过的很多函数的功能,用起来也很方便,由于该函数涉及到的知识点太多,这里简单介绍一下。我们在excel中输入该函数,会有这么多提示: ?
领取专属 10元无门槛券
手把手带您无忧上云