簡體   English   中英

Excel公式-計算2個時間戳之間的天,小時,分鍾和秒

[英]Excel formula - Calculate Days, Hours, Minutes and seconds between 2 timestamps

我有一個vba腳本,當由用戶運行時,它將時間戳記留在單元格A8中,如下所示:

ActiveSheet.Range("A8").Value = Format(Now(), "dd/mm/YYYY hh:mm:ss")

這將在單元格A8中顯示以下內容(其格式設置為日期:

10/12/2016  9:15:10 AM

接下來,我希望能夠確定距用戶上次運行宏/ vba代碼以來的天數,小時數,分鍾數和秒數。

我還通過在單元格B8中使用= NOW()捕獲當前日期/時間。

單元格B8也被格式化為日期,並顯示如下:

12/18/16 12:45

我的公式應將單元格B8中的A8中的時間戳與當前時間和日期進行比較。

=INT(A8-B8)&" days "&TEXT(A8-B8,"h"" hrs ""m"" mins """)

我注意到這里的日期格式不一致,我不知道這是否重要?

由於某種原因,我沒有得到理想的結果,並且我的公式出現了這個錯誤:

值!

請有人能告訴我我要去哪里錯嗎?

另外,如果可能的話,我不想一次顯示天,小時,分鍾和秒,如下所示:

0 days, 0 hours, 0 minutes, 0 seconds

我真正想要的是時間戳記少於60秒,以顯示如下內容:

55 seconds ago

Then something like:

20 minutes ago

then:

1 hour ago

then :

2 days ago

謝謝

首先,應該是B8-A8 ,而不是相反,因為B8應該大於A8。 此更改應使您的初始公式起作用。

其次,您想要的公式:

=IF(B8-A8>=1,INT(B8-A8)&" days ago",IF(HOUR(B8-A8)>=1,HOUR(B8-A8)&" hours ago",IF(MINUTE(B8-A8)>=1,MINUTE(B8-A8)&" minutes ago",IF(SECOND(B8-A8)>=1,SECOND(B8-A8)&" seconds ago", " just now"))))

ps:按照@ YowE3K的注釋,要使此工作正常,應將單元格A8B8設置為Date類型,否則應在公式中使用正確的格式設置其格式。 第一種選擇應該更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM