Tenho a tarefa de criar uma planilha simples do Excel que ocupa um número não especificado de linhas na coluna A, assim:
1234
123461
123151
11321
E transformá-los em uma lista separada por vírgula em outra célula, para que o usuário possa copiar e colar facilmente em outro programa da seguinte maneira:
1234,123461,123151,11321
Qual é a maneira mais fácil de fazer isso?
microsoft-excel
muncherelli
fonte
fonte
Respostas:
Supondo que seus dados iniciam em A1, eu colocaria o seguinte na coluna B:
B1:
B2:
Você pode colar a coluna B2 na coluna inteira. A última célula na coluna B agora deve ser uma lista separada por vírgula da coluna A.
fonte
,
), pressione Ctrl- H(Localizar e substituir)^p
,
fonte
Se você possui o Office 365 Excel, pode usar TEXTJOIN ():
fonte
Na verdade, acabei de criar um módulo no VBA, que faz todo o trabalho. Ele pega minha lista à distância e cria uma string delimitada por vírgula que é emitida na célula de minha escolha:
Então, no meu celular, eu apenas coloco
=csvRange(A:A)
e isso me dá a lista delimitada por vírgulas.fonte
Uma abordagem alternativa seria colar a coluna do Excel nesta ferramenta no navegador:
convert.town/column-to-comma-separated-list
Ele converte uma coluna de texto em uma lista separada por vírgula.
Como o usuário está copiando e colando em outro programa de qualquer maneira, isso pode ser igualmente fácil para eles.
fonte
Você poderia fazer algo assim. Se você não está falando de uma planilha enorme, isso funcionaria como 'ok' ...
Aqui está o código da macro do VBA:
Certifique-se de definir o formato da célula B1 como 'texto' ou você receberá um número errado. Tenho certeza de que você também pode fazer isso no VBA, mas não sei como no momento e preciso voltar ao trabalho. ;)
fonte
Use vi ou vim para simplesmente colocar uma vírgula no final de cada linha:
Para explicar este comando:
%
significa executar a ação (ou seja, encontrar e substituir) em todas as linhass
indica substituição/
separa os argumentos (ou seja,s/find/replace/options
)$
representa o fim de uma linha,
é o texto de substituição neste casofonte
Você pode usar o guia do How-To Geek para transformar uma linha em uma coluna e simplesmente invertê-la. Em seguida, exporte os dados como um csv (formato separado por vírgulas) e você terá sua lista separada por vírgulas em texto sem formatação! Você pode copiar do bloco de notas e colocá-lo novamente no Excel, se quiser. Além disso, se você desejar um espaço após a vírgula, poderá fazer um recurso de pesquisa e substituição, substituindo "," por ",". Espero que ajude!
fonte
muncherelli, gostei da sua resposta e ajustei-a :). Apenas uma coisa pequena, há momentos em que eu puxo dados de uma planilha e os uso para consultar um banco de dados. Adicionei um parâmetro opcional "textQualify" que ajuda a criar uma lista separada por vírgulas e utilizável em uma consulta.
fonte
Aprimorei o sub generatecsv () para lidar com uma planilha do Excel que contém várias listas com linhas em branco que separam os títulos de cada lista e as listas de seus títulos. exemplo
e os combina naturalmente em várias linhas, uma por lista.
Por isso, um cliente me enviou várias palavras-chave em formato de lista para o site com base no assunto e precisava de uma maneira de inserir essas palavras-chave nas páginas da web com facilidade. Então modifiquei a rotina e criei o seguinte, também mudei os nomes das variáveis para meaninful names:
fonte
A resposta do Sux2Lose é o meu método preferido, mas não funciona se você estiver lidando com mais de um par de mil linhas e pode quebrar por ainda menos linhas se o seu computador não tiver muita memória disponível.
A melhor prática nesse caso é provavelmente copiar a coluna, criar uma nova pasta de trabalho, passar por especial
A1
da nova pasta de trabalho e,Transpose
assim, a coluna agora será uma linha. Em seguida, salve a pasta de trabalho como um.csv
. Seu csv agora é basicamente uma lista separada por vírgula em texto sem formatação que você pode abrir em um editor de texto.Nota: Lembre-se de transpor a coluna para uma linha antes de salvar como csv. Caso contrário, o Excel não saberá colocar vírgulas entre os valores.
fonte
Uma das maneiras mais fáceis é usar o aplicativo da web zamazin.co para esse tipo de tarefa de separação de vírgulas. Basta preencher os dados da coluna e pressionar o botão converter para criar uma lista separada por vírgulas. Você pode até usar outras configurações para melhorar a saída desejada.
http://zamazin.co/comma-separator-tool
fonte
Use
=CONCATENATE(A1;",";A2;",";A3;",";A4;",";A5)
na célula que você deseja exibir o resultado.fonte