Incrementar números dentro de uma string

2

Estou montando uma longa lista de usuários, onde os nomes de utilizador têm o formato user001, user002etc. Para cada usuário, há um endereço de e-mail com o formato [email protected], [email protected]. Agora, eu gostaria de usar a função no Excel que permite "arrastar e clicar" copiar células para baixo e aumentar o número em um para cada célula quando for inserir os endereços de email. No entanto, isso parece funcionar apenas se o número for o último da string. O que recebo agora são apenas cópias [email protected]. Existe alguma maneira de fazer o incremento do número 001, mesmo que ele esteja dentro de uma string ou eu tenho que editar tudo manualmente?

Sandokan
fonte

Respostas:

4

Talvez você possa solucionar algo assim:

A1: "user"
B1: 1
C1: "@localdomain.com"
D1: =$A$1&TEXT(B1,"000")&$C$1

[Editar: Isso se aplica à versão em inglês do Excel; caso contrário, a última linha deve ser lida =$A$1&TEXT(B1;"000")&$C$1; observe o ponto-e-vírgula em vez de vírgula. Obrigado @ Kevin por esclarecer este ponto.]

Em seguida, você pode arrastar e clicar nas colunas B e D, onde D se parecerá

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
...
mpy
fonte
Infelizmente, a planilha do Excel é doméstica, fortemente macroed e bloqueada e não tenho acesso à senha. Se não há como fazê-lo sem manipular, terei que fazê-lo manualmente.
Sandokan
Você não pode criar a lista em uma folha separada do Excel e copiá-la e colá-la na original?
mpy
Sim, tentando isso. Infelizmente, a fórmula dada não funciona. Eu recebo um erro e, em seguida, ele marca a área dentro da função TEXT.
Sandokan
Mudei o especificador de formato na minha resposta. Agora, também deve funcionar no Excel 2010, de acordo com techonthenet.com/excel/formulas/text.php . Só posso testar no LibreOffice.
Mpy #
2
O ponto-e-vírgula geralmente é usado em nenhuma versão em inglês do Excel; as versões em inglês usam vírgula. Se esta resposta respondeu à sua pergunta, marque a resposta com +1 e marque-a como resposta, para que outros não apareçam e tente responder novamente.
precisa
2

Você poderia usar duas colunas, assim:

A1: usuário001 B1: = A1 e "@ localdomain.com"

Quando você arrasta as duas colunas para baixo, a sequência na coluna B aumenta conforme você descreve.

Sem saber qual é a limitação da sua planilha, não sei se você pode fazer isso.

Você também pode tentar usar uma equação como esta

A1: = "usuário" & COLUMN (A1) e "@ localdomain.com"

Para obter o número correto de 0s, você pode usar o parâmetro format na função TEXT (valor, format_text).

Chogg
fonte
2

Melhor usar o abaixo. Isso não requer a criação de uma coluna extra com valores incrementais. Se você seguir a coluna extra anterior (A1), finalmente precisará remover essa coluna e criar valores para copiar e colar (como valores) novamente.

="user"&TEXT(ROW(), "000")&"@localdomain.com"

="user"&TEXT(ROW()+100, "000")&"@localdomain.com"
Kanagavelu Sugumar
fonte
0

Eu estava procurando algo relacionado a isso, veja o que encontrei:

=LEFT(A835,3)+1&"Ay"

Se você tiver um texto ou número de série ou referência como este

942Ay

E você não deseja copiar e colar repetidamente, você pode usar o método acima usando a LEFTfunção &e adicionar 1 e, em seguida, seu texto, seja ele qual for. Você também pode continuar ou adicionar mais texto usando a &chave sem espaços e sem um apóstrofo.

Akash
fonte