Excel系列06:漫谈Excel中的数据类型1
在Excel的世界中,总归会遇到这样的问题:合计数据时总会有一些数据未计算在内,导致结果偏小;辛辛苦苦学会了Vlookup函数,查询匹配时却显示不出结果。其实,导致这种情况的原因都是文本型数值在作怪,看起来是“数值”的数据竟是“文本”。今天就和大家漫谈下Excel中的数据类型。掌握了数据类型,Excel中的很多问题也就迎刃而解了。
一、关于数据、数值和数字
★数据:存储在单元格中的各类内容;
★数值:数据的一种类型;
★数字:一般泛指阿拉伯数字。
二、Excel中的数据类型
★基本的数据类型:【数值】、【文本】、【逻辑】和【错误值】四种,其中【日期】也归类到【数值】中去。
★数据排序:【数值】<【文本】<【逻辑】。
★“文本型的数字”在外观上与数值往往一致,容易混淆。
★【逻辑】只有两个:True/False。
★【错误值】表明了一种特定的出错类型,之后会再详细阐述。
三、如何区分数值和文本
【数值】指的是那些能够表示大小的具体的数;【文本】通常指的是那些文字字符。
★在默认情况下,单元格中的【数值】往往都是靠单元格右侧对齐,而【文本】往往默认靠左对齐,【逻辑值】往往居中显示,从位置就能做一些判断。
★为什么数值会以文本形式出现呢?作为【数值】来说,其本身的用途是用来反映数目的多少,不同的数值之间可以用来比较大小,而另外一些数字却不是用来表示具体的大小含义,只是充当编号的作用,例如“002352”、“603008”这样的股票代码,本质上确是属于文本。
★★★★在单元格中要使用这样的文本型数值,有三种常规的方式:一种方式是事先把单元格的数字格式设置为文本,注意输入数字之后再设置文本不一定生效;二是加双引号;三是输入数字前先输一个单引号。
Excel系列07:漫谈Excel中的数据类型2
一、数值和文本在应用处理上有哪些差别?
(1)数值在状态栏中可以直接显示各项计数指标(求和,区别于加减乘除),
而文本则不行。此外,在数据透视表等统计数据分析中的很多错误都是文本型数值造成的。
(2)数值排序按照数的大小来排序,而文本则是对每一个字符的先后顺序进行对比来决定顺序。
(3)在筛选时,数值可以用“大于”、“小于”、“介于”等筛选条件,而文本则只能用“包含”、“开头是”、“结尾是”等筛选条件。
(4)由于数值和文本型数值在外形上的雷同,当他们同时出现时,容易造成查询匹配等功能的实效,诸如Vlookup,往往难以查到相应结果。
★★★所以说,正确认识Excel中的数据,区分好数值和文本,尤其是数值型文本,在解决Excel的问题时,非常重要。那么如何将文本和数值进行转换呢?下面就和大家交流一下。
二、将文本转换为数值
(1)分列功能:分列功能通常用来把一个单元格内的内容拆分成两列或者多列存放,但这个功能还有一个鲜为人知的清理数据的能力。如果你的数据中包含空格或其他不可见的字符,则可以使用它来进行转换。
具体操作方式为:选中需要转换的文本型数值所在列——在【数据】选项卡上单击【分列】命令,不需要在弹出的对话框中进行任何设置,直接单击【完成】按钮完成操作。
(2)算数计算:我们都知道文本型数值不能采用诸如Sum函数进行求和运算,但可以采用加减乘除等方式进行,这是因为文本型数值在参与算数运算的过程中被强制转换成了数值。根据这个原理,我们就可以采用如下算数公示:
=A1+0
=A1*1
=0-A1
=–A1
比较来看,第四种方式最为方便快捷。但在使用过程中要注意目标数值中不能包含空格或其他不明字符。如果存在,可以使用Clean函数或者Trim函数进行预清理,其他方法诸如还有选择性粘贴,错误检查等,大家都可以试一试。
=–TRIM(CLEAN(A1))
★★★同时大家要注意,存放数据转换结果的单元格设定在【常规】格式,如果你设定在【文本】格式,再转换也没用了。
三、从数值转换为文本
在《漫谈Excel中的数据类型1》中,我们提供了几种输入时可以直接转换成文本的方式。然而在对已经存在的数值进行转换时,在单元格数值前挨个添加单引号并不现实,效率太低。这个时候批量操作的方式之一就是使用公式,而原理就是数值和任意字符拼合后,就会变成文本。
根据这个原理,我们可以这样把A1单元格中的数值转换为文本型数值:
=A1&“”
这个公式具体代表什么意思呢,大家可以思考下。
除了公式,还有什么其他方法呢?再介绍一种,先把Excel中的数值复制粘贴到Word中,注意在粘贴时使用右键菜单中的【选择性粘贴】——【仅保留文本】的功能,然后再在Word中选择数据复制粘贴回Excel。
当我们用excel处理完大数据量的长表格,满心欢喜把材料打印出来时,却突然发现,除了第一页有标题行之外,其他页都没有。这样不仅材料看起来不方便,而且特别影响工作的专业程度。那么,在Excel有很多页的情况下,如何每页都打印出标题行呢?今天就这点和大家交流一下。
**具体操作方法:**Excel菜单栏中点击【页面布局】——单击【打印标题】,在弹出的对话框中,找到“打印标题”(打印区域可根据实际需要设定),点击“顶端标题行(R)”项中右边的小窗格后选中需要在每页中显示的标题行(如果表格中有左端标题列,可以根据需要设定),确定好打印顺序后,点击“确定”。如下图所示:
设置完成后,点击“打印预览”,我们就会发现如下图所示的效果,Excel中的每一页在打印时都有了标题行。是不是很方便呢?大家不妨自己操作一下,点击各个按钮试下具体效果。
一、关于日期
如何认识日期呢?标准的日期数据在Excel数据类型中属于数值,因此可以按照数值的方式处理日期,比如排序,比如按照大小筛选等。
(1) Excel的标准日期格式与Windows操作系统中的“区域和语言”设置有关(控制面板-区域和语言),其中设置了Excel日期呈现的基本方式(可以根据需要修改)。
(2)Excel日期模式的输入方式为:年月日之间用“-”(减号)或者“/”(除号)连接。检查数据是否为日期,可以直接在单元格被选中状态下查看编辑栏中的内容,结果一目了然。
二、日期的输入
(1)直接输入:2016-6-7;2016/6/7;
(2)快捷输入:半角状态下【Ctrl】+【;】输入当前日期;
(3)日期格式和自定义日期格式下的各种输入:在数据的自定义格式中,#一般代表数值,@一般代表文本。“”内一般表示特定内容,0表示占位。日期自定义设置中,年通常用y表示,月通常用m表示,日通常用d表示。在日期格式和自定义设置中,日期通常有如下格式:
除了这些之外,我们也可以根据自己的需要设置日期格式,比如把2016-7-8变成20160708这种日期格式,我们可以这么做:
三、日期数据的修复
如果遇到了“130708”、“20130708”、“2013.07.08”这样的长得像日期实际上却不是日期的数据应该如何修复呢,有两种方法比较常用。
方法一:数据【分列】功能——选择需要转换的数据所在列——单击【数据】选项卡中的【分列】命令,在出现的向导对话框中,前两个对话框直接单击【下一步】跳过设置,在第三个对话框中的数据格式选择【日期】选项,然后单击【完成】,即可全部转换为标准日期数据。
方法二:如果遇到“2016。7。”这样的日期格式应该怎么办呢?这种情况下我们可以使用SUBSTITUTE函数进行转化。
■SUBSTITUTE(text,old_text,new_text,[instance_num])
■Text 为需要替换其中字符的文本,或对含有文本的单元格的引用
■Old_text 为需要替换的旧文本
■New_text 用于替换 old_text 的文本
■Instance_num 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 ■instance_num,则只有满足要求的 old_text 被替换;如果缺省则将用 new_text 替换 TEXT 中出现的所有 old_text
★★★如文中出现的日期就可以这样写:=–SUBSTITUE(A1,”。”,”-“)
四、从日期中获取信息
在日期中获取到各个细节信息,通常采用函数公式来实现。三个最常用的函数是YEAR函数,MONTH函数和DAY函数,可以分别获取日期所在的年、月、日,具体写法如下:
※=YEAR(A1)
※=MONTH(A1)
※=DAY(A1)
如果要得到日期所在的是星期几,可以用WEEKDAY函数,具体写法为:=WEEKDAY(A1,2)
(注:1 至7 代表星期天到星期六,默认)
五、日期的相关运算
(1)日期推算:某个日期往前或者往后N天的具体日期是怎么计算?因为日期是数值,所以这就成为了一个最基本的数学运算问题。(日期计算的着眼点在天上)
7天以后的日期:=A1+7
(2)日期间隔计算(可以用于计算工龄,年龄纪念日等等,很实用):DATEDIF函数
☑☑☑☑DATEDIF(start_date,end_date,unit)
●参数1:start_date,表示起始日期
●参数2:end_date,表示结束日期
●参数3:unit为所需信息的返回时间单位代码。各代码含义如下:
●●●”y”返回时间段中的整年数
●●●”m”返回时间段中的整月数
●●●”d”返回时间段中的天数
●●●”md”参数1和2的天数之差,忽略年和月
●●●”ym“参数1和2的月数之差,忽略年和日
●●●”yd”参数1和2的天数之差,忽略年。按照月、日计算天数
(3)组合日期:DATE函数,比如=DATE(2016,6,27)
(4)获取当天日期:=TODAY()
说明:在自定义单元格格式学习中,大家要注意三看:输入值(编辑栏中),显示值(单元格中),自定义格式代码(对话框中)。
一、关于自定义单元格格式的几个常用符号
在单元格的自定义格式中,#一般代表数值,@一般代表文本,“”内一般表示特定内容,0表示占位。这是首先我们要了解的,下面我们通过实例来熟悉一下这四个基本的符号。
☞#:数字占位符(一个符号代表一个数字占位)
只显有意义的零不显示无意义的零。小数点后数字如大于”#”的数量,则进行四舍五入。
☞@:文本占位符
单个@的使用:要在输入数字数据之后自动添加文本, 使用自定义格式为:”文本内容”@;要在输入数字数据之前自动添加文本, 使用自定义格式为:@”文本内容”。@符号的位置决定了Excel输入的数字数据相对于添加文本的位置。
如果使用多个@, 则可以重复文本,如自定义中输入代码:@@@
☞“0”:数字占位符
如果单元格的内容大于占位符,则显示实际数字;如果小于点位符的数量,则用0补足。
例如代码:00000;1234567显示为1234567, 123显示为00123
二、快速输入的实现
当某些要输入的文本具备部分相同的特征时,我们就可以轻松用自定义格式来实现快速输入和准确输入,如工作证号的输入,邮箱的输入,手机号的分段。
通过对比我们发现,工作证号组成方式都为“BJX”+三位数字,根据这个特征,我们就可以在自定义格式输入代码:“BJX”###。设置完毕之后,我们发现,只要输入三位数字格式就能轻松实现工作证号的输入,而且更容易减少输入失误。
通过对比我们发现,邮箱组成方式为用户名@“统一后缀”(ia.ac.cn),根据这个特征,我们就可以在自定义格式输入代码:@”@ia.ac.cn”。设置完毕之后,我们发现,只要输入用户名就能轻松实现邮箱的输入,大大提高工作效率。
三、其他的一些自定义格式及应用
☆ 日期自定义设置中,年通常用y表示,月通常用m表示,日通常用d表示。
♥2016-06-12,输入代码为:yyyy-mm-dd
♥20160612,输入代码为:yyyymmdd
♥♥♥其中还有一些特殊的输入,比如:
♥♥♥MMM:显示英文月份的简称;
♥♥♥MMMM:显示英文月份的全称;
♥♥♥DDD:显示英文星期几的简称;
♥♥♥DDDD:显示英文星期几的全称。
☆ 关于特殊数字的显示
1、中文小写数字: [DBNum1][ −804]G/通用格式代码:[DBNum1][ -804]G/通用格式。13显示为一十三
2、中文大写数字:[DBNum2][ −804]G/通用格式代码:[DBNum2][ -804]G/通用格式。13显示为壹拾叁
这种设置在财务应用中比较常见。DBnum为一函数,我们会在讲解TEXT函数时详细和大家介绍。[$-804]默认代表中文,大家记住就好!