excel2016怎么自动排序123(如果连Excel数据类型都没搞清楚,就不要再说学好Excel了)

wufei123 发布于 2024-01-26 阅读(119)

每天一篇Excel技术图文微信公众号:Excel星球NO.1560-数据类型作者:看见星光 微博:EXCELers / 知识星球:Excel嗨,大家好,我是看见星光今天给大家聊一下Excel的数据类型,这是很多新人表格出错的根源之一,而且错了都不知为啥错;函数用错了,你可以百度调整哪个参数,但如果数据类型搞错了,问题就不大容易弄清楚。

在前面的推文什么是Excel里咱说过,Excel是一款专门用于数据分析与处理的软件,如果把数据比作食材,那么Excel就是一间功能齐备的家庭厨房尽管我天生命好,从来不亲自下厨做饭(别看我,看我就承认这是假的),但俺也知道食材有不同的类型,有的是配料,有的是青菜,大米,牛肉等等……。

不同的食材在厨房里当然有不同的烹饪方法咱们不能把大米塞到油烟机里去煮成小米粥,也不能把青菜扔到热水壶里去炒成猪肉粉条,虽然已经过去的2020年实在足够魔幻……——因此了解食材的类型是做出美味佳肴最基础也是最重要的前提。

同样的道理,了解数据的类型,也是使用Excel进行数据处理与分析最基础最重要的前提1 数据类型的划分在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,另外一个是TRUEFALSE为假,TRUE为真逻辑值可以直接参与数学运算,此时TRUE等同于1,FALSE等同于0例如:公式=TRUE+1,等同于公式=1+1,结果为2。

公式=FALSE+1,等同于公式=0+1,结果为1关于逻辑值,我们后面等讲到逻辑函数IF时再细聊❺错误值错误值有多种形式,常见的有#VALUE!、#N/A等不同的错误值具有不同的含义,但这对新人来说这暂时不重要,日子长长又缓缓,这问题咱们同样留到以后再说吧。

……一个很暴力的问题:这4种数据类型(日期可以视为数值)如果打起架来,谁大谁小呢?

数值<文本

……两杯雪碧+奶茶都喝完了,今天就先这样吧如果本期教程对你有帮助的话,右下角点个赞有啥问题也可以在VIP微信会员群中提问交流我是星光,挥挥手,下期再见需要系统学习Excel,却找不到优质教程?学习Excel的过程中遇到疑难问题,却找不到人及时作出解答?加入微软 Excel MVP的付费社群,和4000+在线学员共同精进Excel↓。

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

👇本文由公众号“Excel星球”首发。点击阅读原文,加入Excel会员社群!

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。