将时间值(单元格)转换为分钟 - Excel VBA

时间:2015-07-19 17:36:49

标签: excel-vba vba excel

我试图获取传递的时间值(格式化HH:MM:SS)并将其转换为仅几分钟。

我遇到的问题是,当我尝试获取时间值单元格的值时,它会将其转换为某个奇数值。

示例:

错误的价值(Excel现在给我的,在工作表中): 34:32:12 = 1.43902777777778

正确的价值(Excel应该给我的东西): 34:32:12 = 2072.2

Calcualted:

34 * 60 + 32 + 12/60

2 个答案:

答案 0 :(得分:2)

假设你的源值在单元格A1中,这就是你需要的全部内容:

=N(A1*1440)

此方法不需要重新格式化输出单元格。

它是如何运作的?

日期和时间作为组合数存储在Excel中...其中整数部分表示自1899年12月31日以来的天数(尽管Excel计算的年份可以在 Excel中更改为1904年选项,但这并不重要。)

存储号码的小数部分表示与日期关联的时间组件。

1.43902777777778的值是正确的。它指出~34.5小时代表~1.44

由于您对分钟感兴趣,我们将数字转换为分数乘以1440,因为一天有1440分钟。

包装该计算的N()函数可确保Excel显示的输出被视为数字。否则输出单元格将采用A1的日期格式。

答案 1 :(得分:0)

将单元格格式化为[m]以查看2072,或乘以1440(一天中的分钟数)并格式化为0.0以查看2072.2