簡體   English   中英

如何使用 excel 公式計算 yyyymm 格式的兩個日期時間值之間的差異?

[英]How can I calculate the difference between two date time values in the format yyyymm using excel formula?

我使用以下公式,

INT(LEFT(A4,4) & TEXT((DATEVALUE(MID(A4,6,3) & " 1")),"mm"))=INT($C$1-1)

INT(LEFT(A4,4) & TEXT((DATEVALUE(MID(A4,6,3) & " 1")),"mm"))這部分以 yyyymm 格式返回日期。

$C$1 的值由用戶以 yyyymm 格式輸入。

我想和后面的部分進行比較,但是如果$C$1的值設置為202101,則失敗,例如,請查找附圖。 我希望最終的 output 在這種情況下是正確的。

例子

有沒有辦法修改后半部分/更好地解決這個問題?

我通過在當前公式中進行以下小調整解決了我的問題,

INT(LEFT(A4,4) & TEXT((DATEVALUE(MID(A4,6,3) & " 1")),"mm")) = IF(RIGHT($C$1,2)="01", INT($C$1-89), INT($C$1-1))

公式的后半部分INT(LEFT(A4,4) & TEXT((DATEVALUE(MID(A4,6,3) & " 1")),"mm"))返回一個 yyyymm。 因此,如果 $C$1 是202101 ,它將首先檢查右邊的兩個字符,如果它是“01”,如果它是真的,那么它會從中減去 89 從而得到202012 它適用於我認為的所有其他情況。 顯然,如果需要看到202011而不是202012 ,那么公式將變為,

    INT(LEFT(A4,4) & TEXT((DATEVALUE(MID(A4,6,3) & " 1")),"mm")) = IF(RIGHT($C$1,2)="01", INT($C$1-90), INT($C$1-2))

等等..

該答案基於 OP 對原始問題的評論。 OP 要求從日期 202101 中減去 1 以給出 202012 作為答案。

假設字符串日期在 C3 中,要減去的值在 D3 中,在 E3 中使用以下公式:

=IF((RIGHT(C3,2)-D3)>0,LEFT(C3,4)&RIGHT("0"&(RIGHT(C3,2)-D3),2),RIGHT("000"&LEFT(C3,4)-1,4)&RIGHT("0"&RIGHT(C3,2)+12-D3,2))

這應該可以工作:

  • 這不是第 0 年
  • 減去不超過 12 個月

POC

更新

由於問題有新信息。 在 B2 中使用以下公式

=A2=--IF((RIGHT(C1,2)-1)>0,LEFT(C1,4)&RIGHT("0"&(RIGHT(C1,2)-1),2),RIGHT("000"&LEFT(C1,4)-1,4)&RIGHT("0"&RIGHT(C1,2)+11,2))

如果您不確定 A2 的值是存儲為文本的數字還是實際數字,您可以使用以下內容調整上述公式:

=--A2=--IF((RIGHT(C1,2)-1)>0,LEFT(C1,4)&RIGHT("0"&(RIGHT(C1,2)-1),2),RIGHT("000"&LEFT(C1,4)-1,4)&RIGHT("0"&RIGHT(C1,2)+11,2))

POC II

是的,你可以,分兩步。

第一步,將文本值轉換為日期

=DATE(MID(A1;1;4);MID(A1;5;2)+1;0)

當 A1 是日期文本值時。 它返回一個月的最后一天,這對於大多數計算來說非常方便。

第二步

一旦你從文本值中得到日期,做差異,例如 date2-date1 得到 output 以天為單位。

要將生成的日期轉換回文本字符串,請使用文本格式

=TEXT(C1;"yyyymm")

實際的格式化字符串取決於您系統的區域設置。 See excel function TEXT help https://support.microsoft.com/en-us/office/text-function-20d5ac4d-7b94-49fd-bb38-93d29371225c for details.

在您的問題中,您可能不是在尋找差異,而是在尋找比較。 在這種情況下,您可以簡單地將文本轉換為值

=VALUE(A1)

然后比較值。

=IF(VALUE(A2)>VALUE(B2);A2;B2)

暫無
暫無

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

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