我在一个单元格中的时间格式为 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。
- 转到“开发人员”选项卡 > “Visual Basic”
- 在右侧窗格中右键单击“ThisWorkbook”,然后查找“插入”>“模块”
- 在左侧大区域打开的文本框中输入代码。
- 执行“文件”>“导出”并为模块命名,以便其他用户可以导入代码,而不必重复此操作。确保扩展名为“.bas”(我还不熟悉 vba,但到目前为止,“.bas”已经完成了我想要它做的事情)。要导入模块,请执行“文件”>“导入”并浏览模块。
- 快完成了!确保光标位于
Private Sub
块内的某个位置,然后单击文本框上方的小绿色“播放”按钮。我不知道为什么你每次都要这样做,而且我现在不知道如何解决这个问题,抱歉!
如果找不到“开发人员”选项卡,请单击窗口左上角的圆形 Excel 按钮“常用”转到“Excel 选项”,然后选中“在功能区中显示开发人员选项卡”,然后单击“确定”。
最后,要使用它,只需执行通常的Ctrl++ Shift,;它就可以工作了。
尝试一下然后告诉我结果如何!