引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。...本次的练习是:编写一个公式,用于显示数据(Data)列中与当前选定查找项目匹配的项目(Item)列的第n个最大的唯一值。 示例数据如下图1所示。...单元格D2、E2中的数据可以输入,公式根据其数据返回相应的结果。根据不同的输入数据,公式的结果应该如下图2所示。 图2 规则: 1.公式中不能使用整列引用。 2.不能使用中间公式。...4.无论数据放置在工作表中的任何地方,公式都能正常运行。 5.除了规定的名称“i”“d”“n”“l”外,不能有其它硬编码引用。 请写下你的公式。 解决方案 公式1:数组公式。...=LARGE((MATCH(l&d,i&d,)=ROW(i)-MIN(ROW(i)-1))*(i=l)*d,n) …… 上面列出的大多数公式都没有进行详细的解析,有兴趣的朋友可以参照前面文章给出的方法逐个研究
引言:本文的练习整理自chandoo.org。多一些练习,想想自己会怎么解决这个问题,看看别人又是怎样解决的,这样能够快速提高Excel公式编写水平。...本次的练习是:在《Excel公式练习:根据条件获取唯一的第n个值》中,编写了一个公式用于显示数据(Data)列中与当前选定查找项目匹配的项目(Item)列的第n个最大的唯一值。...然而,如果n是6,而我们只有3个唯一值,那么编写的公式应该返回0。 这里,你的任务是修改这些公式,以便在上面所说的情况下,返回最小的非零唯一值。 示例数据如下图1所示。...单元格D2、E2中的数据可以输入,公式根据其数据返回相应的结果。根据不同的输入数据,公式的结果应该如下图2所示。 图2 规则: 1.公式中不能使用整列引用。 2.不能使用中间公式。...4.无论数据放置在工作表中的任何地方,公式都能正常运行。 5.除了规定的名称“i”“d”“n”“l”外,不能有其它硬编码引用。 请写下你的公式。 解决方案 公式1:数组公式。
我们要获取: 1.指定顾客对应的购买数量中,出现次数最多的数量(最常购买的数量值)。 2.指定顾客对应的购买项目中,出现次数最多的项目(最常购买的项目)。 我们以G列中指定的顾客为例,来编写公式。...第1个问题 首先获取指定顾客对应的购买数量组成的数组,然后取其中出现最多的数值,因此,公式为: =MODE(IF(G4=B4:B270,D4:D270,"")) 这是一个数组公式,输入完成后要按Ctrl...这个问题我只想到了这个公式。...第2个问题 首先找出指定顾客对应的购买项目,不对应的位置使用行号填充,然后查找这些项目所在的位置,查找到的相同位置最多的就是最常购买的项目位置,最后将其取出来,公式如下: =INDEX(C4:C270,...你还有更好的方法吗?欢迎留言分享。 注:可以在知识星球完美Excel社群中下载本文配套示例工作簿。
现在,想从该区域中提取单词并创建唯一值列表,如列B中的数据所示。 ? 图1 可以在单元格B1中编写一个公式,向下拖拉以创建该唯一值列表。如何编写这个公式呢? 先不看答案,自已动手试一试。...公式解析 公式中的Arry1、Arry2、Arry3是定义的三个名称。...现在,仅将上述公式应用于Data中的第一个单元格,以了解其工作原理。...(2)下面,要考虑从数组中创建唯一值列表。我们有一些从列表中创建唯一值的标准公式,例如下图3所示。 ?...注意,在上述构造中,前面的部分为N(IF(1,是为了强制INDEX返回数组,详细原因参见《Excel公式技巧03:INDEX函数,给公式提供数组》。 2.
学习Excel技术,关注微信公众号: excelperfect Excel数组公式能够做很多令人惊讶的事情。除了在输入完后要按Ctrl+Shift+Enter组合键外,与普通公式一样。...本文主要研究使用用户定义函数的数组公式。 有两类数组公式: 单单元格数组公式输入在单个单元格中,循环遍历其参数(通常是计算的参数)并返回单个结果。...每次的VBA读写调用都有相当大的开销,因此一次读取和写入大块数据通常要快得多。 因此,应该让VBA用户定义函数在单个块中尽可能多地读取数据并将数据尽可能大地返回到Excel。...而输入多单元数组公式做到了尽可能多地写入数据到Excel,最小化了调用开销,并且通常它可以一次读取数据并多次重复使用。 如何创建多单元格数组公式?...我们沿用《Excel VBA解读(133):编写高效的Function过程——让代码运行更快的技术》中的示例,创建自定义函数的数组版本AverageTolE函数,功能是找到除多个误差之外的数据的平均值。
在单元格H1中的公式比较直接,是一个获取列表区域唯一值数量的标准公式: =SUMPRODUCT((Range1"")/COUNTIF(Range1,Range1&"")) 转换为: =SUMPRODUCT...Range1,""",COUNTIF(Range1,"<"&Arry4)),0)) 实际上,这是提取唯一且按字母顺序排列的值的标准公式构造...,唯一区别是提取值的区域不是单列、一维区域,而是二维区域。...,详情可参阅《Excel公式技巧03:INDEX函数,给公式提供数组》。...好了,现在就可以使用我们掌握的常用的适用于一维区域的技术来操作该数组了! 4.
Arry1 引用位置:=ROW(INDIRECT("1:"&COLUMNS(Range1))) 名称:Arry2 引用位置:=ROW(INDIRECT("1:"&ROWS(Range1))) 单元格H1中的公式是一种用于确定单元格区域内不同元素数量的标准公式结构...通过在第二个参数指定的值后添加一个空字符串,Excel将空单元格解析为空字符串而不是0,因此公式: COUNTIF(Range1,Range1&"") 解析为: COUNTIF(Range1,{"1",...现在,我们需要一种方法,该方法可用于从该数组中标识唯一值并将它们按降序排列,即: 6.0000002 5.0000005 3.000001 3.00000025 3.00000016666667 1.00000033333333...为了将我们的数组限制为仅考虑唯一值的数组,公式中使用以下部分: FREQUENCY(0+(Range1&0),0+(Range1&0)) 将转换为: {3;15;0;0;3;0;0;6;0;0;0;0;...这里,确保我采用了必要的技术来强制INDEX对一组值进行操作(更多信息,请参见《Excel公式技巧03:INDEX函数,给公式提供数组》),因此: INDEX(FREQUENCY(0+(Range1&0
我们通过公式中的追踪单元格,我们可以看到指向了非常多的单元格,说明虽然公式只有简单的目的港+本地费用,但是实际上在内部具有一整套计算逻辑。...我们来看下这部分数据的引用。 ? 体积,实重引用的是单元格数据。 ? 而RT比这个是什么情况呢?1:1000这样的格式也能被直接用于运算吗?...那我们来看下这个RT比的1:1000到底是个什么情况,实际上这个是数字显示的格式问题。 我们通过自定义格式看到,实际数字就是1000,只不过被设置成了1:1000的显示效果。...此外这些kg,CBM等也都是通过自定义格式来实现的。这样既能保证可视化的需求,也能保证数据运算的正常进行,而不用在文本格式的基础上进行转换和提取。 ? 接着我们继续看,汇率这部分。...在这份文件中,我们运用了表格名称,自定义名称,Power Query网抓,单元格自定义格式,下拉式列表框等Excel技巧,从而使得在计算单元格显示的公式从业务逻辑上进行简化展示。
前言 xresloader 是一组用于把Excel数据结构化并导出为程序可读的数据文件的导表工具集。它包含了一系列跨平台的工具、协议描述和数据读取代码。...同时增加了简单的词法解析,以便支持函数式的验证器配置。 以下有一些新的验证器用到了这个大重构。 唯一性验证器 我原来是推崇用Excel自带的重复检查功能来检查重复数据。...自定义验证器 自定义验证器主要用于重复使用一些复杂组合的验证规则。...这可以有效的减少一些Excel误操作带来的空数据项。(比如漏删除空单元格,不小心设置了某个空数据行的单元格格式)。...这样对于一些经常加载的数据可以大幅减少IO和建索引的开销。 特别是有了自定义验证器以后。可以让用于验证的数据尽可能命中缓存。
Excel文件是有关销售的数据,长这样: 你也可以通过下列视频的方式,自己生成 一、关联公式:Vlookup vlookup是excel几乎最常用的公式,一般用于两个表的关联查询等。...利润一列存在于df2的表格中,所以想知道df1的每一个订单对应的利润是多少。用excel的话首先确认订单明细号是唯一值,然后在df1新增一列写:=vlookup(a2,df2!...#可看到销项税有负数,一般不会有这种情况,视它为异常值。 sale.describe() 需求:用0代替异常值。...["利润"],bins,labels=groups) 十四、根据业务逻辑定义标签 需求:销售利润率(即利润/订单金额)大于30%的商品信息并标记它为优质商品,小于5%为一般商品。...比如一个很简单的操作:对各列求和并在最下一行显示出来,excel就是对一列总一个sum()函数,然后往左一拉就解决,而python则要定义一个函数(因为python要判断格式,若非数值型数据直接报错。)
学习Excel技术,关注微信公众号: excelperfect 在前面的两篇文章中,我们通过简单地修改VBA代码来使自定义函数运行得更快。...本文将聚焦于Excel中会影响到自定义函数的Bug,并探讨如何避免它们。...在VBE中存在一个小的Bug:Excel每次在工作表计算过程中运行包含自定义函数的公式时,包含自定义函数的公式都会将VBE标题栏改更为“正在运行”,如下图1所示。 ?...如果Excel处于手动计算模式,可以捕获触发计算的所有键击,并在VBA代码中启动计算。...小结:如果需要在Excel中使用大量引用了VBA自定义函数的公式,则需要使用“手动计算”模式,并在工作簿中添加计算键捕获和处理程序。
前言 在日常生活和工作中,我们都会或多或少的使用Excel中的计算公式函数,比如求和公式、平均数公式等。今天为大家整理了一些在线Excel中可以引入的公式函数。...如何在Excel中引入基本函数: 1.基本原生函数的引入。 2.自定义函数的引入。...(除了Excel自带的原生函数之外,用特定的业务用例创建自己的自定义函数,可以像定义任何内置函数一样定义和调用它们) 3.迭代计算/循环引用(可以通过使用先前的结果反复运行来帮助找到某些计算的解决方案...如何在Excel中引入数组公式和动态数组: 数组公式的引入 动态数组的引入 2.Filter函数的引入(FILTER函数可以根据定义的条件过滤一系列数据) FILTER函数基于布尔数组来过滤数组。...LAMBDA函数集 1.LAMBDA函数 LAMBDA函数使您能够使用 Excel 自己的公式语言定义自定义函数。
这需要我们在 Excel 中有很多方式完成,比如透视表或函数公式,下面简单列出函数公式的做法: - 简单使用 countifs 即可 > 这里不再单独使用 countif 了,管他是否只有一个条件,统一用...实际上我们可以直接对 性别 列分组统计即可: - 不多说了,代码语义简直与中文一样 - 这里唯一不好的地方是,需要通过 size 方法获得每个分组的记录数 需求2:不同的统计方法 刚刚是求人数,...以下是 Excel 的公式做法: 那么 pandas 的做法呢? 想必聪明的你一定大概知道怎么做,pandas 中求平均的是方法 mean: - 行3:同样语义非常清晰。....fare.mean() 恰好反映"票价的平均" 同样,简单分组即可一次获得所有分组的统计信息: - 按 sex 分组,求 票价 的 平均 需求3:非常规匹配 上面的条件都是完全符合,有时候我们需要统计有包含关系的条件..."住址是New York 的人数" Excel 的 xxifs 类函数公式都能支持通配符: - 前后用 * 包围内容,表示包含此内容即符合条件 在 pandas 中,由于筛选与统计是独立分开的,因此只需要知道怎么筛选
本系列将结合实际应用,教会你如何利用xlwings,把Excel与Python的各自优势充分发挥 前言 说到必需学习的数据工具,Excel 无疑是唯一的答案 ,各种基本操作、函数公式、透视表,这些都是非常好用的功能...xlwings 的加载项 暂且不解释他的原理,稍后在实践中再讲解其中的机制。...这里参数 expand='table' ,这会让公式变成一个自动扩展范围的动态数组公式(结果是一个表,行列数都是动态的) Python 的代码已经有了,但是 Excel 是不可能直接识别你定义的函数。...---- 直觉理解运行机制 目前为止,我们没有编写一句 vba 代码,只是简单定义出一个加载数据的 Python 自定义函数,就可以在 Excel 上使用公式实现效果。...首先,我们之所以能在 Excel 上输入公式时,出现我们的自定义函数,是因为在这个 Excel 文件中,存在 vba 代码,定义了同名的方法: 从 vbe 界面中可以看到,当我们点击"导入函数"按钮时
这篇文章是本系列的第一篇,选择性汇总了EXCEL的常用且重点的模块和公式,用作内部员工EXCEL基础操作培训,以帮助表格基础薄弱的同事快速熟悉常用操作,提升工作效率。...这,将是后面数据分析的公式(EXCEL)基础(下一篇将会是实战篇)。 文章略长,大家可以先马后看,当然更重要的是实践。...那是因为,我们源数据格式是酱紫的,数据透视表分组逻辑是判断是否唯一,如果唯一则单独分为一行(或一列),想要把行标签的日期格式变成月的维度,也HIN简单。...有一种分列逻辑是按照固定长度,适用于规律非常明确的源数据,只需要自己移动分割线的位置,就能实现源数据的自定义分列: ? 结果就是把省的名称和”省“字分成单独两列。...1.3、删除重复项: 顾名思义,就是删掉重复的项,这个项指的是行。 ? 选中数据,点击“数据”选项卡下的“删除重复项” ? 弹出删除界面: ?
分组列为两列时的效果 分组序号 分组序号函数特点,在分组内的记录数中,每一行返回从1开始的不重复的递增的序列,基于排序列定义的顺序,分组列,排序列可以为多列,当排序规则下的排序列相同,将从上往下填充递增序号...使用场景:对于数据清洗工作尤其有用,当数据有重复时,需要去根据分组的唯一值进行去重是保留最开始出现的记录还是最后出现的记录时,只需配合排序列的升序或降序处理,即可仅保留序号为1的记录,其他记录删除的方式实现数据清洗...排序列的重复值较多,但不影响返回的序列的递增唯一性 ?...当排序列为多列时的效果 当出现多个分组列时,因自定义函数参数位置固定的原因,只有第1参数才是分组列的输入参数,故需要嵌套FZJS分组列合并函数,用于合并多个分组列。 ?...、农历日期转换相关功能 第35波-Excel版最全单位换算,从此不用到处百度找答案 第36波-新增序列函数用于生成规律性的循环重复或间隔序列 关于Excel催化剂 Excel催化剂先是一微信公众号的名称
缺失值处理 说明:对缺失值(空值)按照指定要求处理 Excel 在Excel中可以按照查找—>定位条件—>空值来快速定位数据中的空值,接着可以自己定义缺失值的填充方式,比如将缺失值用上一个数据进行填充...629 个唯一值。...处理的结果一致,保留了 629 个唯一值。...数据合并 说明:将两列或多列数据合并成一列 Excel 在Excel中可以使用公式也可以使用Ctrl+E快捷键完成多列合并,以公式为例,合并示例数据中的地址+岗位列步骤如下 ?...数据分组 说明:对数据进行分组计算 Excel 在Excel中对数据进行分组计算需要先对需要分组的字段进行排序,之后可以通过点击分类汇总并设置相关参数完成,比如对示例数据的学历进行分组并求不同学历的平均薪资
前言 在Excel 中,依赖列表或级联下拉列表表示两个或多个列表,其中一个列表的项根据另一个列表而变化。...依赖列表通常用于Excel的业务报告,例如学术记分卡中的【班级-学生】列表、区域销售报告中的【区域-国家/地区】列表、人口仪表板中的【年份-区域】列表以及生产摘要报告中的【单位-行-产品】列表等等。...data"]; //OR workbook.Worksheets[0]; 步骤 3 - 获取客户名称的唯一列表(用于主下拉列表) 初始化后,需要获取要添加到报表中“选择客户名称”部分的主下拉列表的唯一客户名称列表...步骤 5 - 获取唯一 OrderID 列表(用于依赖下拉列表) 准备好主下拉列表后,让我们获取在主下拉列表中选择的客户名称的唯一 OrderID 列表。...: 定义 CustomerName是指包含主下拉列表的单元格的值;在此示例中,它指的是 =L3 定义的Unique_Cus_Order_combo是指订单 ID 和客户名称的唯一组合范围。
领取专属 10元无门槛券
手把手带您无忧上云