簡體   English   中英

是否有根據條件使用 Google 表格中的公式計算即將到來的日期的公式?

[英]Is there a formula for upcoming date using formula in Google sheet based on condition?

我有一個谷歌表,我需要根據 A 列中設置的開始日期來獲取下一個即將到來的日期

任何指針都非常感謝? 我無法展示這些努力,因為我對使用 Google 表格的這種重復行為完全陌生

https://docs.google.com/spreadsheets/d/1g_UNg4MjDy3gFufpjZtMRkbBz80K3scQdZOaiAnZi7I/edit#gid=0

在此處輸入圖像描述

這種行為(從今天開始的下一個日期,包括今天)可以通過這個公式手動實現:

={
  "Next date from today";
  ARRAYFORMULA(
    IFS(
      A2:A >= TODAY(),
        A2:A,
      B2:B = "Daily",
        TODAY() + MOD(TODAY() - A2:A, C2:C),
      B2:B = "Weekly",
        TODAY() + MOD(TODAY() - A2:A, 7 * C2:C),
      B2:B = "Monthly",
        EDATE(A2:A, ROUNDUP((12 * (YEAR(TODAY()) - YEAR(A2:A)) + (MONTH(TODAY()) - MONTH(A2:A)) - IF(DAY(TODAY()) < DAY(A2:A), 1, 0)) / C2:C, 0) * C2:C),
      True,
        ""
    )
  )
}

對於其他選項(例如“每月的第二個星期一”等),應在該IFS部分實施其他選項。

在此處輸入圖像描述

如果您對需要從開始日期開始的下一個日期(屏幕截圖上的F:F列)的簡單情況感興趣,那么公式會簡單得多:

={
  "Next date";
  ARRAYFORMULA(
    IFS(
      B2:B = "Daily",
        A2:A + C2:C,
      B2:B = "Weekly",
        A2:A + 7 * C2:C,
      B2:B = "Monthly",
        EDATE(A2:A, C2:C),
      True,
        ""
    )
  )
}

同樣,對於其他選項,您需要將相應的部分添加到IFS

您可以使用IFS檢查Frequency ,並且:

  • 如果Daily ,將Count值添加到開始日期。
  • 如果是Weekly ,則添加Count值乘以 7。
  • 如果是Monthly ,因為並非所有月份都具有相同的持續時間,請檢索YEARMONTHDAY索引,將Count添加到MONTH索引,並設置一個新的DATEEDIT :或按照kishkin的建議,使用EDATE

它可能是這樣的:

=ARRAYFORMULA(IFNA(IFS(
    B2:B = "Daily", A2:A + C2:C,
    B2:B = "Weekly", A2:A + 7 * C2:C,
    B2:B = "Monthly", EDATE(A2:A,C2:C)
)))

在此處輸入圖像描述

暫無
暫無

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

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