Notifications
Clear all

escolher OU e E dinamicamente na mesma formula

17 Posts
4 Usuários
0 Reactions
2,862 Visualizações
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

estou tentando determinar uma formula de múltiplas escolhas

=SE(E(BM$38>=$AD39;BM$38<=$AG39;$BL39<>0);SE(SE(SE($AI39;CONT.SE(INDIRETO($AJ39);BM$38));1;SE(SE($AM39;CONT.SE(INDIRETO($AN39);BM$38));1;SE(SE($AQ39;CONT.SE(INDIRETO($AR39);BM$38));1;SE(SE($AU39;CONT.SE(INDIRETO($AV39);BM$38));1;SE(SE($AY39;CONT.SE(INDIRETO($AZ39);BM$38));1;)))));CONT.SE(INDIRETO($A$2&BM$4&$BJ39&":"&BM$4&$BK39);$BI39)*$BL39;0);0)

reparem a bagunça não

o tanto de SEs é para não executar a proxima verificação
talvez fosse melhor usar apenas formulas com OU e E, mas como são varias tabelas acho que ficaram mais lento verificar todas elas

=SE(E(BM$38>=$AD39;BM$38<=$AG39;$BL39<>0);SE(
OU(
E($AI39;CONT.SE(INDIRETO($AJ39);BM$38));
E($AM39;CONT.SE(INDIRETO($AN39);BM$38));
E($AQ39;CONT.SE(INDIRETO($AR39);BM$38));
E($AU39;CONT.SE(INDIRETO($AV39);BM$38));
E($AY39;CONT.SE(INDIRETO($AZ39);BM$38));
);
CONT.SE(INDIRETO($A$2&BM$4&$BJ39&":"&BM$4&$BK39);$BI39)*$BL39;
0))

mas com mais de 1500 formulas iguais o Se por algum motivo acabou sendo mais rapido

apesar de precisar fazer alguns ajuste a formula funciona

bem, o fato é, ela funciona como um OU, se um dos parametros for positivo a formula faz a contagem dos valores estipulados

pois bem
oq pretendo é poder escolher vai funcionar como OU ou Como E para os pararametros ativados, mas sem complicar muito a formula

talvez algo do tipo
E(
ou(não($AI39);E($AI39;CONT.SE(INDIRETO($AJ39);BM$38)));
ou(não($Am39);E($AM39;CONT.SE(INDIRETO($AN39);BM$38)));
ou(não($Aq39);E($AQ39;CONT.SE(INDIRETO($AR39);BM$38)));
ou(não($AU39);E($AU39;CONT.SE(INDIRETO($AV39);BM$38)));
ou(não($AY39);E($AY39;CONT.SE(INDIRETO($AZ39);BM$38)));
)

acho que pesaria muito a planilha toda
mas eu perderia o fator OU e eu preciso que tanto uma quanto outra seja possivel
será que tem uma maneira melhor de ser fazer esse tipo de estratégia?

 
Postado : 26/05/2016 3:07 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Como eu costumo dizer sempre uma planilha de exemplo com explicações do que se pretente e demonstrando o resultado, vale mais que qualquer explicação pra la de confusa.

Sendo assim, disponibilize o arquivo.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 26/05/2016 3:37 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

realmente seria o ideal,
infelizmente criar um arquivo de exemplo dessa tralha toda seria bem complicado
apesar que eu sou nrolado até com planilhas de exemplo

mas acho que consegui alguma coisa com somaproduto e indireto
estou tentando aqui ainda

 
Postado : 26/05/2016 4:20 pm
 RMC
(@rmc)
Posts: 54
Trusted Member
 

A função se você não necessariamente é obrigado a usar a condição falso, você pode retornar o valor para somente o teste lógico verdadeiro, dependendo do caso se o resultado que queira for uma soma pode usar as funções somase, somases ou somarproduto.
Uma dica: você também pode usar a função VERDADEIRO para fazer o teste lógico de varias células assim somente o conteúdo da função VERDADEIRO irá ser retornado. Lembrando também que dependendo da quantidade de comparações e a versão do excel que tiver usando será limitado não me lembro o número máximo de teste na mesma célula então pode cuidado para não ultrapassar esse limite também.

 
Postado : 26/05/2016 4:36 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

