【问题标题】:Conditional Formatting of Dates in ExcelExcel中日期的条件格式
【发布时间】:2016-04-03 17:42:41
【问题描述】:

我正在尝试为 Excel 中的日期设置条件格式。 当日期到期时,单元格应更改颜色。 如果在 30 天内到期,它应该是红色的。 如果在 60 天内到期,它应该是黄色的。 如果它在 90 天内到期,它应该是绿色的。

如果有以下公式=DATEDIF(TODAY();E:E;"d")<30作为开始的条件格式规则。 奇怪的是,如果我把它放在牢房里,它就可以工作。对于“E”中在 30 天内到期的值,它返回值 true。但是我不能在条件格式中应用这个规则。它不会给我一个错误。它根本什么都不做......

这可以通过条件格式解决还是我应该编写一个 VBA 脚本?

【问题讨论】:

  • 只需使用常规的If 语句来确定它,我不明白您为什么需要DatedIf
  • 不要引用E:E,而是只选择同一行中的一个单元格以将其应用于并使其引用该列中的同一特定行,例如E1。只要您摆脱了 Excel 自动应用的任何$s,那么它仍然是一个相对引用,并且您可以在将其应用于一个单元格后,在“管理规则”菜单中扩展它适用的范围.
  • 我假设你在第一行有标题。所以在 E2 中输入以下条件公式:=TODAY() - E2<30 然后使用所需的格式。在应用于字段中输入E:E
  • 它正在工作,但仅适用于字段 E2。不适用于其他领域。
  • 它不工作。总是为 E2 和 E1 着色我只希望对日期在 30 天范围内的单元格进行着色

标签: vba excel ms-office


【解决方案1】:

我使用了以下公式:

=DATEDIF(TODAY(),E2,"d")<30
=DATEDIF(TODAY(),E2,"d")<60
=DATEDIF(TODAY(),E2,"d")<90

【讨论】:

    【解决方案2】:

    好的,当您尝试将条件格式应用于范围时,Excel 会做一些它认为很有帮助的古怪事情(这通常是障碍而不是帮助)。

    按照以下步骤操作:

    1. 选择第一个包含日期值的单元格,我假设E2
    2. 点击条件格式 -> 新规则。
    3. 选择“使用公式确定要设置格式的单元格”。
    4. 粘贴公式=DATEDIF(TODAY(),E2,"d")&lt;30 并选择您想要的任何格式选项。点击OK
    5. 点击“管理规则”返回条件格式。
    6. 在“应用于”字段中,将其更改为=E2:E200,或范围的最后一行。或者,如果您想设置一些更动态的东西,您可以使用 named range

    该规则现在适用于整个范围。

    【讨论】:

    • 谢谢,这正是我正在寻找的。很好的解释!
    猜你喜欢
    • 2018-02-11
    • 2015-08-08
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 2020-04-16
    相关资源
    最近更新 更多