Fórmula Excel: Valor máximo se -

Índice

Fórmula genérica

(=MAX(IF(range=criteria,values)))

Resumo

Para obter um valor máximo com base em critérios, você pode usar a função MAX junto com a função IF em uma fórmula de matriz. No exemplo mostrado, a fórmula na célula G6 é:

(=MAX(IF(names=F6,times)))

Onde names é o intervalo nomeado B6: B17 e times é o intervalo nomeado D6: D17.

Observações: esta é uma fórmula de matriz e deve ser inserida com Control + Shift + Enter. Versões posteriores do Excel têm uma função MAXIFS, consulte a observação abaixo.

Explicação

A função IF é avaliada primeiro. O teste lógico é uma expressão que testa todos os nomes:

IF(names=F6 // logical test

O resultado é uma matriz de valores TRUE / FALSE como este:

(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)

Os valores TRUE correspondem a linhas em que o nome é "Hannah". Para todos os outros nomes, o valor é FALSE. O "valor se verdadeiro" para IF é o intervalo nomeado de tempos , que contém o conjunto completo de tempos. Nenhum "valor se falso" é fornecido:

IF(names=F6,times)

O resultado final de IF é uma matriz como esta:

(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 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 esse array diretamente para a função MAX, que ignora automaticamente os valores FALSE e retorna o tempo máximo no array.

Com MAXIFS

A função MAXIFS, disponível no Excel O365 e Excel 2019, foi projetada para retornar um valor máximo com base em um ou mais critérios sem a necessidade de uma fórmula de matriz. Com MAXIFS, a fórmula em G6 é:

=MAXIFS(times,names,F6)

Artigos interessantes...