Função matricial ou proc avançado

Olá!
Eu tenho uma base de dados contendo esse formato:
1) Código de um projeto | 2) Nome de um projeto | 3) Nível de entrega do projeto
O nível de entrega para um mesmo código pode mudar. Ex:
Código 1 Nome A Nível 1
Código 1 Nome A Nível 2
Código 1 Nome A Nível 4

Em outra base eu procuro o número do código e quero que retorne o mais valor encontrado. Ex: quando eu procuro o código 1 eu quero que me retorne o nível de entrega 4 (pois é o maior).
Minha base é gigante então tinha que ser automático isso! Muito obrigada!!!!

Flávia H.
Flávia
perguntou há 4 meses

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
3 respostas
Professor Mateus M.
Respondeu há 4 meses
Melhor resposta
Melhor resposta escolhida pelo autor da dúvida
Se eu entendi bem a montagem da sua planilha, você pode fazer essa pesquisa utilizando a função MÁXIMOSES.
A função máximoses possui 3 parâmetros básicos: intervalo_máximo (intervalo onde a função deve buscar o valor máximo, no caso a coluna de nível) ;intervalo_critérios (intervalo onde será validado o critério, ou seja, qual código ele deve buscar); critérios (o campo de código em que você digita qual código quer pesquisar).
Isso só funciona para números, então depende muito de como sua planilha está montada. Se precisar de mais ajuda, pode chamar!
Professor Luiz G.
Respondeu há 4 meses
Me mande um exemplo com mil linhas dessa base por email que eu irei resolver e enviar a resposta comentada para ti.
luiz.grf@hotmail.com
Professor Rômero S.
Respondeu há 4 meses
Flávia, tudo bem?
A resposta para a sua pergunta vai depender de que tipo de persistência de dados você prefere/precisa utilizar...
Se você tiver a possibilidade de escolha, recomendo que use um banco de dados "NoSQL", ou seja, sem integridade referencial diretamente no banco de dados mas sim em um esquema de documentos em que o Nível de entrega do Projeto seja uma lista de objetos como parte do teu objeto Projeto.
Se houver a necessidade de manter a integridade referencial em um banco de dados como Mysql, SqlServer ou Oracle, a recomendação é que (caso você ainda não esteja fazendo assim) indexe ID do projeto + ID do nível em uma tabela itermediaria (NxN) e que adicione um campo nessa tabela de NxN indicando qual o ID/nível de maior valor... Perceba que desta forma você está desnormalizando as tabelas sem perder a integridade e transferindo o processamento pesado para a persistência ao invés de deixá-lo na busca... A partir de então, você irá sempre recalcular qual o maior nível quando estiver salvando um novo relacionamento ProjetoxNível e vai persistir esse novo Id de nível maior nas tuplas de relacionamento (NxN), a busca então passa a ser direta: "select distinct maxNivel from tabela_projeto_nivel projNiv where projNiv.id_projeto = XYZ join tabela_nivel nivel on projNiv.id_nivel = nivel.id_nivel"... Perceba que agora o acesso ao nivel será diretamente via ID, que é o melhor que você consegue de performance em um esquema de integridade referencial.

Professores particulares de Computação

+ Ver todos
Encontre e contrate um professor particular para te ajudar nos estudos.
São Paulo / SP
Doutorado: Doutorado em Física Teórica (Instituto de Fisica da USP)
Programação em C Computação - Shell script
Técnico em Química. Bacharel em Física pelo Instituto de Física da USP(IFUSP)/São Paulo. mestre em Física Teórica IFUSP, doutorando em Física pelo IFUSP.
Oferece aulas online (sala profes)
Oferece aulas presenciais
R$ 50 / aula
Conversar Whatsapp do professor Luiz H. Whatsapp do professor Luiz H. WhatsApp
1ª aula demonstrativa
Responde em 42 min
São Paulo / SP
Graduação: Processamento de Dados (Fatec Sorocaba)
Computação - Algoritmos Programação em C Lógica de Programação Estrutura de dados
Porque sim, não é resposta! Então vamos buscá-la e vencer mais essa etapa.
Oferece aulas online (sala profes)
Oferece aulas presenciais
R$ 40 / aula
Conversar Whatsapp do professor Marzi O. Whatsapp do professor Marzi O. WhatsApp
1ª aula demonstrativa
Responde em 3 h e 50 min
4 avaliações
Cotia / SP
Graduação: Licencieatura em matemática (Centro Universitários Uninter)
Computação - Algoritmos Programação em C Arduino - Computação Estrutura de dados Computação - Programação Computação - Algoritmos em C Python
Formado na UNICAMP em Ciência da Computação, atualmente cursando Licenciatura em Matemática. Mais de 10 anos de experiência no mercado de trabalho desenvolvendo projetos de impacto internacional em C, C++ e Python com um histórico de clientes como a Editora Abril, Livepass, IBM e Motorola.
Oferece aulas online (sala profes)
Oferece aulas presenciais
R$ 60 / aula
Conversar Whatsapp do professor Everton C. Whatsapp do professor Everton C. WhatsApp
1ª aula demonstrativa
Responde em 53 min

Pergunte aos nossos professores

Você possui uma lista de exercícios ou Trabalho?

Se seu problema for dificuldade em uma lista de exercícios, revisão de teses e dissertações, correção de textos ou outros trabalhos, peça uma ajuda pelo Tarefas Profes.

Enviar Tarefa