Excel 文本日期转可计算的日期,再进行计算

今天有朋友问我一个问题,一个表格中有800米比赛的时间数,此时因为某种需求,需要把所有时间都减去15秒时间,问题是该表中的时间数据是文本格式的,是不能计算的,有没有什么好办法。
想了想,参考网上的答案,总算弄出来了


问题:

原始数据是这样的,a列中的老师文本,并非格式化后的时间。
Excel 文本日期转可计算的日期,再进行计算_第1张图片


解决思路

  1. 用文本函数提取出文本中的时间数,和秒数
  2. 计算这两个数值加起来的时间值
  3. 根据需要格式化时间值
  4. 计算加减后的数值

解决过程

1). 提取分钟数

用到一个函数 left(操作单元格, 提取该单元格从左起几位数),在这个例子中,我们只需要提取从左边数的一位数即可。所以是 =left(a1,1)
拖动单元格右下角,把公式复制到需要的所有的单元格中。
此时计算出分钟数。
Excel 文本日期转可计算的日期,再进行计算_第2张图片
Excel 文本日期转可计算的日期,再进行计算_第3张图片

2). 提取秒数

秒数需要另外一个函数 mid(操作单元格, 提取的起始位置, 提取的数量),用于提取一个文本中间位置的文字。
在这里我们需要从第3位开始提取2位,就是 =mid(a1,3,2)
Excel 文本日期转可计算的日期,再进行计算_第4张图片
Excel 文本日期转可计算的日期,再进行计算_第5张图片

3). 计算时间值

这里需要说明一下关于时间的知识:表格中的1,在时间格式里代表的是1天的时间,也就是 24:00:00
如第一列,所以需要计算3分45秒是多少天,就是计算 3分是多少天 加 45秒 是多少天。
也就是:

3/60/24 		= 0.00208333 天 
45/60/60/24 	= 0.00052083 天

Excel 文本日期转可计算的日期,再进行计算_第6张图片
Excel 文本日期转可计算的日期,再进行计算_第7张图片

4). 设置时间格式

现在D列已经是时间值了,可以进行时间的相关计算了。
再补充一个知识点:单元格中的数值本身是不会随格式的变化而变化的,设置格式只是设置了数据的显示格式,其本质并没有变化。
比如,设置成 03'45 这样的格式,

  1. 点 D 列,打开单元格设置
  2. 找到 格式面板,设置 自定义格式
  3. 在输入框中输入 mm'ss即可
    Excel 文本日期转可计算的日期,再进行计算_第8张图片

Excel 文本日期转可计算的日期,再进行计算_第9张图片

5). 时间的加减运算

知识点: 时间的输入全部要以 时:分:秒的格式输入,表格才会知道这是一个时间值,而不是其它数据类型。如,15秒 就输入 00:00:15
获取指定时间数的函数 time(小时数, 分钟数, 秒数)
我们把需要减去的 15 秒,就是 time(0,0,15)
Excel 文本日期转可计算的日期,再进行计算_第10张图片
Excel 文本日期转可计算的日期,再进行计算_第11张图片
Excel 文本日期转可计算的日期,再进行计算_第12张图片
Excel 文本日期转可计算的日期,再进行计算_第13张图片

就是这样,Yeah

你可能感兴趣的:(常用软件问题)