c语言输出居中对齐_Excel数据格式和对齐的思考

bf01ac00a86ce75c7e958e1f22505f16.png

前言

能够搞清楚数据格式是一个很关键的问题, 幸运的是它很简单. 这里说的数据格式是指"开始"选项卡下"数字"分组里的数据格式

103499970fc11d6e395925dffc208a71.png

本文探讨的几个问题

  1. 数据格式和对齐有何关联
  2. 对齐背后的意义
  3. 自定义格式的玩法

1. 数据格式和对齐的关联

在每次教别人函数时, 我始终不停的说, 这里分享给大家, 请务必记住, 铭记于心

文本靠左, 数字靠右 文本靠左, 数字靠右 文本靠左, 数字靠右

数据格式在这里我大致分为: 数值, 文本, 逻辑, 错误

为何我如此看重对齐的意义, 让我看下常见类型的对齐方式(下图未设置对齐方式)

aa0c5b3213921edc2394f4192ec721e1.png
第一列对应第二列的格式,最右边一列为默认常规格式

聪明的你应该看出来他们的规律, 这里需要重申"数值"并不只是数字, 日期时间都是数值的一种表现形.感兴趣的可以搜索下"时间戳", 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是数字, 而你设置了文本模式, 所以会提醒你是否设置错误. 你可以点击三角选择"忽略错误".

为了对格式和对齐的关系印象更加深刻, 我将引入一个经典的案例

a83beed14191dfb7f6a73c933bb69ef7.png

上图中第二行两个"12元"虽然看起来一样, 但是有本质的区别, F=>"12元", G=>数字12设置了自定义格式#"元", 但它本身还是数字12

说到这里已经说得差不多了, 下面重温开头的那句话, 给出一个忠告

文本靠左, 数字靠右
不要在处理数据的期间设置任何对齐方式, 除非你要最终发布

注意: 该对齐方式适用于大多数情况, 但对于Power Query导出的数据未必适用, 保持良好的格式习惯是很有必要的

2.对齐背后的意义

为什么是文本在左, 数字在右? 可看下图理解下

0b1b1630f5cf91bacaec42aa95b1cb95.png

那么如何使用对齐?

fd15d5187f07d0eb632b53e958aa5c31.png

如果你想居中对齐, 请尽量保持内容长度一致

对于日期日期可使用长格式"2018/03/01"来保持长度一致

其他情况使用默认对齐就好啦~除非真的硬性要求

3.自定义格式的玩法

先放出官方帮助文档地址

查看有关自定义数字格式的准则​support.office.com
0610537ae14439f2dfeab570589b5155.png

如果你懒得看, 我们就来大概总结下

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,"万"

这里!(感叹号)是为了给.(小数点)转义, 如果你想输出#也需要!转义

至此关于数据格式和对齐已经结束~自定义格式最大的好处在于并不污染原始数据, 只是修改了显示的方式.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值