前言
能够搞清楚数据格式是一个很关键的问题, 幸运的是它很简单. 这里说的数据格式是指"开始"选项卡下"数字"分组里的数据格式
本文探讨的几个问题
- 数据格式和对齐有何关联
- 对齐背后的意义
- 自定义格式的玩法
1. 数据格式和对齐的关联
在每次教别人函数时, 我始终不停的说, 这里分享给大家, 请务必记住, 铭记于心
文本靠左, 数字靠右 文本靠左, 数字靠右 文本靠左, 数字靠右
数据格式在这里我大致分为: 数值, 文本, 逻辑, 错误
为何我如此看重对齐的意义, 让我看下常见类型的对齐方式(下图未设置对齐方式)
聪明的你应该看出来他们的规律, 这里需要重申"数值"并不只是数字, 日期时间都是数值的一种表现形.感兴趣的可以搜索下"时间戳", Excel中的时间日期规则如下
- 日期 - 数字代表距离1900/1/0(好记而已, 别较真)的天数
- 时间 - 1表示24小时, 即0.5 x 24 = 12.00, 0.25 x 24 = 6.0 = 6点
注意: 由于历史原因, Excel中的日期存在1900/2/29, 这是一个已知BUG, 在VBA中是正常的. 感兴趣的可以输入60并设置日期格式.
在上图中我们发现文本"1"左上角有一个绿色的三角, 它表示可能存在错误. 在这里是因为1是数字, 而你设置了文本模式, 所以会提醒你是否设置错误. 你可以点击三角选择"忽略错误".
为了对格式和对齐的关系印象更加深刻, 我将引入一个经典的案例
上图中第二行两个"12元"虽然看起来一样, 但是有本质的区别, F=>"12元", G=>数字12设置了自定义格式#"元", 但它本身还是数字12
说到这里已经说得差不多了, 下面重温开头的那句话, 给出一个忠告
文本靠左, 数字靠右
不要在处理数据的期间设置任何对齐方式, 除非你要最终发布
注意: 该对齐方式适用于大多数情况, 但对于Power Query导出的数据未必适用, 保持良好的格式习惯是很有必要的
2.对齐背后的意义
为什么是文本在左, 数字在右? 可看下图理解下
那么如何使用对齐?
如果你想居中对齐, 请尽量保持内容长度一致
对于日期日期可使用长格式"2018/03/01"来保持长度一致
其他情况使用默认对齐就好啦~除非真的硬性要求
3.自定义格式的玩法
先放出官方帮助文档地址
查看有关自定义数字格式的准则support.office.com如果你懒得看, 我们就来大概总结下
0尽可能满足位数, 比如设置00.00, 那么对尽量满足前后各两位, 不足的补0,
1.2=>01.20
123.456=>123.45
#尽可能短的满足位数, 比如设置##.##, 那么如果没有就是没有
1.2=>1.2
123.1111=>123.11
?和0类似, 但是它填充空格以对齐数据, 和00.0?的区别是, 12.3最后一个补0一个补空格
,对数字除以1000, 比如#,就是12345变成12
@会直接引用文本, @"测试", 对于"你好"变成"你好测试"
注意: 对于"测试"这种汉字在输入的时候可以不加引号
对于数字的格式代码分为四部分
<POSITIVE>;<NEGATIVE>;<ZERO>;<TEXT> 负数;正数;零;文本
例如下面的设置可以实现负数蓝色, 正数红色, 零显示0.00,文本前面追加"销售额"
[蓝色]#,##0.00_);[红色](#,##0.00);0.00;"销售额 "@
除此以外还可以使用数值判断对内容设置颜色
[红色][<=100];[蓝色][>100]
最后对于时间日期, 比较有用的是[], 比如数字1.5表示1.5天, 你可以用[hh]:mm输出36:00, 即36小时
最后还有一个常用的以万为单位的格式0!.0,"万"
这里!(感叹号)是为了给.(小数点)转义, 如果你想输出#也需要!转义
至此关于数据格式和对齐已经结束~自定义格式最大的好处在于并不污染原始数据, 只是修改了显示的方式.