簡體   English   中英

需要一個公式來確定多個連續日期之間的最大天數

[英]Need a formula to determine the maximum number of days between multiple consecutive dates

我在 excel 表中有一串連續的日期,表示從商店取貨的時間。 我需要確定任何間隔是否超過 60 天或最大間隔。 例子:

9/5/18、9/18/19、11/20/18、12/21/18

第二次和第三次日期之間的差距在 63 歲時最大。如果>63,我需要“63”或“是”。 我有幾百行這些日期,因此無需構建輔助表即可查找公式。

提前致謝。

如果日期在不同的單元格中:

=MAX(B1:D1-A1:C1)>60

根據一個人的版本,這可能需要在退出編輯模式時使用 Ctrl-Shift-Enter 而不是 Enter 來確認。

在此處輸入圖像描述


如果它們在同一個單元格中,則以逗號分隔:

=MAX(FILTERXML("<a><b>"&SUBSTITUTE(A1,",","</b><b>")&"</b></a>","//b["&ROW($ZZ$2:INDEX($ZZ:$ZZ,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1))&"]")-FILTERXML("<a><b>"&SUBSTITUTE(A1,",","</b><b>")&"</b></a>","//b["&ROW($ZZ$1:INDEX($ZZ:$ZZ,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))))&"]"))>60

根據一個人的版本,這可能需要在退出編輯模式時使用 Ctrl-Shift-Enter 而不是 Enter 來確認。

在此處輸入圖像描述

如果日期都在一個單元格中,並且您有最新版本的 Excel 和SEQUENCE function,您可以使用:

=AGGREGATE( 14,6,DATEVALUE(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),SEQUENCE(10)*99,99)))-DATEVALUE(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),IF(SEQUENCE(10)=1,1,(SEQUENCE(10)-1)*99),99))),1)

其中SEQUENCE10參數只是比包含條目的可能總數更大的某個值。

如果你沒有SEQUENCE function,你可以使用類似的東西:

=ROW(INDEX($A:$A,1,1):INDEX($A:$A,255,1))

我更喜歡將其命名為命名公式,並將其命名為seq ,因此最終公式如下所示:

=AGGREGATE( 14,6,DATEVALUE(TRIM(MID(SUBSTITUTE(A3,",",REPT(" ",99)),seq*99,99)))-DATEVALUE(TRIM(MID(SUBSTITUTE(A3,",",REPT(" ",99)),IF(seq=1,1,(seq-1)*99),99))),1)

excel 中的日期時間是自紀元以來的天數,浮點數,具有可以調整的表示數字格式(我喜歡 YYYY-MM-DD 等日期)。 如果通過自動轉換它們還不是日期,那么將字符串轉換為日期應該很容易。 我敢打賭,有一個 function ,減去它們,但因為它們是帶分數的日期時間浮點數。 您可能需要找到一個名為 int 或 integer 的 function 來刮掉任何分數,當然,如果它們都缺少時間組件,則該部分默認為同一時間。 所以減法返回一整天。

暫無
暫無

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

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