Eu tenho um projeto de codificação de dados.
Inserirei meus dados na coluna A (tipo de equipamento) e a célula formulada estará na coluna B. A coluna B contém uma string que começa com o valor na coluna A e anexa a ela um contador específico do equipamento.
Os diferentes tipos de equipamentos na coluna A podem estar em qualquer ordem. O contador precisa ser incrementado de acordo com o tipo de equipamento.
Sempre que eu inserir novos dados em uma linha na coluna A, o valor da coluna B será criado automaticamente, incrementando o contador em 1 para aquele tipo de equipamento.
No exemplo, a lista começa com dois tipos A, cujos contadores são 001
e 002
. Quatro linhas depois, há mais tipos A e seus contadores são incrementados para 003
e 004
.
No meio, nas linhas 3, 4 e 5, existem os tipos B, D e C. Cada um deles tem um contador começando em 001
. Mais abaixo, existem os segundos tipos D e C, e o contador de cada um é incrementado em 1. Depois, um segundo e um terceiro tipo B, e esses contadores são incrementados para 002
e 003
.
Como posso gerar os valores na coluna B?
Responder1
A fórmula em B2:
=IF(ISBLANK(A2),"",A2&"-"&TEXT(COUNTIF($A$2:A2,A2),"000"))
Você pode preencher previamente a fórmula da coluna B para um intervalo grande arbitrário e ela exibirá uma célula em branco até que você insira um valor na coluna A.
Ele constrói o valor exibido anexando ao valor da coluna A, o hífen e depois o contador. A função TEXT com formato "000" fornece os zeros iniciais conforme necessário para um contador de três dígitos.
CONT.SE conta os valores na coluna A desde o início até a linha atual que corresponde ao valor atual da coluna A.
Responder2
Se sua intenção é pegar o caractere final dos dados na coluna A e depois somar o número, sua melhor aposta é usar uma fórmula básica como:
RIGHT(A1,1)&"-"&TEXT(ROW(),"000")
O problema é que se você não estiver usando A1, basta deduzir as linhas para chegar a 1 como número inicial. Portanto, se seus dados começarem na linha 10, o código deverá ser:
RIGHT(A1,1)&"-"&TEXT(ROW()-9,"000")