【问题标题】:Display the upcoming due date显示即将到来的截止日期
【发布时间】:2015-10-19 16:28:29
【问题描述】:

我正在使用 Microsoft Excel for Mac 2011 做一些个人理财,并尝试设计一个公式来显示特定日期。

我有一张信用卡账单,每月 24 日到期。我在 A 列中有名称,在 B 列中有到期日期。假设当前月份是 10 月,账单将在 24 日到期,我希望它显示 10/24/15 (mm/dd/yy )。我不想显示任何以前的日期或当前日期,我只想显示即将到来的到期日,并且我希望它保持设置为 10/24/15 直到 10/25/15 它将显示下一个到期日日期为11/24/15,下个月。

我需要它显示从 2015 年 9 月 25 日到 2015 年 10 月 24 日的截止日期。然后在 2015 年 10 月 25 日,我需要它来显示下一个截止日期。

【问题讨论】:

    标签: excel datetime excel-formula excel-2011


    【解决方案1】:

    未经测试。请尝试:

    =IF(DAY(TODAY())<25,DATE(YEAR(TODAY()),MONTH(TODAY()),24),DATE(YEAR(TODAY()),MONTH(TODAY()+1),24))
    

    【讨论】:

    • 道歉我评论了错误的帖子。你们太有帮助了。
    【解决方案2】:

    此解决方案假设如下:

    • Microsoft Excel for Mac 2011 包含 Excel 函数EOMONTH
    • 应付账款表位于B1:D6(根据需要调整),其中包含以下字段(见图1)

    帐户:应付帐户的名称

    到期日:付款到期日

    到期日:下一个付款日期

    C2 中输入这两个公式中的任何一个并复制到最后一条记录

    公式 1:

    =IF(DAY(TODAY())>$C3,
    EOMONTH(TODAY(),0)+$C3,
    EOMONTH(TODAY(),-1)+$C3)
    

    公式 2:

    =EOMONTH(TODAY(),
    IF(DAY(TODAY())>$C3,0,-1))
    +$C3
    

    【讨论】:

    • 我喜欢你组织它的方式。我将试一试第二个 EOMONTH 公式。
    【解决方案3】:

    我想我明白了。对于我的示例,我的数据设置如下:

         A         B
    1   Name    Due Date
    2   Visa    10/24/2015
    

    对于单元格 B2,我有这个公式: =IF(DAY(TODAY())&gt;=25,DATE(YEAR(TODAY()),MONTH(TODAY())+1,24),DATE(YEAR(TODAY()),MONTH(TODAY()),24))

    我假设您将打开电子表格并想要更新到我们当前所在的月份(因此使用Today())。

    编辑:分解它-

    使用=today() 将以默认格式返回今天的日期(很确定它是您的默认格式,即 mm/dd/yyyy)。因此,使用=Month(today()) 只会返回今天日期的月份...就像Year(today())day(today()) 将返回“今天的年份”和日期,如果这有意义的话。

    If 语句查看今天的数字日期是否大于或等于 25。如果是,则返回带有今天年份、今天月份加一和 24 日的日期.如果今天小于 25 日,则返回今天的年份、今天的月份和当天的 24。

    希望对您有所帮助!

    edit2 - 一个更强大的公式,允许您在每个月的账单到期时使用 date 保留一个单独的表格。本质上,您只是将"magic number" 24 替换为Vlookup 公式VLOOKUP(B3,$F$2:$G$4,2,FALSE)

    它的工作原理如下:

    您可以创建一个表格来包含这些值,而不是公式中的“硬编码”24,每次卡更改时您都必须更改(或者您每个月的到期日不同)。我的范围 F2:G4 向您显示哪张卡在哪个日期到期。 (即签证是24号到期,所以24号之后,下个月出示)。这样,您将该公式拖到“B”列下,它会自动更新。 (看看我说的 AmEx 是如何在 10 号到期的。但是今天是 19 号,因此,我们将 11 月 10 号作为到期日。)

    因此,出于复制目的,新公式为=IF(DAY(TODAY())&gt;VLOOKUP(B3,$F$2:$G$4,2,FALSE),DATE(YEAR(TODAY()),MONTH(TODAY())+1,VLOOKUP(B3,$F$2:$G$4,2,FALSE)),DATE(YEAR(TODAY()),MONTH(TODAY()),VLOOKUP(B3,$F$2:$G$4,2,FALSE)))。 (当然,您需要根据需要更改工作表的范围)。

    【讨论】:

    • 没错,我也使用 TODAY() 公式和 IF() 公式来执行此操作,但它并没有像我想要的那样工作。现在我将尝试了解您在这里所做的工作以使其运作良好。
    • @Tibneo - 我已经编辑了我的帖子以包含解释 - 如果我可以进一步解释,请告诉我!
    • 我不小心评论了错误的帖子,但我最终注意到我在编辑过程中出错的地方。我有两张信用卡,一张签证,一张万事达卡,显然都有不同的付款日期,我很好奇如何编辑公式以反映新的付款日期,由于某种原因,当我这样做时,我没有编辑 25 或 24 的所有三个实例,但我想通了,除了感谢您的帮助之外别无他法!再次感谢!
    • 是的,这很有帮助!您只是将今天的日期替换为到期日期,因此将 19 替换为 24,除非今天大于 24,在这种情况下,您仍然会替换它,但您将月份数字加一。我想到了!一点都不难!非常感谢!
    • @Tibneo - 我进行了最后一次编辑,添加了一个表格来保存不同卡片的到期日期,这更加强大。如果您有任何问题,请告诉我!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    • 2019-06-24
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    相关资源
    最近更新 更多