Notifications
Clear all

Encontrar MAIOR valor com parametros

6 Posts
3 Usuários
0 Reactions
1,718 Visualizações
(@areias001)
Posts: 0
New Member
Topic starter
 

Pessoal, bom dia,

Seguinte, tenho uma tabela com diversas datas de reunião ( essas reuniões podem ser na segunda-feira ou na quinta ) e o número de frequentadores em cada reunião.

Meu objetivo é criar uma outra tabela com as informações compiladas de cada mês, minha dificuldade está no campo "Máximo de Frequentadores". Pensei em utilizar a função MAIOR, mas não sei como criar a matriz com os parametros que eu quero.

Na planilha que enviei como exemplo, os dados que quero analisar estão pintados com cores diferentes.

 
Postado : 03/05/2016 5:37 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Coloque em B15 e finalize como matricial, ou seja, ao invés de usar Enter, use Ctrl+Shift+Enter:

=MAIOR(--($B$4:$Z$4=ANO(B$12))*--($B$5:$Z$5=MÊS(B$12))*--($B$6:$Z$6=2)*$B$8:$Z$8;1)

Dps, arraste pra direita.

 
Postado : 03/05/2016 6:44 am
(@gui-d)
Posts: 0
New Member
 

Coloque em B15 e finalize como matricial, ou seja, ao invés de usar Enter, use Ctrl+Shift+Enter:

=MAIOR(--($B$4:$Z$4=ANO(B$12))*--($B$5:$Z$5=MÊS(B$12))*--($B$6:$Z$6=2)*$B$8:$Z$8;1)

Dps, arraste pra direita.

O colega Fernando está absolutamente correto em sua colocação, que lhe trará o resultado desejado.

Mas somente para enriquecer o tópico, a fórmula em questão dispensa os sinais "duplo negativos", pelo fato de estar calculando resultado booleano sobre resultado booleano, então a primeira condição efetua a multiplicação sobre a segunda e assim sucessivamente.
Ficando assim.

=MAIOR(($B$4:$Z$4=ANO(B$12))*($B$5:$Z$5=MÊS(B$12))*($B$6:$Z$6=2)*$B$8:$Z$8;1)

No caso o uso seria necessário se existisse uma única condição de verdadeiro ou falso.

Abraço.

 
Postado : 03/05/2016 8:06 am
(@areias001)
Posts: 0
New Member
Topic starter
 

Funcionou!

Porém, alguém poderia explicar a lógica na montagem dessa matriz? fiquei meio perdido por causa das multiplicações.

 
Postado : 03/05/2016 8:35 am
(@areias001)
Posts: 0
New Member
Topic starter
 

Fiz a matriz aqui na mão e entendi como funciona...Obrigado!

Acho que essa linha de raciocínio deve me ajudar a resolver outros problemas!

 
Postado : 03/05/2016 8:40 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Em lógica de programação, multiplicação é o mesmo que condição E.
Fica bem legal mas a lógica é mto bacana né?
O mais importante é que os intervalos tem que ter o mesmo tamanho. E em seguida, fiz uma séria de comparações, que resultam em matrizes de verdadeiros e falsos. *(ou 0s e 1s).
Quando multiplicamos essas matrizes individuais, a tendência é sobrarem menos e menos resultados com 1... e nessa nova matriz, multiplicamos pelos valores procurados e temos tudo zerado, menos os valores que vc de fato quer. Daí usamos uma função qquer pra buscar o valor procurado, neste caso, usei MAIOR(), mas se vc colocar soma() e tirar o 1 do final, terá o total de reuniões, enfim, pode usar muitas coisas ali... Matriciais são geniais, e é um treino brother ! tem gente que fica presa na soma matricial, mas o mundo é muito maior que isso!

Sim, e o Guilherme tem razão *(valeu brother) . Como tem mais de uma condição, os -- são desnecessários, eu coloco por força do hábito e acho mais bonito.
é só uma forma de forçar verdadeiro a ser 1, e falso a ser 0.

 
Postado : 03/05/2016 8:54 am