Excel公式用于将单元格中经过的hh.mm时间转换为同一单元格中的hh.hundredths

时间:2016-02-16 16:49:21

标签: excel excel-formula

在E栏中,我将经过的时间以hh.mm的格式放置。请注意句点分隔符而不是冒号。我需要保留从时间到左边的所有内容,但是将时间转换为百分之一小时进行时间跟踪,并将结果保留在同一个单元格中。

我有一张excel表格,它将每小时的每一分钟映射到相应的百分之一等值,因此可以执行某种查找,或者可以使用从头开始计算的公式。我知道公式=("hh:mm"*24)会将小时/分钟转换为小时/百分之一,但我无法将其转换为我的使用案例。我可以使用RIGHT函数来获取我的分钟数并转换它们,但是我如何保留从剩下的时间段开始的所有内容,无论是一个小时还是两个数字?

2 个答案:

答案 0 :(得分:0)

我建议你在这里使用多个单元格 - 当前格式化数据的原始单元格,以及按照描述格式化的新单元格。否则(即:用数据重写相同的单元格)将要求VBA对于这种性质的东西不必要地复杂。

假设您当前的数据在A列中,请将其放在A1中并向下拖动:

=VALUE(LEFT(A1,FIND(".",A1)-1))+VALUE(MID(A1,FIND(".",A1)+1,LEN(A1)))/60

这样做是采取A1中最左边的字符,直到"。"存在,并在A1中最右边的字符中添加,从"开始。"存在到A1的末尾。最右边的字符已经/ 60移动到基于十进制的系统。

答案 1 :(得分:0)

这是一个快速而又脏的工作表事件:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("E:E"), Target) Is Nothing Then
    Target = Int(Target) + (Target - Int(Target)) * 100 / 60
End If
Application.EnableEvents = True
End Sub

将其放在所需工作表的工作表代码中。