![](/img/trans.png)
[英]In Excel, how can I calculate leave days and hours of personnel in the office?
[英]How do I calculate hours when there are fractional components
我正在嘗試制作一個電子表格以計算一周的工作時間。 我遇到的問題是DateDiff函數僅返回整數,因此我得到的結果不正確。
Function CalculateHoursDay(strStart As String, strEnd As String, intLunch As Integer) As Double
Dim dblHours As Double
dblHours = DateDiff("h", strStart, DateAdd("h", 12, strEnd)) - intLunch
CalculateHoursDay = dblHours
End Function
如果我用“ 7:00”,“ 2:45”,。5調用函數,那么當我需要7.25時我會得到7。 實際上,對於“ 7:00”,“ 2:45”,0我也得到7,因此您可以看到十進制值被截斷了。 我增加了12個小時,因此可以輕松輸入時間,而無需考慮AM,PM或軍事時間,因為超過99%(如果不是100%)的時間將是AM(開始時間)和PM(結束時間)。
我期望從具有指定參數的函數中獲得7.25。 有什么建議么?
亞歷克斯提供了正確的答案,tbur還指出了一個錯誤,一旦我應用亞歷克斯的解決方案,它就會浮出水面。
Function CalculateHoursDay(strStart As String, strEnd As String, dblLunch As Double) As Double
Dim dblHours As Double
'"n" refers to minutes.
dblHours = (DateDiff("n", strStart, DateAdd("h", 12, strEnd)) / 60) - dblLunch
CalculateHoursDay = dblHours
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.