No Excel, é possível classificar alfanuméricos de a-1, a-2, a-3 ... a-123 em vez de a-1, a-10, a-100, a-11?
A classificação do mais antigo para o mais novo ou do AZ definitivamente não me dará o resultado que desejo. Eu tentei formatar as células como número, mas não ajudou.
Estou preso.
microsoft-excel
sorting
beccabecca
fonte
fonte
Respostas:
O usuário @ fixer1234 está certo, você provavelmente deseja usar as funções de string. Aqui está uma maneira de fazer isso.
Passo 1
[Atualizada]
Na coluna "Números", realce o intervalo e divida o texto com o hífen: faça ...
Data
>Text to Columns
>Delimited
>Next
>Other: -
>Finish
Observe que você precisa de um hífen ( - ) na
Other:
caixa de texto. E verifique se a coluna adjacente (à direita) está vazia antes de fazer isso, para não sobrescrever dados importantes.Você também pode usar esta função para extrair o número da coluna A:
Passo 2
Agora, o que faremos na próxima etapa, como você pode ver na captura de tela acima, é acrescentar zeros ao início de cada um dos números que possuem menos dígitos que o maior número. Isso permitirá que você classifique esses números da maneira que desejar.
Mas primeiro, precisamos investigar um pouco. Se você puder dizer com facilidade qual é o maior número, basta contar os dígitos desse número maior - esse será o número de zeros que você deseja usar em nossa próxima função. Há outra maneira de determinar o número mais longo, sem precisar contar os dígitos do maior número manualmente.
[UPDATE] Você pode usar a seguinte função (embora até agora não sabemos exatamente o porquê ) para determinar o número mais longo:
Como alternativa, você pode simplesmente digitar a fórmula a seguir em uma célula (você vê isso na imagem acima como a célula destacada em laranja), mas em vez de simplesmente pressionar a
ENTER
tecla para definir a célula, pressione a tecla de atalhoCTRL-SHIFT-ENTER
. Isso mudará a natureza da função, transformando-a em uma fórmula de matriz , sem ter que brincar com funções comoINDEX()
.(Verifique se o intervalo é preciso para a planilha específica que você está usando.)
Depois de pressionar
CTRL-SHIFT-ENTER
, o conteúdo da célula mudará para isso, mas digitar manualmente não fará nada:No entanto, você quer fazer tudo bem. Apenas determine quantos dígitos compõem o maior número da sua lista: "1" obviamente tem 1 dígito, "10" possui 2 dígitos, "100" possui 3 dígitos e assim por diante.
etapa 3
Por fim, na coluna "Expandir", essa função converterá os números da coluna "Números" em texto com o número de zeros anteriores que você determinou que deveria usar na Etapa 2.
Certifique-se de colocar aspas em torno dos zeros.
Se o maior número tiver 8 dígitos, sua função ficará assim:
fonte
Uma solução simples é usar funções de string para colocar os valores numéricos em uma nova coluna como um número. Em seguida, classifique nessa coluna. Você não especificou como os valores podem variar ou como são organizados, mas um exemplo:
Suponha que o prefixo "a-" nunca seja alterado, as entradas estão na coluna A começando na linha 2 e a coluna B está disponível. Em B2, você colocaria algo como: = value (mid (a2,3, len (a2) -2)) e, em seguida, copie a fórmula conforme necessário. Para classificar, realce as duas colunas e classifique em B.
Se houver outros prefixos, digamos b-, c- etc., também separe a parte do texto para outra coluna. Em seguida, classifique na coluna de texto como a primeira coluna de classificação e a coluna numérica como a segunda.
Tudo o que você destacar será classificado de acordo com as colunas de classificação.
Para explicar as funções de string, comece com a função mid, que extrai uma string de caracteres de dentro de uma string de caracteres. mid (a2,3, len (a2) -2) examina o texto em a2, começa com o terceiro caractere (o primeiro dígito assumindo que todos os prefixos são "a-") e, em seguida, pega o número de caracteres que é dois a menos que o número no texto original (o comprimento do texto original menos os caracteres "a-"). A função value transforma esse resultado em um número em vez de uma sequência de caracteres numéricos.
fonte
Eu tenho os seguintes dados:
Quero que os alunos e as marcas sejam organizados de acordo com o número de registro, que são sequências alfanuméricas. A saída final deve ser assim:
Como:
Embora o instantâneo acima seja óbvio, as etapas são as seguintes:
Extraia a parte alfabética de uma coluna usando
=LEFT(B4, 2)
como fórmula, onde '2' mostra o número de alfabetos na string e minhas strings começamB4
.Atribua um número a esta parte alfabética usando
=COLUMN(INDIRECT(E4&1))
Extraia a parte numérica do número de registro usando
=RIGHT(B4,2)
como fórmula. Aqui '2' é o não. de números na string.Concatene as duas partes em 2 e 3
Converta-os em números 'puros' usando
=VALUE(H4)
Copie a última coluna para a tabela original e use a opção Colar como 'Valores'
Agora, classifique de acordo com a última coluna e escolha 'Expandir a seleção'
Feito!!!
Importante: Dica Pro -> Combine as etapas de 1 a 5 usando
=VALUE(CONCATENATE(COLUMN(INDIRECT(LEFT(B4,2)&1)),RIGHT(B4,2)))
fonte