如果连数据类型都没搞清楚,就不要再说学好Excel了

职场   职场   2024-12-12 08:06   福建  

嗨,大家好,我是看见星光。

今天给大家聊一下Excel的数据类型,这是很多使用表格的新手期的男女朋友经常出错的根源之一,摊手,而且往往错了都不知为啥错;函数用错了,你可以百度调整哪个参数,但如果数据类型搞错了,问题就不大容易弄清楚

在前面的推文什么是Excel里咱说过,Excel是一款专门用于数据分析与处理的软件,如果把数据比作食材,那么Excel就是一间功能齐备的家庭厨房。

尽管我天生命好,从来不亲自下厨做饭(别看我,看我就承认这是假的),但也知道食材有不同的类型,有的是配料,有的是青菜,大米,牛肉等等……

不同的食材在厨房里当然有不同的烹饪方法。你不能把大米塞到油烟机里去煮成小米粥,也不能把青菜扔到热水壶里去炒成猪肉粉条,虽然今年你在股市浮沉沉沉沉已经过的足够魔幻……

——了解食材的类型是做出美味佳肴最基础也是最重要的前提。同样的道理,了解数据的类型,也是使用Excel进行数据处理与分析最基础最重要的前提

 



数据类型的划分


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

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


引用和非引用


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

引用通常是指单元格引用。比如这一条公式:

=SUM(A1:A8,20)


A1:A8是单元格引用,20就不是,它不是单元格地址,也就不是引用,它是一个常量——什么是常量呢?往下看


变量和常量


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

常量就是不会变的数据,又被称为常数。变量与之相反,它是可能会发生改变的数据。
 
同样以公式=SUM(A1:A8,20)为例,20是常量,无论公式如何运算,被复制到任何单元格,它都不会改变。A1:A8是变量,它会根据A1:A8单元格内数据的改变而改变。


 …(*^▽^*)...


按照本身的类型,数据又可以划分为数值、文本、逻辑值和错误值等,其中数值又包含了日期和时间这种特殊的序列值。

这个是重点,我们需要点杯雪碧+奶茶混合饮料好好聊一聊。



2 丨
不同的数据类型


数 值



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

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

超过15位会怎么样?

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


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

可能有小伙伴就说了,星光老师你这说的不对,那我表格里有18位身份证号,它最后3位数并没有变成0,这是怎么回事?

打个响指,这是因为身份证是以文本形式保存的,他只是看起来是数值,但其实良心大大的坏了,是个文本的家伙,那么什么是文本呢?


 文 本



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

当文本出现在公式中时,必须使用半角双引号包括起来。比如计算  看见星光   有几个字符?

我们可以使用LEN函数。

=LEN("看见星光")
 
看见星光被两个半角双引号包围,就像被两个丫鬟伺候着的贵公子。嘿!看见……不是,是文本值就是这么特殊又高贵。
 
公式计算结果为4。

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


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

我举个例子,输入公式:

="100"*2

在这个公式里,100被两个丫鬟伺候着,它是高贵的文本。这个公式返回的结果是什么?是200。系统自动将文本数值100转换为了纯数值。

再比如文本型数值身份证号,数学运算后转变成真正的数值,超过15位的部分会自动转变为0。

如下图所示,在A2单元格输入公式:

=A1*1

对比两列的号码,大家可以看到后3位有明显的不同,数学运算后的身份证号码后3位都变成了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 958 465。

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

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

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

="2019-6-20"+100


但和数值不同的是,当日期以常量的形式出现在大部分公式中时,需要转换成数值,比如2019-6-12,转换为数值是43628。

又或者以日期格式输入,并使用半角双引号包裹起来,比如上述公式中的"2019-6-20",但在未进行数学运算之前,该值为文本日期,并非真正的日期。

以下公式计算结果是错误的:

=IF(A1>"2019-6-12","生日已过","未到生日")

公式中"2019-6-12"是一个文本值,并非日期。任意文本值都大于一切日期,不论A1单元格的日期是多少,公式都将返回"未到生日"。

以下公式才是正确的:

=IF(A1>"2019-6-12"*1,"生日已过","未到生日")

公式使用数学运算*1,将"2019-6-12"转换为真正的日期(一个数值序列值),然后再和A1单元格的日期作比较,变成同类型数据作比较。

……

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

对于日期来说,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分。


需要说明的是,当时间以常量的形式出现在公式中时,同日期类型一样,必须使用数值格式,比如12点,数值为0.5。又或者以时间格式输入,并使用半角双引号包裹起来,比如以上所示的"9:56",但在未进行数学运算之前,同文本日期一样,该值为文本,并非真正的时间。

以下公式计算结果是错误的:

=IF(A1>"9:00","迟到","未迟到")

以下公式才是正确的:

=IF(A1>"9:00"*1,"迟到","未迟到")

公式使用*1的数学运算的方式,将文本时间转换为数值。


 逻辑值



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

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

例如:

公式=TRUE+1,等同于公式=1+1,结果为2。

公式=FALSE+1,等同于公式=0+1,结果为1。

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


错误值



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

……

一个很暴力的问题:


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


数值<文本<FALSE<TRUE

也就是说数值小于文本,文本小于逻辑值。

天上地下唯TRUE最大。

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

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

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

……

两杯雪碧+奶茶都喝完了,今天就先这样吧。如果本期教程对你有帮助的话,右下角点个赞。有啥问题也可以在VIP微信会员群中提问交流。挥挥手,咱们下期再见。




需要系统学习Excel,却找不到优质教程?学习Excel的过程中遇到疑难问题,却找不到人及时作出解答?

加入我的付费社群,学习+训练+答疑,与5000+在线会员一起,同微软最有价值专家MVP同行,全面精进Excel之道

🚂>>~

加入我的付费会员,全面学习Excel
透视表 函数 图表 VBA PQ想学啥学啥
👀


本文由公众号“Excel星球”首发。

点击阅读原文系统学习Excel!

Excel星球
微软全球最有价值专家(Excel MVP),上千篇原创图文和视频教程随学随用,随用随查,建议常用Excel的职场人关注。
 最新文章