如果范围内没有日期,则为空字符串值

empty string value if there is no date inside range

我有以下公式,我也将其添加为问题中的图片。

=MIN(INDIRECT(ADDRESS(ROW(AF4);COLUMN(AF4))&":af"& (MIN(IF(A4:A108="";ROW(A4:A108))))))

AF3 和 AG3 列应计算动态范围内的最小日期(基于 A 中的空单元格)。正如您在 AF 中看到的,如果所有值都是 "N/A",则公式默认会自动带来 00.01.1900。如果范围不包含任何日期,我希望它为 return 空字符串。如果它的日期在范围内,则公式应该像在 AG3 中一样工作。

我该怎么做?

您可以按照@shrivallabha redij 的自定义格式建议或使用像这样的 TEXT 语句

=TEXT(MIN(INDIRECT(ADDRESS(ROW(AF4),COLUMN(AF4))&":af"& (MIN(IF(A4:A108="",ROW(A4:A108)))))),"dd.mm.yyyy;;")

编辑

我同意@shrivallabha 的建议,使用 Index 而不是 Indirect。如果我是从头开始做的,我也会使用 Aggregate:

=IFERROR(AGGREGATE(15,6,AF4:INDEX(AF4:AF108,AGGREGATE(15,6,ROW(A4:A108)/(A4:A108=""),1)),1),"")

将公式包裹在 IF 中,如下所示并测试:

=IF(MIN(AF4:INDEX(AF:AF,MIN(IF(A4:A108="",ROW(A4:A108)))))=0,"",MIN(AF4:INDEX(AF:AF,MIN(IF(A4:A108="",ROW(A4:A108))))))

  1. 我放弃了 INDIRECT,这是不稳定的。上面的构造不太不稳定。
  2. 这是 ARRAY 公式,所以你需要 CTRL+SHIFT+ENTER.
  3. 确保将“,”替换为“;”在你最后的公式参数中。