在excel中,相信大部分朋友会经常用到自定义单元格格式,比如设置基本的数值显示位数、添加前缀后缀,熟练一些会利用自定义单元格设置颜色、条件等实现单元格形式的转变。但是很多时候,利用自定义单元格设置的内容并不是“真正”的内容,只是看上去效果与原来不同而已。如下图所示,我对D10单元格进行自定义单元格设置,输入#元后,可以看到D10单元格后面有一个元字,但是在编辑栏仍然是1000,虽然内容包含汉字,其实本质上还是数字,可以进行运算,但是筛选等操作也只能按照“真正”的内容而不是“显示”的内容进行操作,而且如果对数值保留位数,自定义单元格的方式也会有迷惑性,尤其是会计们还记得核对数字的时候感受到0.01的差异让你疯狂的时刻吗?所以如果想要把单元格变成“真实”的单元格,就运用text等函数吧,这个简单的函数能帮你在数据处理中免于出现很多不必要的麻烦。text函数的参数也很简单,中文表达式=text(单元格,“目标格式”)。
一、指定位数填充。如下图所示,对于A列数据,如果想要以三位数字填充,在H列中输入公式=TEXT(A2,"000")后,向下填充,就会显示三位数字填充了。第一个参数输入要改变显示位数的单元格,第二个参数输入"000"表示以固定三位数显示内容。然后可以选择复制H列内容,粘贴到A列,粘贴时选择数值就不会含有公式了。
二、保留指定位数的小数及添加前缀后缀。如下图所示,I、j、K列分别是对H列格式的转换。
对于I列,输入函数=TEXT(Sheet2!$H2,"0"),填充下面单元格就会出现列1的效果。此处第一个参数选择要更改内容的单元格,第二个参数双引号之间输入0,表示对数值保留到整数位,如果第二个参数输入“0.0”则表示保留一位小数,如果第二参数输入"0,0",表示插入千位分隔符。此处的0表示占位符。也可以运用#、?等其他数字占位符。
对于J列,输入=TEXT(Sheet2!$H2,"0.000元"),填充后就会出现列2的效果,此处第二个参数表示保留三位小数并在后面添加“元”。
对于K列,函数公式为=TEXT(Sheet2!$H2,"本月工资0元"),同理向下填充,第二个参数添加前缀“本月工资”和后缀“元”,中间的“0”仍然表示对原数值保留整数。按这种方法也可以添加货币符号、百分比等。
三、日期格式的转换。下图G、H、I、J列分别是对F列用函数进行转换。
对于G列,输入函数=TEXT($F2,"yyyy年mm月dd日"),第二个参数表示把原来日期的格式转换成年月日的格式,同理,如果单元格是22:35:53 ,我们也可以输入函数=TEXT($F2,"hh时mm分ss秒"),转化成22时35分53秒。
对于H列和I列,如果仅仅显示日期中的月份,输入函数=TEXT($F2,"mm")即可。如果显示的月份后面有“月”字,则输入函数=TEXT($F2,"mm月")。
对于J列,输入函数'=TEXT($F2,"aaaa")后,则会自动计算出当前日期对应的星期。
四、条件判断。下图中I列是对H列的条件判断,对于I列,输入函数'=TEXT(I2,"高;低;中"),就会分别判断并返回符合条件的字段。这个函数是什么意思呢?其实和上面介绍的基本一致,第一个参数表示判断的单元格,第二个参数表示转化的效果,双引号中的参数用分号隔开,分别表示大于0返回高,小于零返回低,等于0返回中,其实第二个参数也可以再添加内容,变成“高;低;中;错误",表示没有符合条件的值会判断为错误。
下图J列是对G列的判断,输入函数=TEXT($G2,"[>=8000]高收入;[<=6000]低收入;中等收入")后,就会判断出符合条件的值并返回相应的字段。第二个参数分别表示8000元以上为高收入,6000元以下为低收入,其他为中等收入。此处的判断比if函数嵌套更加简洁,但是只能判断4个以下的条件。
对于text函数,其实和设置自定义格式中的参数意思一样,所以一个会了另外一个自然也会了。区别就是前者把单元格实际内容改变了,后者只是显示了转换格式后的效果,实际内容还是原来的内容。在实际操作中,大家可以根据需要选择自定义单元格格式或者text函数。