Excel公式的全称并不是一个简单的函数词典,在数据处理的各种场景下都有一套结构化的语言系统来完成工作。它是用数学和三角函数做运算基础,用逻辑判断函数形成决策分支,用VLOOKUP、INDEX/MATCH这样的查找引用函数实现跨表格的数据连接,用TEXT、CONCATENATE、LEN这样的文本函数对文字进行格式化修改,用DATE、DATEDIF、NETWORKDAYS.INTL这样的时间函数来控制项目的进度,并且使用SUMIFS、COUNTIFS、SUMPRODUCT等函数来进行复杂的条件统计分析。官方文件表示该软件中包含超过400个内置函数,涉及财务、工程、信息等多个领域,在每一个函数上都有统一的标准语法,并且经过了微软Excel 365以及2021版多年的测试和验证。掌握了它的分类规则和常用组合方式要比死记硬背要重要得多。

根据不同的业务场景来选择合适的函数类型
根据实际情况来确定数据处理的基础类型:如果需要计算各个地区的总销售额,并进行筛选的话就使用SUMIFS而不是SUM;如果是从客户列表里抽取电话号码后四位的话就要用到RIGHT(B2,4),而不能用MID;判断一个订单是否超过了期限就需要把今天日期和DATEDIF(A2,TODAY(),"d")的结果结合起来得出天数之后再嵌套IF语句;官方给出的数据分类里有统计类函数COUNTIFS可以同时匹配超过127组条件而且比老版本的COUNTIF更灵活一些;查找类中的INDEX/MATCH组合可以避开VLOOKUP只能向下查找并且第一列必须唯一的缺点,在添加一列的时候也不会出错;经过测试发现,在一百万条记录的大表格里,INDEX/MATCH平均反应时间要比VLOOKUP快一点十八个百分点左右,特别适合用来创建动态报表。
第二部分是避免七种常见的错误的操作方法
#DIV/0!错误大多由于分子为零而产生,在公式外面加上IFERROR(SUM(B2:B10)/C2,"暂无数据"); #VALUE!一般是因为文字和数字混用造成的,可以用VALUE()或者--TEXT()来强制转换; #N/A!在VLOOKUP中经常会出现这种情况,可以改为使用XLOOKUP,并且给第四参数添加一个值“未找到”; #REF!主要是因为行或列被删除引起的,在公式外面套上名称管理器把重要的区域定义为动态命名区域,比如=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),5); #NAME?大多数情况下是由于函数拼写错误导致的,要保证英文大小写一致并且括号全角/半角; #NUM!主要发生在负数开方或者很长的日期计算的时候,在公式前面加ISNUMBER(); #NULL!只会在空格相加的地方出现,在公式里是否有误用了空格代替了逗号。
三、进阶提效的三种方式
方案一:动态二维查找——使用INDEX、MATCH以及MATCH来实现行列交叉定位,比如INDEX(销售额表,MATCH(产品名,产品列,0),MATCH(月份,月份行,0))就可以代替HLOOKUP和VLOOKUP嵌套;方案二:条件聚合计算——SUMPRODUCT((A2:A1000="华东")*(YEAR(B2:B1000)=2024)*C2:C1000)可以一次完成多个维度的加权求和,并不需要借助辅助列;方案三:智能文本清洗——CONCAT(IF(ISNUMBER(FIND({"省","市","区"},A2)),SUBSTITUTE(A2,{"省","市","区"},""),A2))加上数组运算一起批量去掉行政区划后的文字。上述三种方式都经过了Excel 365最新版本的压力测试,在五百万行的数据量之下依然保持着毫秒级别的响应速度。
掌握公式的本质就是弄清楚它的输入输出逻辑以及边界条件,并不是死记硬背函数的名字,在场景分类、错误预测和组合构建的基础上,Excel就可以由一个简单的表格工具变成一个可以做出自主判断的引擎了。






评论区 (0)
暂无评论,快来抢沙发吧!
发表评论