[Excel] Separar dados em 4 grupos no Excel - Microsoft Office - Clube do Hardware
Excel Separar dados em 4 grupos no Excel
Por daviddatal, 13 de dezembro de 2017 em Microsoft Office
Suponha que eu tenha uma lista de 40 candidatos para trabalhar numa empresa, tenho uma tabela contendo:
-pontuação da entrevista;
-deficiência.
Pretendo separá-los em 4 setores, cada um com 10 pessoas trabalhando:
Os candidatos escolherão o setor de trabalho de acordo com a pontuação obtida na entrevista; quem tirou mais pontos escolhe o setor de trabalho, e assim por diante até o candidato que tirou menos pontos. Obviamente o último candidato (nº 40 na ordem) não terá opção de escolha.
Mas existe um critério nessa separação: para cada setor será permitido ter 6 pessoas com ensino médio, 3 pessoas com ensino fundamental e 1 com deficiência, totalizando as 10 pessoas por setor.
Então por exemplo, já tem 6 pessoas com ensino médio no administrativo, o próximo candidato com ensino médio não poderá escolher o administrativo, pois as 6 vagas destinadas a esse quesito já foram preenchidas, terá que escolher um dos outros 3 setores. Outro exemplo, já tem 2 pessoas com ensino fundamental no atendimento, o próximo candidato com ensino fundamental poderá escolher ficar no atendimento, pois ainda resta uma vaga das três disponíveis.
Como posso fazer isso no Excel? Sem grandes formatações, apenas a estrutura, tendo uma planilha com os dados dos 40 candidatos, 4 planilhas mostrando os candidatos que irão trabalhar nos 4 setores, e talvez outra planilha para as fórmulas, se for o caso.
Quais seriam os passos a seguir? Fórmulas em cada etapa, macros, lista suspensa...
Boa tarde @daviddatal
Lembre-se que entendemos um pouco de Excel, mas estamos por fora do assunto da tua dúvida, por isso, sem anexar uma planilha com os dados lançados, já demonstrando resultado esperado (já explicando como), fica difícil do pessoal ajudar.
Consegui fazer algumas etapas.
Minha dificuldade atual é:
Criar uma lista suspensa (validação de dados) para que eu possa escolher um dos 4 setores de trabalho.
Mas só quero que apareça nessa lista suspensa os setores que ainda tem vaga.
SETOR | VAGAS
-administrativo | 2
-atendimento | 5
-financeiro | 3
-vendas | 1
Nesse caso de cima os 4 cursos apareceriam na lista suspensa, pois ainda tem vagas para os 4.
Mas por ex;
-administrativo | 0
-financeiro | 0
Nesse caso de cima só apareceriam na lista suspensa os setores "ATENDIMENTO" e "VENDAS", pois são os únicos que ainda tem vaga.
Que função ou grupo de funções devo usar na validação de dados para que só apareçam na lista suspensa os cursos que ainda tem vaga?
Fiz um exemplo do que você pediu.
Para ver como eu fiz --> com cursor na célula D2 --> Guia Dados --> Validação de Dados --> Validação de Dados.
Fórmulas auxiliares nas colunas S e T.
14_12_17_Lista de validação apenas de maiores que zero_Patropi.xlsx
Editado 14 de dezembro de 2017 por Patropi
Era isso que eu precisava, Patropi.
Eu gostaria de saber o passo a passo que você fez nesse cálculo.
Primeiro eu apliquei na coluna T, uma formula auxiliar, que testa se a célula da coluna B é maior que 0, se for, vai lançar um sequência numérica que irá ser usado pela formula da coluna S para retornar só os dados maiores que zero, se não for vai deixar vazio.
Na coluna T apliquei uma formula com a função ÍNDICE e CORRESP, que funciona igual ao PROCV, para retornar somente os dados das linhas onde tem a sequência numérica criada pela outra formula auxiliar.
Como a lista da coluna S ode aumentar ou diminuir, no lugar de colocar o intervalo fixo, usei uma função para tornar o intervalo dinâmico, utilizando para isso as funções DESLOC e CONT.S, daí fui em gerenciador de nomes --> Novo ---> em nome digitei Setor --> em Refere-se digitei a formula --> DESLOC(Plan1!$S$1;1;;CONT.SE(Plan1!$S:$S;"?*")-1).
Depois Selecionei o intervalo de D2 até D5 -->cliquei em Dados --> Validação de Dados --> Selecionei Lista --> na janela que abriu em fonte ---> =Setor --> OK
Na célula E2 --> digitei a formula --> =SE(D2="";"";PROCV(D2;$A$2:$B$5;2;0)) --> que verifica se a célula D2 estiver vazia, deixa vazia, senão executa a fórmula com a função PROCV. e arrastei a formula até a linha E5.
Se você tiver dificuldades em aplicar as formulas, sugiro estudar as funções do Excel, para isto basta fazer uma pesquisa no Google que vai encontrar excelentes Apostilas, tutoriais e vídeo aulas sobre qualquer função do Excel.
Editado 15 de dezembro de 2017 por Patropi
Anexei um arquivo.
A primeira tabela da direita é para informar as quantidades de vagas por setor, etc.
a segunda tabela da direita é só para visualizar as vagas restantes e fazer os cálculos, não deve ser alterada.
Inseri na tabela da esquerda alguns valores fictícios, mas quero que ela contenha 200 candidatos (50 irão trabalhar em cada setor), por hora coloquei só 10 ao todo por setor para facilitar as contas.
@Patropi, usei o seu código nas colunas S e T 3 vezes, uma para vagas de nível médio, outra para vagas de nível fundamental e outra para vagas de deficiência.
Desejo criar uma MACRO que separe todos os candidatos por curso, colocando-os nas 4 planilhas (ADMINISTRATIVO, ATENDIMENTO, FINANCEIRO E VENDAS).
Até tentei criar várias MACROS (primeira vez que uso MACROS), usando o recurso "filtros de texto", "É igual a", na coluna SETOR, e colocava o nome de cada setor por vez, mas tem hora que a MACRO faz é apagar os dados da planilha candidatos...
Primeiro passo da MACRO que fiz foi apagar o que já tinha nas 4 planilhas dos setores, para preparar caminho e atualizar, depois fui filtrando por setor a tabela de candidatos, copiava o que aparecia (copiava 10 linhas nesse teste) e jogava na planilha correspondente, fiz isso 4 vezes. Mas costumava dar erros, principalmente quando as linhas selecionadas estavam vazias (nos testes em que eu ainda não tinha preenchido a lista de candidatos).
Quero eliminar a mensagem de erro quando digito um dos 4 setores pela sexta vez, quando a vaga é destinada ao nível médio (células F8, F14 e F20).
Percebo que se já tiverem 3 setores preenchidos com as 6 vagas no nível médio cada, o quarto setor não mostra mensagem de erro ao digitar/selecionar pela sexta vez o nome do dele. Também percebo que se eu escolher na lista suspensa o tipo de setor antes de escolher se tem ou não deficiência a mensagem de erro não aparece. Quando todas as células estão preenchidas na coluna SETOR, como é o caso do arquivo que anexei, as mensagens de erro não aparecem, tem que limpar a coluna SETOR para o erro aparecer.
Então, como posso melhorar essa planilha?
SETORES.rar
Editado 15 de dezembro de 2017 por daviddatal
Basicamente, o que preciso é:
1º) A MACRO limpe os dados nas 4 planilhas (ADMINISTRATIVO, ATENDIMENTO, FINANCEIRO, VENDAS)
2º) A MACRO filtre a tabela de candidatos por setor;
3º) A MACRO copie o que irá aparecer nessa tabela para a planilha correspondente, ex, filtrar por "ADMINISTRATIVO" vai copiar os dados para a planilha ADMINISTRATIVO. Fazer essa operação 4 vezes, uma pra cada setor.
O que tem ocorrido é que quando criou macros usando o passo 1º (apagar inicialmente as 4 planilhas dos setores) ao término da execução da macro os dados são apagados, tanto da tabela principal que tem todos os candidatos quanto das 4 planilhas individuais dos 4 setores.
Editado 18 de dezembro de 2017 por daviddatal
Quero criar uma Macro que:
1) filtre os dados de uma tabela (EM BRANCO) por uma de suas colunas;
2) copie as informações;
3) cole em outro local.
Quando a tabela JÁ TEM dados preenchidos a Macro funciona normal. Porém, quero criar uma Macro do zero, quando a tabela não tem nenhuma informação. A tabela tem 100 linhas para dados, quando gravo a macro e faço a filtragem, aparece a linha 101 em diante, se eu selecionar dessa linha 101 pra baixo não vai copiar os dados quando a tabela tiver sido preenchida.