Excel函数轻松学02:详解Excel函数中的数据类型

论坛 期权论坛 期权     
VBA编程学习与实践   2019-7-13 06:11   3884   0
更多系列文章,戳文末阅读原文进入:我的微博V+会员函数专栏哦~

写在前面:

概念是用来了解的,不是用来恐惧的。一时无法理解,大可不求甚解,无需刻意强求,往后学习函数的时间里,通过实例人的潜意识会反复思考,只要学习的过程持续不断,概念性的东西自然而然也就理解了——你的朋友,看见星光。


[h1]1,函数的结构[/h1]
我们上一章说函数是Excel内部预先定义的、能够按照特定顺序和结构来执行运算任务的功能模块。

这句话怎么理解呢?

由于函数是Excel内部预先定义好的,我们能够使用它,但正常情况下不能修改它,不正常情况是指直接修改Excel的源代码,很明显,这不是一般人能干的事儿。

每一个函数都拥有自己的结构,通常是由表示公式开始的等号、函数名称、左括号、以半角逗号相间隔的参数以及右括号组成。


         

我们上面提到了个词,叫参数。

参数是函数最重要的组成部分,分为可选参数和必需参数。

在函数语法中,可选参数一般使用一对中括号"[]"包括起来。

比如耳熟能详的SUM函数,它的语法如下。



         

如官方文件所说,SUM函数最多可以支持255个参数,第一个参数是必须的,其余的244个都是可选的,可以根据实际情况选择是否省略。

举个例子。

在Excel中输入公式:

=SUM()

此时我们没有提供任何参数,直接回车,系统会弹出如下所示的消息提示框,啰哩啰唆一大堆,但意思无非就是你一定得给SUM一个参数,不然它就和你过不去。



         

那么是不是每个函数都必须有参数呢?

只能说大部分如此,极个别例外。比如公式=TODAY(),它并不需要参数,默认返回当前的日期。



         
作为函数最重要的组成部分,参数可以由数值、日期、文本、逻辑值等元素构成,也可以使用引用、其它函数、数组等。

比如公式=IF(A1>80,"优秀",IF(A1>60,"不及格","不及格"))

第二个IF函数是第一个IF函数的嵌套函数。

但是,别动!什么是引用?什么是数组?什么是逻辑值、文本值、错误值?我听不懂,你前面也没讲过啊?

好吧,那我们就来讲一下。

……

[h1]2,函数中的数据类型[/h1]
如果说函数是设置好的功能模块,那它就好比种类不同的厨具,有的是微波炉,有的是高压锅,炒锅,热水壶,擦布……

而数据便好比不同的食材,拥有不同的类型,有的是水,有的是青菜,大米,牛肉……

不同的食材当然有不同的烹饪方法,我们不能把大米放到擦布上去煮熟,也不能把青菜放到热水壶里去烹饪……

所以,了解数据类型对于函数学习来说就是非常必要的事。

在函数公式中,按照不同的标准数据可以被划分为不同的类型。

这就好比食材既可以按照产地可以分为山东的、河北的、胡建的,也可以按照其他标准划分为海鲜和非海鲜,生的、熟的,有机的……

1)按照来源,数据可以分为引用和非引用。

引用通常是指单元格引用。比如公式:=SUM(A1:A8,20)。A1:A8是引用,20则不是。

2)按照函数运算过程中是否发生变化,可以分为变量和常量。

常量就是不会变的数据,变量与之相反。

同样以公式=SUM(A1:A8,20)为例,20是常量,无论公式如何运算,它都不会改变。A1:A8是变量,它会根据A1:A8单元格内数据的改变而改变。

3)按照数据类型,又可以划分为数值、日期、文本、逻辑值和错误值等。

这个是重点,我们需要点杯奶茶好好聊一聊。



         

[h1]Ⅰ 数值[/h1]
数值是指代表数量的数字形式,比如学生的成绩,个人的身高体重,数值可以是正数,负数、也可以是小数和百分比。

