Em sua fórmula, a parte IF () não retornará uma matriz quando houver um AND () como parte do teste lógico. Você pode verificar isso usando a ferramenta de depuração interna para fórmulas do Excel: destaque uma parte da fórmula na barra de fórmulas e pressione F9 .
Mas existe uma maneira de calcular a média que você deseja. No Excel, a multiplicação de valores lógicos converte valores de Verdadeiro / Falso em 1 e 0, que podem então ser manipulados posteriormente. Como exemplo, esta declaração
=(A2:A25>=D2)*(A2:A25<=E2)+(A2:A25>=D3)*(A2:A25<=E3)
retorna a matriz
{0;0;0;1;1;1;1;0;0;0;0;0;0;0;0;0;1;1;1;1;1;1;0;0}
dos dados na tabela abaixo. Aqui a multiplicação age como um AND lógico e a adição é quase como um OR lógico. (@ Máté Juhász pode falar aqui para explicar por que não é uma OR: -)
Esta matriz pode ser vista como uma "máscara" da coluna A com 1s correspondente aos dois intervalos de datas especificados pelas datas de início e término.
Agora, uma fórmula IF () pode usar essa matriz para gerar a lista de valores que você deseja avaliar:
IF(((A2:A25>=D2)*(A2:A25<=E2)+(A2:A25>=D3)*(A2:A25<=E3)),B2:B25)
Isto dá o array
{FALSE;FALSE;FALSE;42.9;82.3;90.5;15.6;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;70.8;85.5;19.2;85.4;21.3;55.7;FALSE;FALSE}
que agora pode ser alimentado para AVERAGE ().
Portanto, uma solução para o seu problema é uma fórmula semelhante a esta (matriz), em D6:
=AVERAGE(IF(((A2:A25>=D2)*(A2:A25<=E2)+(A2:A25>=D3)*(A2:A25<=E3)),B2:B25))
Altere os intervalos e os valores de data personalizados para se adequarem à sua situação.
Acélulaabaixode"Cheque" contém apenas um cálculo manual da média usando
=AVERAGE(B5:B8,B18:B23)
Espero que isso ajude e boa sorte.