【问题标题】:date filtering with advanced criteria使用高级标准进行日期过滤
【发布时间】:2019-04-24 21:13:51
【问题描述】:

我有一个在我的 Excel VBA 应用程序上运行的高级过滤器,它假设过滤数据库中的日期,我在工作表上创建了高级过滤器,它工作正常,除了过滤日期时这是公式我正在使用:

=IF(C5="",">1","<=" &C5)  start date

=IF(C5="","<60000","<" &C5) end date

我尝试从

如果我要求在特定日期显示记录,例如 2018 年 9 月 29 日,我会看到这些日期,或者如果我要求查看 2019 年 1 月 5 日到 2019 年 2 月 15 日之间的日期,我会看到这些日期。 例如,我还要求提供 2016 年 5 月 1 日到 2016 年 5 月 30 日之间的日期,我得到的日期是 2016 年 4 月 30 日。

【问题讨论】:

  • 我认为开始日期应该是=IF(C5="","&gt;1","&gt;=" &amp;C5) 大于等于C5
  • 我试过了,结果没有过滤数据。我什至删除了 = 符号,我得到的是我过滤前的日期。过滤 5/2/2016 到 5/19/2016 得到 5/1 到 5/19,但也得到 4/30/2016。

标签: excel


【解决方案1】:

让我为您的标准建议一种不同的方法。

假设:

  • 您的日期列的标题为日期
  • 您的条件范围是A1:B2
  • startDtendDt 指的是显而易见的

A1:=  Dates
B1:=  Dates
A2:= =">="&MAX(1,startDt)
B2:= ="<" &MIN(endDt,1000000)

如果您想包含实际的结束日期(与您的公式不同),请更改 B2 中的公式

B2:= ="<=" &MIN(endDt,99999) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 2020-11-10
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多