自定义数字格式4——文本占位符和其他特殊代码
昨天说了如何对整数和小数设置自定义格式,主要包括数字占位符和千位分隔符。今天来说说文本占位符和其他特殊代码符号。
-01-
文本占位符
文本占位符的符号为@,它的作用是代表输入文本本身。如果要显示单元格中所键入的任何文本,则应在文本代码部分中包含@字符。也就是第4代码部分。
如下图所示,分别对A列的文本设置不同的自定义格式代码,B列的代码为;;;@,也就是正数、负数和0都显示为空,文本的代码为@,就是显示它本身。C列的代码为;;;@@,正数负数0都显示为空,文本的代码为@@,就是重复文本2次。
-02-
其他特殊代码
1.下划线_ 它的功能是添加空格,创建一个与它后面字符宽度一样的空格。
如下图所示,将A列的数字设置为3种不同的自定义格式代码。第1种代码为0_ 0_ 0,请注意下划线后面有1个空格,它的意思就是在每个数字之间插入1个与空格一样宽的空位。
同样的,第2种代码0_10_10的意思是在每个数字之间插入1个与数字1一样宽的空位,也就是与数字一样宽的空位。第3种代码0_我0_我0的意思是在每个数字之间插入1个与我一样宽的空位,也就是与汉字一样宽的空位。
为了方便你的理解,我在下面用红色字体做了一个对比。实际上就是B列插入一个空格的宽度,C列插入一个数字的宽度,D列插入一个汉字的宽度。
2.星号* 它的功能是重复下一次字符,直到充满列宽为止。
如下图所示,对A列的数字分别设置2种不同的自定义格式代码,第1种代码为0*0,第1个0代表数字占位符,*0代表重复0直到填满列宽。以123为列,第1个0代表123,*0代表重复0直到填满列宽,所以是下面的结果。
第2种代码*00,*0还是代表重复0直到填满列宽,第2个0代表数字占位符。第1种代码是在数字后面加0,第2种代码是在数字前面加0。
如下图所示,对A列的文本分别设置2种不同的数字代码,第1种代码为;;;@*_,它的意思是对正数负数0显示为空,对文本显示它原来的内容并在后面用下划线填充满列宽。
第2种代码为;;;**,它的意思是对正数负数0显示为空,对文本显示为星号填满列宽。第1个星号是重复的意思,第2个星号就是星号本身,是要重复的对象。
3.英文双引号"" 它的功能是显示出在自定义格式代码中输入的文本。
如下图所示,分别对A列的数字设置2种不同的自定义格式代码。第1种为0"元",0代表数字占位符,后面的"元"用英文双引号包裹起来,则会在格式中将双引号包裹的内容显示出来。
第2种为"2019年"0"月",会在格式中将2019年和月显示出来。
如下图所示,对A列的文本设置不同的自定义格式代码。第1种为;;;@"充沛",对正数负数0显示为空,对文本显示为原来的内容,并在后面加充沛2个字。第2种是在原文本前面加缺乏2个字。
4.反斜杠\ 它的功能和""相同,都是显示输入的文本,且输入后会自动转变为""或!
还是上面的列子,我将代码改为;;;@\充沛,它的结果不变,如下第1图。当我再一次查看它的代码时,发现自动变为下面第2图的结果。
5.感叹号! 它的功能和\相同,而且更强,可以把不能显示出来的一些字符显示出来。
还记得昨天的那个思考题吗?就是用感叹号来完成的。它的代码为0!.0,"万",可以看到这个比较综合,有千位分隔符,有数字占位符,有双引号,有感叹号,有小数点。
千位分隔符后面的"万"就不用说了,将其显示出来。主要看千位分隔符前面的符号,由于千位分隔符后面没有数字占位符,所以此时是将数字缩小1000倍。
以12000为例说明,12000缩小1000倍是12。2占千位分隔符左边的第1个0,1占最左边的0。
你可能会问,它们中间不是有小数点分隔吗。12是整数,应该放在整数部分。如果不在小数点前加感叹号,就是这么处理的。但加了感叹号,就相当于给小数点加了双引号,将其看作文本,而不具备小数点的功能了。实际上就和0"."0,"万"的作用一样。