系统导出来的数据格式有时候想当的坑爹,可能开发人员不太了解Excel吧,但起码的数据格式还是应该能搞定吧!但很多时候还是事与愿违。所以Excel绝对是解决办公“最后一公里”的利器。
看看这位小伙伴的问题。
这个问题的难度还是具体可能导出的文字数据的本身,本例小伙伴的文字时间状态如下:
解决思路是想办法把分和秒前面的数字取出来,由于前面数字的位数不统一,如果用2016版本会简单很多,用2010版本就需要利用文本拆分函数。
我们先来看看2010的解决思路。
先找到“分”所在单元格的位置,所以使用了Find函数。
=FIND("分",A5) 表示取对应单元格的“分”所在的位数。
接着利用left函数来取分前面的数字,由于分所在的位置不统一,但发现数字的位置正好是分字的位置减1得到。所以公式如下:
同理要取秒字后面的数字,这个难度还要大。利用MID函数,定位中间取值的起始位置,正好是分字的位置加1,然后利用单元格长度来决定取几位。
=MID(A5,B5+1,LEN(A5)-B5-1)
取到了分钟,又取到了秒。然后利用time函数将其组合成时间格式。具体操作如下:
用到了时间函数Time
=TIME(0,C5,D5) 由于没有小时数,所以定义了分和秒。
但组合成功似乎不是那么完美。所以还需要用单元格自定义格式功能在规范以下。
选中新合成的时间区域,然后按Ctrl+1打开单元格格式设置窗口,然后在自定义中设定如下动图格式。hh:mm:ss 为时间的定义。
当然上图是Excel2010的方法,Excel2013版及以上的版本呢。操作更简单,利用快速填充功能。具体动图操作:
总结:函数方法的好处可以支持后续的动态更新一劳永逸,新版本的快速填充也是创意无穷。大家如果感兴趣,可以学学我们NBOFFICE的函数教程。免费收费都有哟。
该技巧Excel2013版本以上有效。