Orden Alfanumérico Excel

6 envíos / 0 nuevos
Último envío
krote95
Imagen de krote95
Offline
última acción: Hace 2 años 3 meses
alta: 21/11/2021 - 23:55
Puntos: 45
Orden Alfanumérico Excel

Buenas noches a todos,

Llevo varios días probando mil maneras distintas de ordenar de manera alfanumérica en Excel y no doy con ello a pesar de todos los vídeos y páginas que he consultado. Dígamos que tengo, por ejemplo, los siguientes datos:

10A, 20B, 100C, 14B, 54C, 110D, 600C

Excel por defecto me da el siguiente orden:

100C, 10A, 110D, 14B, 20B, 54C, 600C

Y yo necesitaría el siguiente:

10A, 14B, 20B, 54C, 100C, 110D, 600C

Ya se que Excel ordena de esa manera porque contempla primero todos los "1" y luego salta a los "2", etc pero yo necesito ese otro orden que indico. Alguien me podría orientar y explicar cuál es el procedimiento a seguir? Muchísimas gracias de antemano!

Un saludo

Alejandro

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 día 3 horas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
columna auxiliar

como lo que quieres es ordenar por el número que hay antes de esa última letra, yo haría una columna auxiliar para la ordenación donde extraería ese número que te interesa

Suponiendo que todos tus datos tienen esa misma forma de un número seguido de una única letra, podrías obtener ese número con una fórmula parecida a esta (considerando que el dato esté en la celda A2):

=VALOR(IZQUIERDA(A2;LARGO(A2)-1))

Extraemos por la IZQUIERDA la longitud de tu dato (LARGO) menos uno para quitar la última letra. utilizamos la función VALOR para obtener el número y que no lo trate como un texto

 

------
Ya sé Excel, pero necesito más.

Frank2021
Imagen de Frank2021
Offline
última acción: Hace 2 años 1 mes
alta: 04/11/2021 - 11:58
Puntos: 80
Solución

Hola,

suponiendo que los datos: 10A, 20B, 100C, 14B, 54C, 110D, 600C; están en el rango B1:B7 

En C1, pones la siguiente formula: =ORDENARPOR(B1:B7;EXTRAE(B1:B7;1;LARGO(B1:B7)-1)+0;1;EXTRAE(B1:B7;LARGO(B1:B7);1);1)

A igualdad de número, lo ordena por letra, es decir, 100A irá delante de 100B

krote95
Imagen de krote95
Offline
última acción: Hace 2 años 3 meses
alta: 21/11/2021 - 23:55
Puntos: 45
Consulta resuelta

Buenas noches,

Muchísimas gracias a ambos por el tiempo dedicado a responder. Ahora si que he conseguido lo que necesitaba así que asunto solucionado. Muchas gracias nuevamente!

Un saludo

Alejandro

krote95
Imagen de krote95
Offline
última acción: Hace 2 años 3 meses
alta: 21/11/2021 - 23:55
Puntos: 45
Consulta adicional

Buenas noches de nuevo,

Tras probar lo anteriormente publicado efectivamente surte efecto pero tengo un pequeño problema actualmente. Necesito manejar datos como los siguientes:

G-57899841167D
G-58344200132J
G-58348202129J
G-58349665149D
G-58349389133J
G-58163801152D
G-5814958518E
G-5814963319E
G-58367248153D
G-5837434739G
G-5807256414C

Cómo puedo hacer para conservar el número que empieza por G- "ligado" al otro número de la derecha y ordenarlo de la manera que indico en la primera publicación? Es decir, el orden que necesito es que el número de la derecha esté ordenado numéricamente de menor a mayor sin los saltos por ejemplo de 100 a 10, pero también necesito que los números G- se ordenen al mismo tiempo ya que los números de la derecha son las ubicaciones en las estanterías de los números en la izquierda y lógicamente necesito conservar esa relación para poder localizarlos de manera física. No se si me explico correctamente.

Muchas gracias de antemano!

Frank2021
Imagen de Frank2021
Offline
última acción: Hace 2 años 1 mes
alta: 04/11/2021 - 11:58
Puntos: 80
Hola,Te envío mi propuesta.=

Hola,

Te envío mi propuesta.

=+ORDENARPOR(B1:C11;EXTRAE(C1:C11;1;LARGO(C1:C11)-1)+0;1;EXTRAE(C1:C11;LARGO(C1:C11);1);1)

Saludos