Classificação alfanumérica no Excel

8

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?

Classificando do mais antigo para o mais recente ou via A-Z, definitivamente não me dará o resultado desejado. Eu tentei formatar as células como número, mas isso não ajudou.

Estou preso.

    
por beccabecca 19.09.2014 / 02:37

2 respostas

1

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 eles são organizados, mas um exemplo:

Suponha que o prefixo "a-" nunca seja alterado, as entradas estão na col A começando na linha 2 e o col B está disponível. Em B2, você colocaria algo como: = value (mid (a2,3, len (a2) -2)) e copia a fórmula conforme necessário. Para classificar, destaque as colunas e classifique em B.

Se houver outros prefixos, diga b-, c-, etc., da mesma forma, divida a parte do texto para outra coluna. Em seguida, classifique a coluna de texto como a primeira coluna de classificação e a coluna de números 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) olha 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 (a duração do texto original menos os caracteres "a-"). A função valor então transforma esse resultado em um número em vez de uma sequência de caracteres numéricos.

    
por 19.09.2014 / 03:16
1

Ousuário@fixer1234estácerto,vocêprovavelmentevaiquererusarfunçõesdestring.Aquiestáumamaneiradefazerisso.

Etapa1

[Atualizado]

Nacoluna"Números", destaque o intervalo e divida o texto no hífen: do ...

Data > Text to Columns > Delimited > Next > Other: - > Finish

Observe que você precisa de um hífen ( - ) na caixa de texto Other: . E certifique-se de que a coluna adjacente (à direita) esteja vazia antes de fazer isso, para que você não sobrescreva dados importantes.

Você também pode usar essa função para extrair o número da coluna A:

=RIGHT(A2,LEN(A2)-SEARCH("-",A2))

Etapa 2

Agora, o que faremos na próxima etapa, como você pode ver na captura de tela acima, é anexar zeros ao início de cada um dos números que têm menos dígitos do que o maior número. Isso permitirá que você classifique esses números da maneira desejada.

Mas primeiro, precisamos fazer um pouco de averiguação. Se você souber facilmente qual é o maior número, conte os dígitos desse maior número - esse será o número de zeros que você deseja usar em nossa próxima função. Existe outra maneira de determinar o número mais longo, sem ter que contar os dígitos do maior número manualmente.

[UPDATE] Você pode usar a seguinte função (embora até agora nós não saiba porquê ) para determinar o número mais longo:

=MAX(INDEX(LEN(C2:C14),,1))

Como alternativa, você pode simplesmente digitar a seguinte fórmula em uma célula (você vê isso na imagem acima, como a célula destacou em laranja), mas em vez de simplesmente pressionar a tecla ENTER para definir a célula, pressione a tecla de atalho CTRL-SHIFT-ENTER . Isso mudará a natureza da função, transformando-a em uma matriz fórmula , sem ter que brincar com funções como INDEX() .

=MAX(LEN(C2:C14))

(Certifique-se de que o intervalo é exato para a planilha específica que você está usando.)

Depois de atingir CTRL-SHIFT-ENTER , o conteúdo da célula mudará para isso, mas digitar isso manualmente não fará nada:

{=MAX(LEN(C2:C14))}

No entanto, você quer fazer isso está bem. Basta determinar quantos dígitos compõem o maior número da sua lista: "1", é claro, tem 1 dígito, "10" tem 2 dígitos, "100" tem 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 precedentes que você determinou que deveria usar na Etapa 2.

=TEXT(C2,"000")

Certifique-se de colocar aspas ao redor dos zeros.

Se o maior número tiver 8 dígitos, a sua função ficará assim:

=TEXT(C2,"00000000")
    
por 19.09.2014 / 05:13