【问题标题】:Excel formula to return earliest date in a range & ignores blank cellsExcel公式返回范围内的最早日期并忽略空白单元格
【发布时间】:2014-02-28 00:17:40
【问题描述】:

我能够使用 MIN 函数返回一个范围内的最早日期,但我还发现当单元格范围为空时,它会返回一个默认的 Excel 日期 (12/30/1899)。是否有另一种方法可以避免空白单元格的默认日期并返回空白?

例如: 范围 1 2014 年 7 月 1 日 2014 年 7 月 2 日 2014 年 6 月 30 日

结果 = 2014 年 6 月 30 日

范围 2(单元格为空白,因为它们仍在等待输入) ... ... ...

结果 = 12/30/1899

【问题讨论】:

    标签: excel


    【解决方案1】:

    这应该可以工作

    =If(Min(A:A) > 0, Min(A:A), "")
    

    【讨论】:

      【解决方案2】:

      另一种公式方法是使用 SMALL 而不是 MIN - 如果范围内没有日期(而不是零),SMALL 将返回错误,因此您可以使用 IFERROR 清除错误,例如

      =IFERROR(SMALL(A1:A100,1),"")

      ....或者您可以使用简单的 MIN 保留当前公式,只需自定义格式结果字段,以便不显示零,例如自定义格式为

      mm/dd/yyyy;;

      注意两个分号 - 必须包含它们

      【讨论】:

      • +1 我认为他真正需要的只是正确的格式。尽管您的代码较短,但我希望对两者进行一些性能测试,因为您将对整个范围进行索引,然后通过索引并提取传递的值,在这种情况下是第一个最小的,我认为 @ 987654326@ 会快得多,但如果 2 分钟比 1 分钟快,那么 idk。我也不知道 if vs iferror,这是一个有趣的测试。
      猜你喜欢
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多