Tenho uma planilha com uma coluna que contém uma lista de um ou mais nomes de bancos de dados. Infelizmente, o tempo de resposta para alterar este relatório é longo. Então preciso manipular os dados.
A coluna contém todos os bancos de dados específicos de um registro em uma única célula, separados por vírgulas. Preciso separar essa lista e colocar cada banco de dados em uma célula separada. Nota importante: eu sounãotem permissão para usar macros/código VBA nesta solução.
A primeira é fácil: encontre a primeira vírgula, retorne tudo à esquerda dela. São os próximos com os quais estou lutando.
Criei uma coluna que conta quantas vírgulas existem na célula, para poder determinar se vários bancos de dados estão listados.
Como posso enfrentar os próximos?
Responder1
Esta não é uma resposta de função de planilha, mas também não usa VBA.
Você já tentou usar o recurso "Texto para colunas"? No Excel 2010, é um dos botões da faixa Dados.
- Selecione sua coluna.
- Clique no botão "Texto para colunas".
- Na primeira página do assistente, escolha “Delimitado” e depois Avançar.
- Na segunda página, marque “Vírgula” para escolhê-la como delimitador. Você pode marcar/desmarcar alguns dos outros, dependendo do formato dos seus dados.
- Provavelmente você pode clicar em Concluir neste ponto para dividir seus dados em colunas, mas você pode querer ir para a próxima página para alterar os formatos das colunas.
Responder2
Com dados de amostra emA1, emB1digitar:
=TRIM(MID(SUBSTITUTE($A1,",",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
e copie em:
EDITAR#1:
Se começarmos com material em colunasAeBassim:
e execute esta pequena macro:
Sub dural()
Dim N As Long, i As Long, K As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
K = 1
For i = 2 To N
v = Cells(i, "A").Value
ary = Split(Cells(i, "B").Value, ",")
For Each a In ary
Cells(K, "C").Value = v
Cells(K, "D").Value = a
K = K + 1
Next a
Next i
End Sub
vamos acabar com isso: