If statement 复杂的数组公式-具有多个条件(包括日期范围)的查找

If statement 复杂的数组公式-具有多个条件(包括日期范围)的查找,if-statement,google-sheets,google-sheets-formula,array-formulas,gs-vlookup,If Statement,Google Sheets,Google Sheets Formula,Array Formulas,Gs Vlookup,我用这个谷歌表来跟踪校对工作。我正在尝试将填充公式的列更改为标题行1中的数组公式,以便它们自动应用于新条目,而不必填充它们 我有一个复杂的公式来计算工作总数!P: =if(O2>vlookup(E2,Discounts!A:B,2,0),O2-vlookup(E2,Discounts!A:B,2,0),0)* (index(Rates!$C$2:$C$30,match(B2&C2,Rates!$A$2:$A$30&Rates!$B$2:$B$30,0))+ vlookup(

我用这个谷歌表来跟踪校对工作。我正在尝试将填充公式的列更改为标题行1中的数组公式,以便它们自动应用于新条目,而不必填充它们

我有一个复杂的公式来计算工作总数!P:

=if(O2>vlookup(E2,Discounts!A:B,2,0),O2-vlookup(E2,Discounts!A:B,2,0),0)*
(index(Rates!$C$2:$C$30,match(B2&C2,Rates!$A$2:$A$30&Rates!$B$2:$B$30,0))+
vlookup(D2,Upcharges!A:B,2,0))*vlookup(E2,Discounts!A:C,3,0)
我的问题是第二行。现在,它引用周转和类别(Jobs!B:C)来返回速率(Rates!C),但我需要它同时查找(Jobs!F)中的日期在开始日期和结束日期(Rates!D:E)之间的速率

我尝试使用SUMIFS提取速率,但整个列只返回0:

={"Total"; ARRAYFORMULA(IF(ISBLANK(O2:O),"",
 IF(O2:O>VLOOKUP(E2:E, Discounts!A:B, 2, 0), 
    O2:O-VLOOKUP(E2:E, Discounts!A:B, 2, 0), 0)*
 (SUMIFS(Rates!C2:C,Rates!A2:A,B2:B,Rates!B2:B,C2:C,
Rates!D2:D,">="&F2:F,Rates!E2:E,"<="&F2:F)+
  VLOOKUP(D2:D, Upcharges!A:B, 2, 0))*VLOOKUP(E2:E, Discounts!A:C, 3, 0)))}
={“总计”;数组公式(如果为空(O2:O),”,
如果(O2:O>VLOOKUP(E2:E,折扣!A:B,2,0),
O2:O-VLOOKUP(E2:E,折扣!A:B,2,0),0)*
(速率!C2:C,速率!A2:A,B2:B,速率!B2:B,C2:C,
速率!D2:D,“>=”&F2:F,速率!E2:E,“尝试P1:

={"Total"; ARRAYFORMULA(
 IF(O2:O>VLOOKUP(E2:E, Discounts!A:B, 2, 0), 
    O2:O-VLOOKUP(E2:E, Discounts!A:B, 2, 0), 0)*
 (VLOOKUP(B2:B&C2:C, {Rates!A2:A30&Rates!B2:B30, Rates!C2:C30}, 2, 0)+
  VLOOKUP(D2:D, Upcharges!A:B, 2, 0))*VLOOKUP(E2:E, Discounts!A:C, 3, 0))}

感谢您的回复。这对我目前的情况有效,但不考虑费率的变化。现在如果我要更改费率,我只需复制现有的总计并粘贴值,然后继续使用底部添加的新工作的公式,但如果标题行中只有一个公式,这将不起作用。我需要它可以使用收到工作的日期,并在费率表上查找该日期介于开始日期和结束日期之间的费率。工作表中的哪个日期与创建工作表中的日期范围一致?F列中的日期