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?
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á.
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.