以 hh:mm:ss 格式计算时间差

以 hh:mm:ss 格式计算时间差

我在一个单元格中的时间格式为 hh:mm:ss,在另一个单元格中的时间格式也相同。

我计算这两个单元格的差值并得到 hh:mm:00 作为差值。

我请求有人能帮助我获得按小时:分钟以及秒计算的时间差。

答案1

您如何计算差异?

如果你在 C2 中使用这样的减法

=B2-A2

假设 B2 中的时间较晚

然后将 C2 格式化为时:分:秒您应该得到正确的差值,包括秒数 - 我假设两个时间都在同一天?

答案2

好吧,使用++Ctrl解释了你的问题。我建议首先格式化你插入时间的列。Shift;hh:mm:ss

输入公式=NOW(),按下 后Enter,立即复制/粘贴值以删除公式并仅提取时间值。这样做的问题是您必须一次输入一个公式,因为当您引入更多公式时,另一个公式将被重新计算。

然后减法就会按照您希望的方式进行。

编辑:

好的,我打开我的宏记录器并做了一些研究,并得出了这段代码:

Private Sub Workbook_Open()
    Application.OnKey "+^:", "Insert_Time"
End Sub

Sub Insert_Time()
    ActiveCell.FormulaR1C1 = "=NOW()"
    Selection.NumberFormat = "hh:mm:ss;@"
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

将其放入 VisualBasic。

  1. 转到“开发人员”选项卡 > “Visual Basic”
  2. 在右侧窗格中右键单击“ThisWorkbook”,然后查找“插入”>“模块”
  3. 在左侧大区域打开的文本框中输入代码。
  4. 执行“文件”>“导出”并为模块命名,以便其他用户可以导入代码,而不必重复此操作。确保扩展名为“.bas”(我还不熟悉 vba,但到目前为止,“.bas”已经完成了我想要它做的事情)。要导入模块,请执行“文件”>“导入”并浏览模块。
  5. 快完成了!确保光标位于Private Sub块内的某个位置,然后单击文本框上方的小绿色“播放”按钮。我不知道为什么你每次都要这样做,而且我现在不知道如何解决这个问题,抱歉!

如果找不到“开发人员”选项卡,请单击窗口左上角的圆形 Excel 按钮“常用”转到“Excel 选项”,然后选中“在功能区中显示开发人员选项卡”,然后单击“确定”。

最后,要使用它,只需执行通常的Ctrl++ Shift;它就可以工作了。

尝试一下然后告诉我结果如何!

相关内容