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

技术博客 (229) 2023-12-02 09:01:01

写在前面:

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

1,函数的结构

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

这句话怎么理解呢?

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

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第1张

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

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

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

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第2张

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

举个例子。

在Excel中输入公式:

=SUM()

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第3张

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

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第4张

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

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

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

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

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

……

2,函数中的数据类型

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

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

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

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

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

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

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

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

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

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

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

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

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第5张

Ⅰ 数值

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

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

超过15位会怎么样?

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第6张

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

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

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

Ⅱ 日期和时间

在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。

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

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第7张

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

比如我们要计算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分。

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第8张

Ⅲ 文本

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

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

公式如下:

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

结果为15

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第9张

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

Ⅳ 逻辑值

逻辑值只有两个。一个FALSE,另外一个是TRUE。FALSE为假,TRUE为真。

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

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

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

Ⅴ 错误值

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

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

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第10张

数值<文本<FALSE<TRUE

爱无敌,天上地下唯TRUE最大。

错误值呢?错误值去哪了?让它也来打架啊!

别激动,错误值是个错误,不能参与排序,否则大家都会成为错误。

比如=#N/A<TRUE,结果为错误值#N/A

……

深吸一口气,最后一个问题,什么是数组呢?

数组是由一到多个元素构成的有序集合,元素可以是数值、文本、逻辑值甚至是错误值。

数组是Excel函数进阶后的一个知识点,我们这儿暂时只了解一下必须知道的部分,比如常量数组。

常量数组顾名思义是由常量构成的数组,并使用大括号{}在首尾进行标识。例如:

{1,"excel",2,"学习"}

需要注意的是,常量数组只能由常量组成。比如={sum(a:a),1},常量数组中放置了函数,是不允许的。

数组如果按照维度划分,又可以分为一维数组、二维数组和三维数组。

一维就是单行或单列的数组。

单行数组元素之间使用半角分号间隔,例如={"a","b","c","d"}

单列数组元素之间使用半角逗号间隔,例如={1;2;3;4;5}

我去,一会逗号,一会分号的,怎么区分呢?

分号是不是有两层?上面一个点,下面一个逗号,所以它代表行(单列数组是有多行组成的)。而逗号没有分层的模样,所以它代表列。

二维数组就是由行列两个方向构成的数组,例如

={1,"a";2,"b";3,"c"}

这是一个两列三行的二维数组。一共有两个分号,所以是三行(最后一行不用标注分号),每行有一个逗号,所以是两列。

三维数组就是由不同工作表的单元格或区域构成的数组。通常而言,函数数组最高只有三维。

……

3,函数的分类

聊完了函数中的数据类型,最后我们再来简单聊下函数的分类。

按照不同来源,Excel函数可以分为内置函数(系统自带的)、自定义函数(VBA编写的)以及宏表函数(古老的Excel 4.0的函数,需要通过定义名称才能使用)

内置函数是我们日常工作和学习中最为常用的,也是我们学习的重点。按照不同的功能,内置函数可以分为文本函数、逻辑函数、查找与引用函数、日期与时间函数、统计函数等。大都人如其名,从名字就可以看出其作用了。

两杯奶茶喝完了,今天就这样吧。

挥手致安,下期再见。

……

轻松学函数02:详解Excel函数中的数据类型 (https://mushiming.com/) 技术博客 第11张

THE END

发表回复