在 Google 个工作表中查找两个日期范围之间的值
Finding a value between two date ranges in Google Sheets
我在 Google 工作表中构建了一个资源规划器,其中包含针对不同资源的项目开始和结束日期,输出类似于 Attachment1:
根据这个输出,我现在想衡量当天(在本例中为 Today() = 21/06/2017)该资源当前是否正在参与项目。因此,在单独的 table 中,我会生成类似 Attachment2:
的输出
我已尝试使用 MAX IF 公式按照以下过程执行此操作...
首先为该资源找到一个晚于今天的结束日期(如果为空则 "N")
然后查找那些小于今天的结束日期的开始日期(如果为空则 "N" ELSE "Y")
我使用的公式可以在这里看到(其中D31是用于在Attachment2中查找Attachment1的资源名称,$B$3:$B$6是Attachment1资源名称,$D$3:$D$6是结束日期, $C$3:$C$6 是开始日期):
=ArrayFormula(IF(AND(D31 = $B:$B, $D:$D <TODAY()), "N", IF(AND(D31 = $B:$B, $C:$C >TODAY()), "N", "Y")))
这总是 returns “Y” 的异常值,即使应该使用资源也是如此,这是不正确的。我还研究了通过 google 使用 SQL查询语言,但在尝试通过它使用 CASE 功能时仍然发现错误。
我怎样才能最好地达到预期的结果?
用COUNTIFS
试试(正常,不是数组公式):
=IF(COUNTIFS($B:$B,D31, $C:$C, "<="&TODAY(),$D:$D, ">="&TODAY())=0,"N","Y")
我在 Google 工作表中构建了一个资源规划器,其中包含针对不同资源的项目开始和结束日期,输出类似于 Attachment1:
根据这个输出,我现在想衡量当天(在本例中为 Today() = 21/06/2017)该资源当前是否正在参与项目。因此,在单独的 table 中,我会生成类似 Attachment2:
的输出我已尝试使用 MAX IF 公式按照以下过程执行此操作...
首先为该资源找到一个晚于今天的结束日期(如果为空则 "N")
然后查找那些小于今天的结束日期的开始日期(如果为空则 "N" ELSE "Y")
我使用的公式可以在这里看到(其中D31是用于在Attachment2中查找Attachment1的资源名称,$B$3:$B$6是Attachment1资源名称,$D$3:$D$6是结束日期, $C$3:$C$6 是开始日期):
=ArrayFormula(IF(AND(D31 = $B:$B, $D:$D <TODAY()), "N", IF(AND(D31 = $B:$B, $C:$C >TODAY()), "N", "Y")))
这总是 returns “Y” 的异常值,即使应该使用资源也是如此,这是不正确的。我还研究了通过 google 使用 SQL查询语言,但在尝试通过它使用 CASE 功能时仍然发现错误。
我怎样才能最好地达到预期的结果?
用COUNTIFS
试试(正常,不是数组公式):
=IF(COUNTIFS($B:$B,D31, $C:$C, "<="&TODAY(),$D:$D, ">="&TODAY())=0,"N","Y")