2011-01-20 08:54:31 +0000 2011-01-20 08:54:31 +0000
17
17
Advertisement

在excel中以mm:ss格式输入时间数据(不含前面的0:代表小时)。

Advertisement

我想把时间数据以mm:ss格式输入excel表格。问题是–虽然单元格格式是mm:ss,但如果我输入这样的数据:

12:33,实际存储的值是12小时33分。

12:33 实际存储的值是12小时33分钟 如果我想要12分钟33秒 我需要输入0:12:33

有没有办法让单元格接受12:33为mm:ss?

Advertisement
Advertisement

答案 (7)

14
14
14
2011-01-21 03:40:40 +0000

如同 Steve 所回答的,Excel 将用户输入 12:33 解释为 12h33m。你无法改变Excel接受用户输入的行为。

正如你在评论中提到的,用户会输入12:33,但意思是12m33s。

这里有一个的变通方案来获得正确的计算值。

1.将A1单元格(用户输入,例如12:33)格式化为[h]:mm 2.在B1单元格中输入公式=A1/60。在 B1 单元格中输入公式 [m]:ss 3. 将B1单元格格式化为0x6&

A1和B1中显示的值应该是相同的。但是,B1将是您想要的实际值

7
7
7
2011-01-20 08:58:24 +0000

时间普遍以小时:分钟:秒的格式输入,所以你不能改变这个输入格式。你显然可以改变显示格式,但遗憾的是你需要遵守输入格式。

3
Advertisement
3
3
2013-03-05 12:01:12 +0000
Advertisement

有一个解决方案!在你的工作表模块中放入这段VBA代码,即:

  1. 将这段VBA代码放在你的工作表模块中,即:

1.打开Visual Basic编辑器(Alt-F11) 2. 在左上角的树视图中,双击你要输入次数的表 3. 在中央代码面板中,放置以下代码。 4. 关闭 VBE

使用此代码。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

如果您已经格式化了您要输入数据的范围,请使用这一行作为第一行:

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

请注意,这将改变数值和格式–每次您输入一个时间–或介于0和1之间的东西!如果您想限制它的范围,请使用这一行。如果你想把它限制在某一列,请添加这行:

If Target.Column <> 3 Then Exit Sub

或者这行把它限制在某个范围内

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
``` 。
2
2
2
2013-09-13 13:09:04 +0000

计算已完成小时数的最简单方法

格式化单元格 (A1) hh:mm

按正常输入 (07:22)

格式化单元格 (B1) hh:mm

按正常输入 (16:00)

格式化单元格 (C1) h:mm

将所有数据输入单元格 (C1) 如下。=(A1+B1)/60

1
Advertisement
1
1
2017-03-26 06:37:27 +0000
Advertisement

我觉得最好是在A列输入分钟,然后在B列输入秒,然后你就可以把这两列相加。都是正常的数字格式。

接下来将秒/>60转换为分钟,将B列中的和除以60,然后将INT加到A列的和中,将剩余的MOD留在B列中。

或者你可以将C列作为十进制数,通过一个公式= (A1+(B1/60))将给出十进制分钟。在Col C的底部做一个和,然后应用一个公式将十进制部分转换为秒,如下所示,C22是保存和的地方,然后在C23中输入公式=MOD(C22,1)*60

现在在A23中输入公式=INT(C22)来显示总分钟数,包括C22中的总和。

1
1
1
2017-11-28 06:30:48 +0000

我也遇到过同样的问题,这是我找到的解决办法。用TIME函数输入公式 它可以创建一个时间矩阵为=TIME(H,M,S),然后按照你的要求进行格式化。因为数学的原因,你每次还是要输入0小时,但这让整个事情变得无限可行。

0
Advertisement
0
0
2014-03-10 20:34:42 +0000
Advertisement

解决上面的问题。使用h:mm格式时,excel不会让你超过23。在你的格式[h]:mm中的小时数加上括号,你就可以自由地超过23。

要计算以秒为单位的数值,请将单元格设置为 “一般 "数字格式,然后输入以下公式

=HOUR(A1)*60+MINUTE(A1)
```。
Advertisement

相关问题

6
13
9
10
4
Advertisement
Advertisement