tentando explicar melhor com uma formula mais simples e da parte importante nesse momento

=E(
OU(NÃO($AI39);E($AI39;CONT.SE(INDIRETO($AJ39);BM$38)));
OU(NÃO($AM39);E($AM39;CONT.SE(INDIRETO($AN39);BM$38)));
OU(NÃO($AQ39);E($AQ39;CONT.SE(INDIRETO($AR39);BM$38)));
OU(NÃO($AU39);E($AU39;CONT.SE(INDIRETO($AV39);BM$38)));
OU(NÃO($AY39);E($AY39;CONT.SE(INDIRETO($AZ39);BM$38)))
)
o =E( teria que poder ser OU ou E dependendo do valor de uma celula

no caso com E( é a mesma coisa que
=SOMARPRODUTO(
OU(NÃO($AI39);E($AI39;CONT.SE(INDIRETO($AJ39);BP$38)))*
OU(NÃO($AM39);E($AM39;CONT.SE(INDIRETO($AN39);BP$38)))*
OU(NÃO($AQ39);E($AQ39;CONT.SE(INDIRETO($AR39);BP$38)))*
OU(NÃO($AU39);E($AU39;CONT.SE(INDIRETO($AV39);BP$38)))*
OU(NÃO($AY39);E($AY39;CONT.SE(INDIRETO($AZ39);BP$38)))
)
não sei se fui claro

 
Postado : 26/05/2016 4:38 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

@RMC
na função SE eu acabei me enrolando um pouco por causa das verificações internas
com OU tbm funciona e fica imensamente mais simples, mas por algum motivo a planilha ficou mais pesada, pouca coisa mas ficou
a formula até faz oq se pretendia, mas como eu sempre gosto de complicar acabei arrumando mais ideias

 
Postado : 26/05/2016 4:44 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

uma tabela verdade
OU(NÃO($AI39);E($AI39;CONT.SE(INDIRETO($AJ39);BP$38)))

OU(NÃO(a);E(a;b)))
a=sim/não
b=sim/não

a=não
OU(não;E(sim;nao))) = não
OU(não;E(sim;sim))) =sim
a=não
OU(sim;E(nao;sim))) =sim
OU(sim;E(nao;nao))) =sim

