每天一篇Excel技术图文微信公众号:Excel星球NO.236-什么是数据类型作者:看见星光 微博:EXCELers / 知识星球:ExcelHI,大家好,我是星光这是零基础学习Excel系列分享文之一。
,在第一章什么是Excel里咱么说过,Excel是一款专门用于数据分析与处理的软件,如果把数据比作食材,那么Excel就是一间功能齐备的家庭厨房尽管我天生命好,从来不亲自下厨做饭(别看我,看我就承认这是假的),但俺也知道食材有不同的类型,有的是水,有的是青菜,大米,牛肉……不同的食材在厨房里当然有不同的烹饪方法,咱们不能把大米放到擦布上去煮熟,也不能把青菜放到热水壶里去烹饪……。
所以,了解数据类型对于Excel学习和使用来说就是非常必要的事1 丨数据类型的划分在Excel中,按照不同的标准数据可以被划分为不同的类型这就好比食材既可以按照产地可以分为山东的、河北的、胡建的,也可以按照其他标准划分为海鲜和非海鲜,生的、熟的,有机的……。
1> 按照来源,数据可以分为引用和非引用引用通常是指单元格引用比如公式:=SUM(A1:A8,20) A1:A8是引用,20则不是2> 按照运算过程中是否发生变化,可以分为变量和常量常量就是不会变的数据,又被称为常数,变量与之相反。
同样以公式=SUM(A1:A8,20)为例,20是常量,无论公式如何运算,它都不会改变A1:A8是变量,它会根据A1:A8单元格内数据的改变而改变再以公式=A1&"元"为例"元"是常量,它不会发生改变A1是变量,它会随A1单元格的值改变而发生改变。
3> 按照数据本身的类型,又可以划分为数值、文本、逻辑值和错误值等。这个是重点,我们需要点杯奶茶好好聊一聊。
2 丨不同的数据类型1 丨 数值数值是指代表数量的数字形式,比如学生的成绩,个人的身高体重,数值可以是正数,负数、也可以是小数和百分比需要说明的是,在现实中,数字的大小可以无穷无尽,但在Excel中,由于软件自身的限制,单元格能够保存的最大只能精确到15位有效数字。
超过15位会怎么样?Excel会自动将15位以后的整数变为零。比如123 456 789 123 456 789(18位),Excel会显示为123 456789 123 456 000。
此外,如果大于15位的有效数字是小数,Excel会毫不犹豫的直接舍弃,Excel可是拥有上百亿单元房产的土豪,怎么可能在意那几毛钱可能有小伙伴就说了,你胡说,那我表格里的18位身份证是怎么回事?它后三位没变成0啊!!。
这是因为身份证是以文本形式保存的,他只是看起来是数值,但其实良心大大的坏了,是个文本的家伙,咱们下面会有详说2 丨文本文本又称字符串,是指包含非数值字符的数据比如学生的名字、考试科目等除此以外,也包含以文本形式保存的数值,例如身份证号码等。
当文本出现在公式中时,必须使用半角双引号包括起来比如计算 麻烦他妈骂麻烦他爸真是麻烦死了 有几个字符?公式如下:=LEN("麻烦他妈骂麻烦他爸真是麻烦死了")结果为15非数值型的文本,不能参与数学运算,否则返回错误值▼。
但数值型的文本可以参与数学运算,不过会被转换为真正的数值。比如文本型数值身份证号,数学运算后转变成真正的数值,超过15位的部分会自动转变为0.A2=A1*1▼
再比如下面示例中的文本日期转真正的日期3 丨 日期和时间在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但和数值不同的是,当日期以常量的形式出现在公式中时,需要使用转换成数值后的值,比如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的数学运算的方式,将文本时间转换为数值4 丨
逻辑值逻辑值只有两个一个FALSE,另外一个是TRUEFALSE为假,TRUE为真逻辑值可以直接参与数学运算,此时TRUE等同于1,FALSE等同于0例如:公式=TRUE+1,等同于公式=1+1,结果为2。
公式=FALSE+1,等同于公式=0+1,结果为1关于逻辑值,我们后面等讲到逻辑函数IF时再细聊5 丨 错误值错误值有多种形式,常见的有#VALUE!、#N/A等不同的错误值具有不同的含义,但这对新人来说这暂时不重要,同样留到以后再说吧。
6 丨 谁大谁小这4种数据类型(日期可以视为数值)如果打起架来,谁大谁小呢?
数值<文本
……两杯奶茶喝完了,今天就这样吧挥手致安,明天再见从0到1, 从入门到实战...系统学习Excel函数、VBA编程等推荐下方识别二维码…加入我的知识星球▼加入我的Excel社群从入门到精通全面学习Excel。
学习中的表格问题社群在线实时答疑
亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。