
Fórmula genérica
(=MIN(IF(range=criteria,values)))
Resumo
Para obter um valor mínimo com base em critérios, você pode usar a função MIN junto com a função IF. No exemplo mostrado, a fórmula em G6 é:
(=MIN(IF(names=F6,times)))
Onde "nomes" é o intervalo nomeado B6: B17 e times é o intervalo nomeado D6: D17.
Esta é uma fórmula de matriz e deve ser inserida com Control + Shift + Enter.
Explicação
A função IF é avaliada primeiro com o seguinte teste lógico:
names=F6
Isso gera uma matriz de valores TRUE / FALSE, onde TRUE corresponde às linhas em que o nome corresponde ao valor em F6:
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)
O "valor se verdadeiro" para IF é o intervalo nomeado "tempos", que retorna o conjunto completo de horas. O resultado é que a matriz do teste lógico "filtra" efetivamente os valores de tempo. Quando um resultado é TRUE, o tempo é passado para o array retornado por IF. Quando um resultado é FALSE, o valor do tempo é substituído pelo booleano FALSE:
(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)
Observação: os tempos do Excel são valores fracionários, o que explica os valores decimais longos.
A função IF atua como um filtro. Apenas os valores de tempo associados a TRUE passam pelo filtro, outros valores são substituídos por FALSE.
A função IF entrega este array diretamente para a função MIN, retorna o valor mínimo no array. Valores FALSE são ignorados automaticamente.
Células vazias
Células vazias farão com que valores zero sejam passados para MIN, o que pode causar resultados inesperados. Para "filtrar" células vazias, você pode adicionar outro IF aninhado como este:
=MIN(IF(names=F6,IF(times"",times)))
Com MINIFS
A função MINIFS, introduzida no Excel 2016 via Office 365, foi projetada para calcular mínimos com base em um ou mais critérios sem a necessidade de uma fórmula de matriz. Com MINIFS, a fórmula em G6 é:
=MINIFS(times,names,F6)