Excel ignorar células em branco com subtração de data em uma matriz MIN

3

Estou tentando encontrar a menor diferença entre dois conjuntos de datas.

A fórmula de matriz mais simples funciona e encontra a menor diferença, mas se uma das colunas estiver faltando uma data, ela tratará a célula em branco como 0 e o resultado da diferença MIN em dias se tornará algo como -42634 (que não é o que eu quero).

{=MIN(X23:X95-P23:P95)}

Depois de algumas leituras, tentei subtrair apenas se as duas colunas não estiverem em branco e se funcionar com uma única linha ...

=IF(OR(ISBLANK(X23),ISBLANK(P23)),"",X23-P23)

ele retorna um erro #VALUE! se eu tentar envolvê-lo com MIN ...

=MIN(IF(OR(ISBLANK(X23),ISBLANK(P23)),"",X23-P23))

Não sou especialista em Excel, mas acredito que seja porque um MIN de nada além de células em branco emitirá um erro, pois eu devo ignorar espaços em branco. Usar MIN / MAX em 2 células com uma contendo uma data e a outra em branco parece confirmar isso, pois resulta na única data.

Eu tentei incorporar isso à fórmula original, mas não tenho ideia do que estou fazendo e acabo recebendo um erro #VALUE! novamente. Ajuda?

{=MIN(IF(OR(ISBLANK(X23:X95),ISBLANK(P23:P95)),"",X23:X95-P23:P95))}
    
por gavsiu 10.10.2016 / 08:57

1 resposta

2

OR avalia TODOS os seus parâmetros para UM RESULTADO (não apenas para pares).

Para avaliá-lo como você precisa usar IF(ISBLANK(X23:X95)+ISBLANK(P23:P95)...

Dica: para entender melhor sua fórmula, avalie e veja os resultados passo a passo na Fórmula - "Avaliar fórmula"

Editar

Usando operadores + , - , / , * O Excel converte automaticamente o valor booleano em inteiros (Verdadeiro - > 1; Falso - > 0), portanto, o acréscimo ( + ) funciona da mesma forma OR e multiplicação ( * ) funciona como AND.
Depois, IF converte os números de volta para booleano (0 - > Falso, diferente de zero - > Verdadeiro).

    
por 10.10.2016 / 10:24