没有重新计算多个实例的总计数总和IF,仅在AS OF DATE之前的最近date

我需要一个公式,这个公式将在AS OF DATE之前或之前的最接近的date,给出在没有添加先前的动物types计数的情况下给出的AS OF DATE的动物types数量的总和。 不同的动物types可能被添加或带走。 所以列表没有设置。

我宁愿不要在VBA或数据透视表中这样做,但任何帮助将不胜感激。

ABC DATE ANIMAL TYPE COUNT JAN 01 DOG 1 JAN 02 CAT 2 JAN 04 Fish 1 JAN 12 DOG 2 JAN 20 CAT 3 FEB 01 PIG 1 FEB 02 CAT 2 AS OF DATE TOTAL ANIMALS JAN 03 3 JAN 13 5 JAN 21 6 FEB 01 7 FEB 02 6 

所以。

截至1月3日,共有3只动物。 1只狗和2只猫。

截至1月13日,共有5只动物。 2只狗,1只鱼和2只猫,,,,,,不是6

截至1月21日,共有6只动物。 2狗,1鱼和3猫,,,,,,不是9

截至2月1日,共有7只动物。 2只狗,1只鱼1只,3只猫,不是10只

到目前为止,这是我的。 通过使用助手列过滤动物types,我得到一个没有重复的列表。 然后,我把它放在一个数据validation的单元格中,以selecttypes。 同样的date。 不过,我想删除typesinput,只selectdate。 并能够得到一个总数。

这是有用的,但不是我所需要的。

 =SUMIFS(TabData1[Count],TabData1[Date],MAX(IF(TabData1[Animal Type]=$G$2,IF(TabData1[Date]<=$F$2,TabData1[Date])))) 

我想删除单个动物types的单元格引用($ F $ 2) ,并将其replace为一个范围,以获得某个date的所有动物types的最新动物数。 像这样,但这是行不通的。

 =SUMIFS(TabData1[Count],TabData1[Date],MAX(IF(TabData1[Animal Type]=(OFFSET($J$2,0,0,COUNT(IF(ListAnimalType="","",1)),1)),IF(TabData1[Date]<=$F$2,TabData1[Date])))) 

为了简化(OFFSET($ J $ 2,0,0,COUNT(IF(ListAnimalType =“”,“,1)),1))可以使用$ J $ 2:$ J $ 5

 =SUMIFS(TabData1[Count],TabData1[Date],MAX(IF(TabData1[Animal Type]=$J$2:$J$5,IF(TabData1[Date]<=$F$2,TabData1[Date])))) 

看起来像这样

 =SUMIFS(TabData1[Count],TabData1[Date],MAX(IF({"Dog";"Cat";"Fish";"Dog";"Cat";"Pig";"Cat";0;0;0;0;0;0;0;0;0}={"Cat";"Dog";"Fish";"Pig"},IF(TabData1[Date]<=$F$2,TabData1[Date])))) 

就像我说过的,我想要一个公式,它会把每个动物types从指定的单元格中find最新的date,并返回每个动物types的总和,然后总结它们。