En Excel, ¿es posible ordenar los caracteres alfanuméricos de a-1, a-2, a-3 ... a-123 en lugar de a-1, a-10, a-100, a-11?
Ordenar por más antiguo a más nuevo o por AZ, definitivamente no me dará el resultado que quiero. Intenté formatear las celdas como número, pero no sirvió de nada.
Estoy atascado.
microsoft-excel
sorting
beccabecca
fuente
fuente
Respuestas:
El usuario @ fixer1234 tiene razón, probablemente desee utilizar funciones de cadena. Aquí hay una forma de hacerlo.
Paso 1
[Actualizado]
En la columna "Números", resalte el rango, luego divida el texto en el guión: do ...
Data
>Text to Columns
>Delimited
>Next
>Other: -
>Finish
Tenga en cuenta que necesita un guión ( - ) en el
Other:
cuadro de texto. Y asegúrese de que la columna adyacente (a la derecha) esté vacía antes de hacer esto, para no sobrescribir datos importantes.También podría usar esta función para extraer el número de la columna A:
Paso 2
Ahora, lo que vamos a hacer en el siguiente paso, como se puede ver en la captura de pantalla anterior, es agregar ceros al comienzo de cada uno de los números que tienen menos dígitos que el número más grande. Esto le permitirá ordenar estos números de la manera que desee.
Pero primero, necesitamos hacer un poco de investigación. Si puede decir fácilmente cuál es el número más grande, simplemente cuente los dígitos en ese número más grande; este será el número de ceros que desea usar en nuestra próxima función. Hay otra forma de determinar el número más largo, sin tener que contar los dígitos del número más grande manualmente.
[ACTUALIZACIÓN] Puede usar la siguiente función (aunque hasta ahora no sabemos por qué ) para determinar el número más largo:
Alternativamente, podría simplemente escribir la siguiente fórmula en una celda (verá esto en la imagen de arriba como la celda resaltada en naranja), pero en lugar de simplemente
ENTER
presionar su tecla para configurar la celda, presione la tecla de acceso rápidoCTRL-SHIFT-ENTER
. Esto cambiará la naturaleza de la función, convirtiéndola en una fórmula de matriz , sin tener que jugar con funciones comoINDEX()
.(Asegúrese de que el rango sea preciso para la hoja de cálculo específica que está utilizando).
Después de presionar
CTRL-SHIFT-ENTER
, el contenido de la celda cambiará a esto, pero escribir esto manualmente no hará nada:Sin embargo, si quieres hacerlo, está bien. Simplemente determine cuántos dígitos forman el número más grande en su lista: "1", por supuesto, tiene 1 dígito, "10" tiene 2 dígitos, "100" tiene 3 dígitos, y así sucesivamente.
Paso 3
Finalmente, en la columna "Expandir", esta función convertirá los números de la columna "Números" en texto con el número de ceros anteriores que determinó que debería usar en el Paso 2.
Asegúrese de poner comillas alrededor de los ceros.
Si el número más grande tiene 8 dígitos, su función se verá así:
fuente
Una solución simple es usar funciones de cadena para poner los valores numéricos en una nueva columna como un número. Luego ordena en esa columna. No especificó cómo pueden variar los valores o cómo están organizados, pero un ejemplo:
Suponga que el prefijo "a-" nunca cambia, las entradas están en la columna A que comienza en la fila 2 y la columna B está disponible. En B2, debería poner algo como: = valor (mid (a2,3, len (a2) -2)) y luego copiar la fórmula según sea necesario. Para ordenar, resalte ambas columnas y ordene en B.
Si puede haber otros prefijos, digamos b-, c-, etc., divida de manera similar la porción de texto en otra columna. Luego clasifique en la columna de texto como la primera columna de clasificación y la columna de números como la segunda.
Todo lo que resaltes se ordenará según las columnas de clasificación.
Para explicar las funciones de cadena, comience con la función mid, que extrae una cadena de caracteres de una cadena de caracteres. mid (a2,3, len (a2) -2) mira el texto en a2, comienza con el tercer carácter (el primer dígito asumiendo que todos los prefijos son "a-"), y luego toma el número de caracteres que es dos menos que el número en el texto original (la longitud del texto original menos los caracteres "a-"). La función de valor convierte ese resultado en un número en lugar de una cadena de caracteres numéricos.
fuente
Tengo los siguientes datos:
Quiero que los estudiantes y las marcas se organicen de acuerdo con sus números de registro, que son cadenas alfanuméricas. El resultado final debería ser así:
Cómo:
Aunque la instantánea anterior es obvia, los pasos son los siguientes:
Extraiga la parte alfabética en una columna utilizando
=LEFT(B4, 2)
como fórmula, donde '2' muestra el número de alfabetos en la cadena y comienzan mis cadenasB4
.Asigne un número a esta parte alfabética usando
=COLUMN(INDIRECT(E4&1))
Extraiga la parte numérica del número de registro utilizando
=RIGHT(B4,2)
como fórmula. Aquí '2' es el no. de números en la cadena.Concatenar las dos partes en 2 y 3
Convierta estos a números 'puros' usando
=VALUE(H4)
Copie la última columna a la tabla original y use la opción Pegar como 'Valores'
Ahora, ordene según la última columna y elija 'Expandir la selección'
¡¡¡Hecho!!!
Importante: Pro-Tip -> Combina los pasos del 1 al 5 usando
=VALUE(CONCATENATE(COLUMN(INDIRECT(LEFT(B4,2)&1)),RIGHT(B4,2)))
fuente