Eu tenho uma folha que tem 2 cols; em um é o nome, no outro há um ou mais emails, separados por vírgula

1

Eu tenho uma planilha do Excel que tem duas colunas, em uma é o nome, na outra há um ou mais emails, separados por uma vírgula.

Agora, quero obter duas colunas com nomes repetidos, mas e-mails exclusivos, portanto, não mais do que um endereço de e-mail em uma única célula, quero que a coluna um tenha um nome e uma coluna dois para ter um e-mail.

Agora é assim:

name1    email1, email2, email3
name2    email1
name3    email1, email2

E eu quero assim:

name1    email1
name1    email2
name1    email3
name2    email1
name3    email1
name3    email2

obrigado

    
por Totty.js 02.03.2011 / 10:36

2 respostas

2

Você parece estar 'desdobrando' uma tabela dinâmica. Aqui está outra abordagem baseada na dica muito legal de John Walkenbach: Criando uma tabela de banco de dados a partir de uma tabela de resumo. dica o tempo todo, e é uma economia de tempo real.

Se você estiver usando o Excel 2007 ou superior, sugiro que adicione o botão Tabela dinâmica à sua Barra de Ferramentas de Acesso Rápido. Isso permitirá que você acesse o "antigo" Assistente de Tabela Dinâmica do Excel 2003. Ser capaz de usar o "antigo" Assistente é muito importante! Outra maneira de exibir o antigo assistente de tabela dinâmica é digitar "ALT + D" e, em seguida, "P".

Agora,paraoseuproblemaespecífico.Useorecurso"Text-to-columns" do menu Data para dividir sua segunda coluna de dados nas vírgulas. Você também deve adicionar alguns títulos de coluna. (Eu reconstruí seus dados de amostra para mostrar endereços de e-mail exclusivos para um pouco mais de clareza):

CliquenobotãoTabeladinâmicaqueestánabarradeferramentasAcessorápido.Eletraráopasso1doantigoassistente.Selecioneobotão"Vários intervalos de consolidação" e clique em "próximo":

NoPasso2a,selecione"Vou criar os campos da página" e clique em "Avançar":

NaEtapa2b,destaqueseuintervalodedadosecliquenobotão"Adicionar". Isso copiará seu intervalo de dados na janela inferior do formulário. Clique em "Próximo".

Naetapa3,vocêpodeescolher"Nova planilha" ou "Planilha existente", desde que a célula selecionada não se sobreponha aos dados de origem. Clique em "terminar".

AgoravocêdeveterumatabeladinâmicaeaListadeCamposdaTabelaDinâmicaseráexibida:

Desmarque a caixa "Linha" e a caixa "Coluna", para que você tenha uma pequena tabela dinâmica em uma única célula (mostrada na célula A4 aqui):

Aquiestáapartemuitolegal:cliqueduasvezesnessaúnicacélula.Suatabeladinâmicaé"desmipada" em uma nova planilha. Agora você pode filtrar os espaços em branco na terceira coluna e obterá o layout desejado:

    
por 03.03.2011 / 22:07
1

Pessoalmente, eu faria o seguinte:

  1. Classifique a planilha pela coluna A
  2. Copie toda a lista para um editor de texto
  3. Pesquise e substitua "[comma] [space]" por "[newline] [tab]"
  4. Copie todo o lote de volta para o Excel

Agora, esse é um truque que acabei de aprender:

  1. Clique em algum lugar nos dados
  2. Ctrl-A (ou selecione manualmente os dados)
  3. Ctrl-G
  4. Alt-S
  5. Pressione K e, em seguida, insira

Você acabou de selecionar todas as células em branco

  1. Pressione a tecla de igual
  2. Pressione a seta para cima no teclado
  3. Ctrl-enter

Isso garantirá que as células em branco tenham um valor da célula acima (isso é especialmente útil ao copiar tabelas dinâmicas)

  1. Copie todo o lote novamente para um documento de texto
  2. Copie de volta para o Excel

Isso garante que as células não usem mais fórmulas.

Se isso é algo que você precisa fazer regularmente, sugiro Awk.

    
por 02.03.2011 / 11:13