Questão Excel adicionar dados em massa à planilha existente


Eu tenho uma planilha do Excel com acompanhamento de pessoas, que foram para certas atividades. Agora eu quero adicionar uma atividade com centenas de pessoas, algumas das quais já foram para outras. Então eu quero classificar pelas vezes que eles foram para uma atividade.

Esclarecer:

screenshot

Qual é a maneira mais fácil de conseguir isso?

Obrigado :)


2


origem


A maneira rápida e suja seria usar o VBA - contanto que os nomes na nova atividade 3 correspondam exatamente aos da planilha existente, você pode usar um for loop para adicionar um x na coluna D, onde há uma correspondência. Pode haver uma maneira melhor / mais eficiente que ... - ChrisW
@ChrisW Boa sugestão, mas por que não adicionar uma resposta abaixo mostrando Tom como fazer o que você sugere? - CharlieRB
Eu não estou realmente em VBA .. Acabei de trabalhar com o VLOOKUP, que pega as informações de uma segunda mesa. Então eu classifico manualmente. O único problema é que eu tenho que adicionar as novas pessoas à lista principal primeiro. Não é o ideal, mas funciona;) - Tom


Respostas:


Aqui está uma solução sem o VBA. Recomendaria, quando isso é algo mais raro do que uma tarefa mensal.

É assim que você configura seus dados - note que os cols A-D são os "novos cols".

This is the setup

Aqui estão as fórmulas - configure-as na linha 2 e, em seguida, copie:

A2=IF(ISBLANK(F2),INDEX(J:J,ROW()-COUNTIF(F:F,"*")+1),F2)

B2=IFERROR(T(VLOOKUP($A2,$F:$H,2,FALSE)),"")

C2=IFERROR(T(VLOOKUP($A2,$F:$H,3,FALSE)),"")

D2=IFERROR(T(VLOOKUP($A2,$J:$K,2,FALSE)),"")

A2 preenche todos os Nomes da sua tabela de atividades atual, até obter células em branco. Então você começa a preencher Nomes de sua nova tabela de atividades, usando COUNTIF para obter o número de células não vazias e ROW e +1 para obter o correto INDEX / Name.

Agora você só precisa fazer pesquisas separadas para suas atividades.

Como você vê, você terá duplicatas, mas elas podem ser facilmente manipuladas. Minha sugestão seria: copiar a área A-D como valores para outro destino, depois usar o apagador duplicado dados aba.

Claro que você poderia fazer isso com o VBA, no entanto, muitas vezes esta é uma tarefa, que é feita por usuários inexperientes - e para criar uma versão dinâmica segura do usuário, é bastante código e precisa de muito mais detalhes a serem feitos. No entanto, quero lembrá-lo de que essa é uma tarefa básica de banco de dados e pode ser muito mais fácil com as funções do banco de dados.


0





Uma vez que você menciona "Eu quero classificar pelas vezes em que eles foram para uma atividade", estou assumindo que seus Xs representam tempos (para os quais a resposta de @Jook não funcionaria). A abordagem abaixo, no entanto, funcionaria por vezes (ou Xs com pequena adaptação) e não usa fórmula (além do que é subjacente aos ícones):

Assumindo que a Nova Atividade 3 possui valores em uma coluna imediatamente à direita do Nome: -

  1. Copie dados e cabeçalhos existentes em uma nova planilha.
  2. Imediatamente abaixo, acrescente uma cópia dos dados da Nova Atividade 3 nessa folha.
  3. Mova os novos dados da Atividade 3, além dos nomes nas duas colunas à direita.
  4. Arraste o rótulo da Atividade 2 para a direita por uma célula.
  5. Selecione folha inteira, Dados> Classificar e Filtrar - AZ.
  6. Dados> Contorno> Subtotal com Em cada alteração em: Nome, Usar função: Máx., Adicionar subtotal a: verificar cada uma das Atividades 1, Atividade 2 e Atividade 3, marcar Substituir subtotais atuais e Resumo abaixo dos dados, OK.
  7. Copiar Colar especial> Valores, OK.
  8. Dados> Classificar e Filtrar - Filtrar e para Coluna de Nome, Filtros de Texto, Não Contém, insira MAX, OK.
  9. Exclua todas as linhas visíveis, exceto aquela com rótulos.
  10. Dados> Classificar e Filtrar - Filtrar.
  11. Selecione a coluna Nome, Página Inicial> Editar> Localizar e Selecionar, Substituir, digite "MAX" sem aspas para Localizar :, Substituir Tudo, OK, Fechar.
  12. Selecione folha inteira, Dados> Estrutura de tópicos> Subtotal, Remover tudo.
  13. Excluir linha com o nome "Grand".
  14. Selecione as colunas de atividades, Home> Células - Formatar, Formatar Células, Personalizar, dd / mm / aaaa hh: mm; "" ou ajustar, OK.
  15. Salve .

Isso dá resultados classificados na ordem do nome, independentemente dos horários que poderiam ser classificados por atividade, mas não, dado o layout, convenientemente classificados por atividade, independentemente de 1, 2 ou 3.


0