no caso é para o E verificar se as questões ativas estão corretas
tipo de questões
trinta
vai contar valores entre 30 e 39
se selecionar 2 questões
trinta e par por exemplo
vai contar apenas os valores 30,32,34,36,38
isso com o E(
com o OU(
contaria qualquer valor que estiver em uma ou na outra categoria

 
Postado : 26/05/2016 7:02 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Nao sei qual a dificuldade de criar uma planilha de exemplo.

A planilha de exemplo é a mesma planilha que vc esta inserindo as formulas, nao precisa de todas as abas, apenas as envolvidas no seu calculo

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 27/05/2016 9:02 am
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

bem, a questão é de funcionalidade e não de funcionamento
claro que alguem fera em formulas poderia mudar todo o esquema e tabelas para fazer funcionar,
mas eu só quero dicas superficiais mesmo, para fazer por mim mesmo

eu tbm poderia colocar celulas auxiliares para fazer isso funcionar ou até fazer por VBA mas quero me aprofundar mais em formulas ,
apesar de estar fazendo algo simples para mim ainda é meio complicado

mas acabei de reparar que tenho tabelas que podem se somar mas outras vão ser sempre nulas então o E não poderia ser aplicado
tipo
40 e 2
iria retonar apanas se tivesse 42 ,
30 e 1
iria voltar as que fossem 31

mas 40 e 30 ?
com E ia dar nulo sempre
então estou estudando como combinar questões de tabelas logicas , o problema é separar as tabelas e manter as escolhas na mesma caixa de combinação

 
Postado : 27/05/2016 10:50 am
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

oq estou fazendo é só uma planilha para loteria para brinca
mas é legal ir incorporando essas questões e funcionalidades, é como fazer um programa,

oq a formula faz
nessa imagem
ela conta o valores na faixa do 30 do sorteio 1630 Até 1652
depois conta o valor 38 e negativa o valor , oq o gráfico apresentar todas as contagens, menos a contagem do 38

se para mim já tá dificil concilia essas coisas imagina quando eu for adicionar oq já tenho em mente mas é muito mais complicado de se fazer

 
Postado : 27/05/2016 11:29 am
 RMC
(@rmc)
Posts: 54
Trusted Member
 

Para contar os valores não seria melhor usar o cont.ses?
exemplo:
Na celúla que você quer por exemplo a A1
=CONT.SES(A2:F2;">="&30;A2:F2;"<="&39) (o resultado seria 3 considerando a tabela/matriz abaixo)
tabela/matriz
quanto as outras questões sinceramente não entendi exata por isso sugiro que você poste um arquivo de exemplo ou apenas diga o que você fazer por partes dai seria mas facil de entender como um todo, qualquer dúvida ou outra coisa o que podermos ajudar estaremos aqui blz.

obs.: porque você não utiliza a função aletório ou aleatório entre (caso você queira gerar números), mas caso você queira apenas fazer funções de soma e de contar determinados valores e ou critério então sugiro utilizar as fórmulas: se, somase, somases, indice, corresp, somarproduto. Mas isso também igual te falei acima vai depender de que resultado você quer e como também rs.

 
Postado : 27/05/2016 1:29 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

o problema de contses ou somases é que as tabelas tem que ser do mesmo e a verificação é em sincronia
tamanho e os critérios que estou implantado alem de categorias diferentes são de tamanho diferentes

aleatório não vem ao caso pq a contagem é em cima do próprio resultado seguido os parâmetros escolhidos

parece banal por ser para loteria ,
mas o mesmo esquema pode ser feito para planilhas de empresas como filtro de dados que se quer do banco de dados

 
Postado : 27/05/2016 1:49 pm
(@luizhcosta)
Posts: 420
Honorable Member
 

Olá,

Minha dica, ainda que sem entender bema sua dúvida e baseado apenas na quantidade enorme de condicionantes é que, procure informações sobre a função ESCOLHER. Existem vários vídeos no youtube. Com certeza vai ajudar você a construir ações diante das condicionantes.

Exemplo: Suponha que no intervalo A2:A10 existam valores diversos. Na inha B2 insira uma validação da dados do tipo Lista com as opões 1;2;3. Na célula C2
insira a fórmula:

=ESCOLHER(B1;SOMA(A1:A10);MÉDIA(A1:A10);MAIOR(A1:A10;1))

Alterne os números da célula B1. Quando tiver 1, vai somar o intervalo A2:A10, quando tiver 2, vai calcular a média do intervalo e quando tiver 3, vai mostrar qual o maior valor.

Dessa forma você pode economizar os "SE"s da vida.

Boa sorte.

 
Postado : 27/05/2016 5:07 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

oi luizhcosta
a função escolher seria para apenas 1 das varias alternativa
oq eu pretendo é multi escolha

acabei tirando os múltiplos SEs e colocando E( que é mais facil trabalhar como switch pelo menos para mim
o problema entra nas combinações mistas
acho que para fazer oq eu quero vou ter que colocar celulas auxiliares para verificar a qual caixa de função a regra excolhida entra
a brincadeia está ficando bem complexa :(

uma imagem para aclarar

 
Postado : 27/05/2016 6:58 pm
(@edcronos2)
Posts: 346
Reputable Member
Topic starter
 

, isso de formula não é para mim não
até imagino como fazer com linhas auxiliares , mas teria que ser uma linha para cada categoria X linhas de opções + 1 de resultado final da união das categorias
isso no atual estado da planilha daria 7 linhas auxiliares X 14 linhas de opções X 100 colunas

isso se não ficar lento fica bem dificil de se expandir com novos recursos, coisa que eu adoro fazer

Acho que vou partir para uma função personalizada mesmo e ve no que dá

 
Postado : 29/05/2016 6:18 am
Página 1 / 2