在Google表格中查找两个日期范围之间的值

时间:2017-06-21 14:18:40

标签: excel excel-formula google-sheets google-api google-query-language

我在Google表格中构建了一个资源规划器,其中包含针对不同资源的项目开始和结束日期,其输出类似于附件1:

enter image description here

从这个输出中我现在想要测量当前日期(在此示例中为Today()= 21/06/2017)该资源当前是否参与项目。因此,在单独的表中,我生成了像Attachment2这样的输出:

enter image description here

我尝试使用MAX IF公式来执行此操作,方法如下:

首先为该资源找到大于今天的结束日期(如果为null,则为“N”)

然后找到那些小于今天的结束日期的开始日期(如果为null则为“N”ELSE“Y”)

我在这里可以看到我使用的公式(其中D31是用于在Attachment2中查找Attachment1的资源名称,$ B $ 3:$ B $ 6是Attachment1资源名称,$ D $ 3:$ D $ 6是结束日期,$ C $ 3:$ C $ 6是开始日期):

=ArrayFormula(IF(AND(D31 = $B$3:$B$6, $D$3:$D$6 <TODAY()), "N",  IF(AND(D31 = $B$3:$B$6, $C$3:$C$6 >TODAY()), "N", "Y")))

即使资源应该被使用,这总是会返回“Y”的异常值,因此是不正确的。我还通过谷歌查询语言查看了使用SQL,但在尝试使用CASE功能时仍然发现错误

我如何才能达到理想的效果?

1 个答案:

答案 0 :(得分:1)

使用class Salary: def __init__(self,pay): self.pay=pay def get_total(self): return (self.pay*12) class Employee: def __init__(self,pay,bonus): self.pay=pay self.bonus=bonus self.obj_salary=Salary(self.pay) def annual_salary(self): return "Total: " + str(self.obj_salary.get_total()+self.bonus) obj_emp=Employee(100,10) print (obj_emp.annual_salary()) (正常,不是数组公式)尝试:

COUNTIFS