函数其实就经过测试和编写好的代码模块,在Excel中更像是积木块,用它可以组装成各种的功能各异的模型,如果你要自己设计积木木块,就需要有一定的知识储备和设计理念并经过很多的测试才能保证代码的容错能力和兼容性,要不很容易出现问题,不过我们不用担心,Excel的工程师已经把常用的功能都预先封装在软件中,我们只需学会使用,就能解决80%的问题啦,为了方便我们能更好的玩耍,在软件中贴心的准备了函数帮助文档,函数向导等多种录入方式,不过今天我们先来聊聊函数的结构是怎样的?什么是易失性函数?搞定这些我们才能更好的盘它!
函数结构
函数有3部分构成,函数名,执行符号,内部参数
函数结构示意图
函数名:在Excel中的函数名并不区分大小写,函数录入完成会统一转化为大写格式,通常为字母组合,在软件中字母组合一般是不允许出现表达式,函数的参数中,必须用””或’’包装成字符出现,除非你自定义的名称。
执行符号:英文状态的(),当录入函数时,输入左括号(后完成参数录入可直接回车,系统会自动补充右括号),不过这种情况也只适合少一个),否则就会提示”发现公式中有拼写错误并试图将其更正为”的对话框
公式修正界面示意图
你点接受后会自动录入),是不是觉得输入函数的时候就可以肆无忌惮啦!不好意思,你想多了,它没有那么智能,最好还是养成左右括号一起输入后再输入里面的参数,否则代码一多,有什么颜色提示也白费!
注:单元格第1个符号=并不是执行符号,它叫引导符,有它Excel会自动进入公式录入状态,不止函数录入;
内部参数:出现在执行符号的内部,多个参数以英文逗号隔开,参数主要分为两类:必填参数和选填参数,它们也有自己各自的属性和功能
必填参数:类型多样,文本,数字,日期时间,逻辑值或错误编码,它对函数的功能没有影响,是函数功能的基础数据比如求和的数字或数字所在引用单元格范围等。
选填参数:类型单一,值比较固定,通常用””或’’包括的单个字母或格式编码,逻辑值TRUE/1,FALSE/0; 数字(查询字符开始的位置),小部分为查找结果的引用范围;它通常会影响函数的功能,比如精确查找还是模糊查找,在不填写的情况下都为默认值
提示:在函数的实例说明中,带[]为可选参数,其他为必填参数,实际[]在现实中是不需要录入的;
还有一个概念就是一个函数的执行出现另一个函数参数中,这叫函数嵌套,只要参数内部的函数执行结果符合相应参数规则,并不受必填参数和选填参数的位置影响,不过有个不成文的建议,尽量不要嵌套层数太多,如果必须嵌套多层,可以借助辅助列的来做,这样既能准确排查中间的问题环节也能很好地实现功能需求。多少为多呢?3层以上。
函数可以按参数多少分为无参函数和有参函数,而无参函数大部分是易失性函数,那么这个易失性什么原因导致的呢?什么样的操作会导致易失性的发生呢?这就是接下来要聊的内容。
易失性
其实易失性并不是只有易失性函数上独有,只不过它的表现比较明显而已,至于易失性出现的原因就是为了保证计算结果的准确性,而Excel并不像其他软件那样有各种按钮来更新计算结果,为了解决这个更新计算结果的问题,就引入的自动计算的概念,怎么触发这个功能呢?软件默认开启,打开保存文件会触发,录入、修改,删除数据的操作也会触发,甚至你激活任意单元格 (双击)后回车或再单击任意单元格也会导致重新计算,重新计算又会导致某些函数在不同周期内或操作产生不一样的结果,就有人给这些函数起了响亮点的名字叫易失性函数。
根据周期性的参考点的不同,易失性函数可以为固定周期易失性,非固定周期易失性两种,
固定周期易失性函数有:now(),today(),today()的周期为1天,now()为1秒,在这个周期内两者都有一个稳定的值。什么1秒也算啊?千万别走这个误区,我说的固定周期,并不是时间的长短为主要标准,而是这个周期是个固定值。
非固定周期易失性函数:rand()随机数函数,重新计算后都会产生>=0且<1的随机小数,没有固定周期性,易失性完全取决你的操作。
哪什么操作才能引发易失性呢?太多了啊,说不完啊,不过我们可以反向思考,什么不能引发易失性或重新计算呢?大致有四种情况:
1.手动设置列宽,行高而不是双击调整为合适列宽时,但隐藏行或设置行高值为0除外。
2.当设置单元格格式或其他更改显示属性的设置时。
3. 激活单元格或编辑单元格内容,但按ESC键取消操作时。
4.人为修改的excel选项配置项,将重新计算改为”手动”计算,默认有两种方式开启计算:快捷键f9和文件保存的时候会触发(换句话说:再次打开跟之前做的结果可能不一样)。
手动计算模式开启示意图
其实这个易失性本来就是伪命题,因为”易”的程度很难量化,本来就是笼统的概念,很难形成标准。这也是为什么现在对于易失性函数的每个人讲解都不一样,比如有人就说randbetween函数也算是易失性函数,然它有没有易失性完全取决的参数,比如randbetween(1,1)不论怎么重新计算产生的结果都是1,它的易失性体现在哪呢?如果通过改变参数体现易失性,Excel又有哪些函数没有易失性呢?至于这个知识点不用过于深究,其实易失性最终的目的是为产生结果的准确,如果你通过人为修改配置的方式,屏蔽易失性,哪你意味着你的表格结果并不是最终结果,哪还有意义吗?
函数类型
函数除了有参和无参的分类方式,系统还根据函数的使用场景对函数进行分类,共分12类,文本,数学和三角,信息,逻辑,查找和引用,日期时间,统计,财务,工程,多维数据集,兼容性和web函数,共计405个,哪我们应该学习多少个呢?大概几十个就够了,能满足日常工作就够了,因为太专业性的功能会有专门的软件来做,而用Excel做就有点拙荆见肘了,如果用VBA来做哪就是另一回事了,VBA的部分不再基础知识讲解里。至于我对函数这个概念的理解就这么多了,希望你能通过阅读有所收获,如果喜欢就关注我吧,也欢迎你把遇到问题留言给我,我会逐一解答!