但需要说明的是,在现实中,数字的大小可以无穷无尽,但在Excel中,由于软件自身的限制,能够保存的数字最大只能精确到15位有效数字。

超过15位会怎么样?

Excel会自动将15位以后的整数变为零。比如123 456 789 123 456 789(18位),Excel会显示为123 456789 123 456 000。



         

此外,如果大于15位的有效数字是小数,Excel会毫不犹豫的直接舍弃,Excel可是拥有上百亿单元房产的土豪,怎么可能在意那几毛钱。

可能有小伙伴就说了,你胡说,那我表格里的18位身份证是怎么回事?它后三位没变成0啊!!

这是因为身份证是以文本形式保存的,他只是看起来是数值,但其实良心大大的坏了,是个文本的家伙。

[h1]Ⅱ 日期和时间[/h1]
在Excel中,日期和时间是以一种特殊的数值形式储存的,这种数值形式又被称为“序列值”。

在MS操作系统所有的Excel版本中,日期系统默认为“1900年日期系统”。也就是以1900年1月1日作为序列值的基准日,这一天的序列值记为1,此后的日期以此递增。比如1900年1月15日的序列值是15,2019年6月20日的序列值为43636。
        
在Excel中,最小的日期是1900年1月1日,序列值为1。最大日期是9999年12月31日,序列值是2 958465。

由于日期是以数值的形式储存的,所以它可以直接参与加减乘除的数值运算,这意味着着什么呢?

如果我们要计算两个日期之间相差的天数,直接相减就可以了:



         

但和数值不同的是,当日期以常量的形式出现在公式中时,必须使用半角双引号包裹起来。

比如我们要计算2019年6月20日的100天以后是什么日期,可以使用公式:

="2019-6-20"+100

说完了日期,再说下时间。

对于日期来说,1天的数值单位就是1,那么1小时就可以表述为1/24,同理,1分钟可以表述为1/24/60。

也就是说,一天中的每一个时刻都可以由小数形式的序列值来表示。比如,中午12点也就是0.5(1天的一半1/2)。

同日期一样,时间也可以直接参与加减乘除的数值运算。当时间以常量的形式出现在公式中时,同样必须使用半角双引号包裹起来。

例如一个人凌晨6点28分开始加班,早晨9点56分下班,他加班的时长是多少呢?

公式:

="9:56"-"6:28"

结果是3小时28分。



         

[h1]Ⅲ 文本[/h1]
文本又称字符串,是指包含非数值字符的数据。比如学生的名字、考试科目等。除此以外,也包含以文本形式保存的数值,例如身份证号码等。

当文本出现在公式中时,必须使用半角双引号包括起来。比如计算  麻烦他妈骂麻烦他爸真是麻烦死了   有几个字符?

公式如下:

=LEN("麻烦他妈骂麻烦他爸真是麻烦死了")

结果为15

非数值型的文本,不能参与数学运算,否则返回错误值。



         
数值型的文本可以参与数学运算,但会被转换为真正的数值。

[h1]Ⅳ 逻辑值[/h1]
逻辑值只有两个。一个FALSE,另外一个是TRUE。FALSE为假,TRUE为真。

逻辑值可以直接参与数学运算,此时TRUE等同于1,FALSE等同于0。

例如公式=TRUE+1,等同于公式=1+1,结果为2。公式=FALSE+1,等同于公式=0+1,结果为1。

关于逻辑值,我们等讲到逻辑函数IF时再细聊。

[h1]Ⅴ 错误值[/h1]
错误值有多种形式,常见的有#VALUE!、#N/A等。不同的错误值具有不同的含义,但这对新人来说这暂时不重要,同样留到以后再说吧。

这4种数据类型(日期可以视为数值)如果打起架来,谁大谁小呢?


         

数值
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:220
帖子:44
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP