Acho que você pode ter um problema com a maneira como estruturou a fórmula de matriz. Apenas descompactando sua declaração, você estará construindo uma matriz que terá quantas linhas você tiver, com cada linha contendo o resultado do COUNTIF ($ L $ 7: $ L30, "a") se a condição de data for satisfeita ou 0.
Como você não está aplicando nenhuma função de contagem envolvendo todo o lote, a função retornará toda a matriz, mas você só verá o primeiro resultado na célula, e é por isso que ela parece ser controlada apenas por uma célula.
Uma maneira alternativa de abordar isso seria a seguinte:
Seus três testes (para cada linha) são:
- data > = B38
- data < = C38
- condition="a"
e você só quer contar onde todos os três são verdadeiros.
Com bastante propriedade, os valores verdadeiros são avaliados como 1 e falsos como 0, portanto, podemos usar uma operação de multiplicação para obter o que você deseja.
Então, para uma única linha, você gostaria de fazer o seguinte
(C7 >= B38) * (C7 <= C38) * (L7="a")
(e, obviamente, expandindo-o para C7: C30, etc., para cobrir suas linhas de interesse)
Para então recolher isso em um único valor, você quer envolver todo o lote em uma instrução SUM (), que irá apenas percorrer a lista e adicionar todos os valores juntos.
SUM( (C7:C30>B39) * (C7:C30<=C39) * (L7:L30="a") )
Além disso, apenas se você estivesse curioso para ver, volte à sua fórmula original e envolva-a com uma instrução sum (), e você verá o resultado como o número de vezes que seu status é definido como " um ", multiplicado pelo número de linhas que atendeu à condição de data.
(notando: as fórmulas de array usam um pouco de atenção inicial, mas uma vez que você percebe isso, elas funcionam bem. Originalmente eu li sobre elas em link que ainda é uma boa explicação se tudo ainda é confuso ..)