MAX SE a célula anterior for igual a TRUE no EXCEL

MAX SE a célula anterior for igual a TRUE no EXCEL

EDITADO PARA INCLUIR EXEMPLO: Como faço para exibir o número MAX de uma linha somente SE a célula anterior for igual a TRUE?insira a descrição da imagem aqui

Quero exibir a data mais recente de um evento atendido. Mas só se a pessoa tiver comparecido ao evento.

Como você pode ver, a data do último evento do John deveria ser 13/02/2019, mas a fórmula que tenho agora só obtém o melhor dia sem levar em conta se a pessoa compareceu ao evento ou não. Isso é possível de conseguir?

Responder1

Se você tem MAXIFS:

=MAXIFS(B:B,A:A,TRUE)

Caso contrário, você pode fazer AGGREGATE:

=AGGREGATE(14,7,$B$1:$B100/($A$1:$A$100),1)

ou esta fórmula de matriz:

=MAX(IF($A$1:$A$100,$B$1:$B100))

Este último requer o uso de Ctrl-Shift-Enter em vez de Enter ao sair do modo de edição.

Os dois últimos são fórmulas do tipo array e, como tal, os intervalos referenciados devem ser limitados aos conjuntos de dados.

Responder2

a resposta curta é fazer matemática matricial!

Basicamente, podemos pegar as colunas e multiplicá-las, e então encontrar o “MAX”. "True" tem o valor 1, enquanto "False" tem o valor 0. Supondo que sua coluna "true/false" seja "A" e sua coluna de valor seja "B", você desejará algo como:

=MAX(($A:$A)*($B:$B))

IMPORTANTE

Para fazer a matemática matricial... O Excel exige que você pressione controlshiftenterpara matemática matricial. Simplesmente digitar a fórmula e pressionar enternão funcionará.

insira a descrição da imagem aqui

Existe um problema com esse método... isso terá problemas com números negativos... já que colunas falsas serão avaliadas como 0... e, portanto, o máximo será 0.

informação relacionada