跟我一路,穿越时间!
回忆一下,在连载1和连载2的内容里,我们复习了Excel中最根本的数据类型,四大类型(文本字符型、数值型、逻辑型、错误值)的数据是Excel利用处置的根底,但是我们只孤立的晓得他们的类型还不敷,晓得间隔乖巧运用还另有较大间隔,马克思主义哲学唯物辩证法告诉我们,联络具有普及性、客看性和多样性,一个事物内部各个要素是彼此联络的,那么Excel中的各类数据类型之间事实有什么联络?
今天,我们走到Excel晋级之路的连载3:数据类型检测与彼此转换身手
一、数据类型检测——理论是查验实理的独一原则
起首考虑一个问题,关于已经存在于Excel单位格中的数据,我们若何确认其数据类型?
有人也许会说间接看察,凭仗体味停止揣度,但是如许做其实不可以100%确定,并且函数公式运行过程中的一些数据也不会最末呈现在单位格里。
不克不及确定意味着会呈现差错,而关键时刻不出差错才能够改变乾坤,东汉·班固《汉书·赵充国传》中的实例告诉我们:“百闻不如一见,兵难隃度,臣愿驰至金城,图上方略。”“百闻不如一见,百见不如一干”,通过理论停止查验才是不贰秘诀。
Excel中供给了丰富的内置检测函数,并且十分便利利用,他们统称为is函数,我们通过is函数问Excel问题,Excel会以是(TRUE)或否(FALSE)往返答我们。
1、检测能否是文本字符型数据:istext函数
假设成果为TRUE,则检测内容是文本字符型数据。
展开全文
从反标的目的来看,Excel中还有一个检测能否不是文本字符型数据的函数:isnontext函数
重视:空格是文本,空单位格不是文本,所以用isnontext函数检测空单位格A1能否不是文本?
谜底:是,不是文本,Excel返回TRUE
2、检测能否是数值型数据 :isnumber函数
假设成果为TRUE,则检测内容是数值型数据。
我们再次以日期举个例,检测一下,能够看到日期型数字就是数值型数据。
在数值型数据中,偶数和奇数也是能够停止查验的,他们利用的就是is和英语中偶数even、奇数odd的单词组合。
检测能否是奇数:isodd函数
检测能否是偶数:iseven函数,不要忘记0是偶数。
3、检测能否是逻辑型数据 :islogical函数
假设成果为TRUE,则检测内容是逻辑型数据。
4、检测错误值和空单位格
既然Excel在碰着错误时会返回差别的错误值,那就阐明那些错误值也是能够区分的。
Excel中供给了iserror函数、isna函数、iserr函数来停止查验,他们稍有区别,那里不展开,通过Excel的提醒能够停止抉择。
别的,Excel中还有一个检测能否为空单位格的函数:isblank函数。
前面已经讲过,空格是文本,空单位格不是文本,isblank函数能够告诉我们,空单位格确实就是空。
5、其他
不晓得你重视到了没有,上面的各类检测函数一次只能检测一种数据类型,也即我们能够通过他们验证本身的料想,那么能不克不及让Excel主动告诉我们数据是什么类型呢?
当然能够!
最初还有两个神级检测函数:type函数和error.type函数,他们能够以特定的数值返回检测成果,特定的数值就代表要检测的数据的数据类型,那是在函数公式中的高级用法。
例如用type函数检测一下“穿越时间”,其返回值是2,比照下面的编码表,我们可知Excel告诉我们“穿越时间”是文本字符型数据。
二、数据类型转换身手
Excel中的数据类型并非孤立的,相互之间能够彼此转换。
若何将一品种型的数据转换为另一品种型的数据呢?
通过可视化的“设置单位格格局”是最简单的办法,但是,假设涉及到Excel函数、公式以至编程利用,“设置单位格格局”就不是更好的计划了。
别的,我们有时会觉得很难读懂他人写的公式的意思,此中有一个重要的原因就是对数据类型转换利用的不乖巧,因而掌握转换数据类型的函数或特殊运算、特殊公式符号是非常需要的。
接下来,我们从输进文本型数据起头,根据文本型数据、数值型数据、逻辑型数据依次展开,看一看上文讲到的三种数据类型(文本型、数值型、逻辑型)可能呈现的转换情状和身手。
借助之前提到的英文单引号 ' ,输进文本字符型的文本数字:770
1、文本型数据的转换:文本型==》数值型
那是文本型数字转换为数值型数字的办法。为什么需要那种转换?因为文本型数字是不克不及参与数学运算的。为了停止加减乘除等运算,我们需要利用数值型数字。
(1)符号法:
在文本型数字前面加两个减号- -尝尝:
看到了没有,B1单位格中的770就酿成了靠右对齐的数字型。
我们能够通过适才进修的isnumber函数检测一下B1中的770能否为数值型,
成果为TRUE,确认无误。
换一下,在文本型数字的后面乘以1 (*1)
我们将文本型的770乘以1,也能够将它转换为数值型。
很奇异是不是?
类似地,通过除以1 (/1),求1次幂 (^1),加0 (+0) ,减0 (-0),也能够实现文本型数字向数值型的转换。
但是假设你想测验考试加号法,例如=++A1 或 =+A1 则是不成以的,如许的成果仍然为文本型;
那么陆续,
为什么最后的减号法 =- -A1能够,
为什么要用两个减号?
其适用一个减号也能够实现文本型到数值型的转换,不外如许值就变了,成了相反数。(=-A1,能够实现将A1中文本型的770转换为数值型的-770)
因而能够把两个减号的感化理解为负负得正。
同理,四个减号也是能够的。
偶数个减号都是能够的。
由此,上面更多的求1次幂^1,加0 ,减0就能够理解了。
根本都构想就是让文本型数字在连结现实值稳定的前提下参与一下运算,文本型数字就转换为数值型了。
(2)函数法
我们能够通过n函数或者value函数,将文本型数字转换为数值型。
那里不需要特殊的介绍,间接利用函数即可。
2、数值型数据的转换:数值型==》文本型
(1)符号法:
除了最上面提到的英文单引号 ' ,还有其他办法能够使输进到Excel中的数值型数字转换为文本型数字存储。
来看一下,你清晰代码 "" 的感化吗?
通过在单位格后逃加"" 代码,即可将数值型数字转换为文本型数字。
是毗连两个文本字符串(串连)的运算符。"是两个英文双引号。
A1中是数值型数据600,在B1中输进=A1""之后,B1返回的600就是靠左对齐的文本型数字600
不外和摘用英文单引号 ' 差别的是,Excel默认不会添加绿色的三角标识表记标帜。
(2)函数法:
我们能够利用text函数将数值型数字转换为文本型数字。
Text函数的功用非常强大,它能够根据给定的格局将数值型数字转换为文本型数字。那里不详尽展开。
3、数值型数据的转换:数值型==》逻辑型
数值型的数字也是能够转换为逻辑型数据的,那里需要借助一下if函数
=IF(A1,TRUE)
任何非0的数值型数字通过if函数都能够返回逻辑型TRUE
数值型数字0通过if函数能够返回逻辑型FALSE
那是一种比力巧妙的做法。
4、逻辑型数据的转换:逻辑型==》文本型
借助数值型转换为文本型时提到的特殊符号"" 即可,但那种情状几乎不消。
5、逻辑型数据的转换:逻辑型==》数值型
(1)符号法
与上面文本型数字转换为数值型类似,逻辑值施行加减乘除的肆意运算也可转换为数值型。
*1 /1 +0 -0 两个负号- - 乘幂^1都能够实现:TRUE会酿成1,FALSE会酿成0
别的,多个逻辑型数据自己能够间接施行运算(此时,TRUE相当于1,FALSE相当于0),成果也为数值型;
重视:在某些函数中,不撑持逻辑值间接施行运算,原因是有些函数在差别的情状下会漠视非数值数据,必需先行转换为数值型之后才气在函数中停止运算。
下面是一个涉及SUM函数的实例,A1、A2中都是逻辑型数据TRUE,揣摩一下都是相加乞降,运算的成果为什么有时是2有时是0?
公式
成果
=A1+A2
2
=SUM(A1:A2)
=SUM(A1,A2)
=SUM(--A1,--A2)
2
=SUM(TRUE,TRUE)
2
阐明一下:
Sum函数会漠视单位格引用中的逻辑型数值和文本型数值,在那里漠视的意思能够认为sum把逻辑型数值和文本型数值当不存在来对待。
但是当我们把逻辑型数值和文本型数值间接输进sum函数中,当做sum函数的参数时,sum则不会漠视他们。
那个点以后还会再提及。
(2)函数法
间接利用上面提到的n函数也能够将逻辑型的数据转换为数值型。
综上,在写函数公式的时候,应该利用什么类型的数据就要写上什么类型的数据,有些时候,固然数据类型不合错误,但似乎Excel也给出来准确的成果,那是函数底层的容错性起了感化,不外可想而知,那样的公式是多么紊乱,多么随便让人稠浊,看不大白是什么意思。
好了,以上就是连载3的全数内容,没有看过前面连载的能够点击头像或链接跳转:
穿越时间•Excel晋级之路连载1:Office2010安拆体验及个性设置
穿越时间•Excel晋级之路连载2:打牢Excel 2010中的数据类型根底
更多超卓,敬请存眷。
(原创连载,小我看点保留,制止任何未经受权的非本人账号复造文章到其他平台发布)