Foto de Felipe S.
Felipe há 1 ano
Enviada pelo
Site

Usando um procv com se

Preciso de uma ajuda, estou tentando fazer uma planilha e nela vai usar a seguinte logica, existe uma modalidade e nela você fica de primeiro a quarto colocado, e cada posição tem uma pontuação, fiz a seguinte formula; =SE(B5=1;PROCV(A5;Planilha2!1:1048576;2;0);SE(B5=2;PROCV(A5;Planilha2!1:1048576;3;0))), assim se o valor da posição for um, na outra planilha em que esta as pontuações, ele retornará o valor correspondente a posição, mas o excel trava quando eu tento usar mais uma condição, e vou precisar mais, porque um proximo passo é sem ser modalidades mas com mais topicos. Gostaria de saber se alguem consegue me ajudar a usar uma formula mais curta e eficiente, por favor, agradeço a atenção.

Excel Geral
3 respostas
Professor Gerson R.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Gerson Francisco

A fórmula PROCV pode ficar um pouco complicada e lenta quando é usada para grandes intervalos. Aqui estão algumas sugestões para criar uma fórmula mais curta e eficiente:

Uso de Tabela: Se possível, transforme sua lista na Planilha2 em uma tabela. Isso simplificará as referências e evitará o uso de intervalos fixos enormes, tornando a fórmula mais rápida e clara.

Para fazer isso:

  • Selecione os dados na Planilha2.
  • Vá para a aba "Inserir" e clique em "Tabela".
  • Dê um nome a essa tabela, por exemplo, "Pontuacao".

Depois, você pode substituir Planilha2!1:1048576 por Pontuacao na fórmula, ou usar a notação TABELA[PONTOS] para fazer referência à coluna de interesse.

FUNÇÃO INDICE e CORRESP: Para tornar sua fórmula mais eficiente, combine as funções INDICE e CORRESP. Essa combinação evita a necessidade de especificar uma grande área para a função PROCV vasculhar.

  • INDICE retorna um valor com base em uma posição específica dentro de um intervalo.
  • CORRESP retorna a posição de um valor específico dentro de um intervalo.

Uma possível reformulação da sua fórmula seria:

=SE(B5=1;INDICE(Pontuacao[Pontos1];CORRESP(A5;Pontuacao[Modalidades];0));SE(B5=2;INDICE(Pontuacao[Pontos2];CORRESP(A5;Pontuacao[Modalidades];0));...))
 

Nesta fórmula, substitua Pontuacao[Modalidades] e Pontuacao[PontosX] pelos nomes reais das colunas que você nomeou na tabela "Pontuacao".

Uso de Macros ou Funções Personalizadas: Se você precisar de muitas condições complexas, considere criar uma função personalizada com VBA ou usar uma linguagem de programação externa para lidar com a lógica e retornar o resultado no Excel. Essa pode ser uma solução eficiente a longo prazo.

Espero que isso ajude a simplificar sua planilha e a resolver problemas de desempenho. Se precisar de mais dicas, estou por aqui para ajudar!

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta

Envie sua pergunta

Professor Leonardo S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Leonardo

Oi Felipe!

 

Tenta essa: =SES(Planilha1!A5=1;Planilha2!D4;Planilha1!A5=2;Planilha2!D5;Planilha1!A5=3;Planilha2!D6;Planilha1!A5=4;Planilha2!D7)

 

Boa sorte!

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Vilson B.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Vilson Rafael

No PROCV não use a coluna inteira do Excel até a linha 1048576. Use somente o intervalo que conterá dados. 1000 linhas, por exemplo. Assim, o excel não terá que percorrer o um milhão de linhas.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta

Aprenda do seu jeito, no seu ritmo

Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App
Escaneie o QR Code para baixar