
En una hoja de cálculo de Excel, tengo algunas columnas que me gustaría reorganizar según el mes cronológico. Hasta ahora, lo he estado haciendo manualmente y se está volviendo bastante tedioso.
Intenté ilustrar mi problema aquí:
El mes y el año se han escrito como formato de texto en lugar de formato de fecha (en el formato mmm'yy, incluido el apóstrofo). Lo que intenté hacer fue crear un formato personalizado para los meses e intenté reorganizar las filas sobre esa base, pero la clasificación personalizada parece estar atenuada. Soy principiante en Excel, por lo que agradecería cualquier ayuda.
Respuesta1
El truco para una buena clasificación es que Excel necesita saber que es una fecha.
Puedes convertir el texto de la celda C3 (por ejemplo) a una fecha con esta fórmula en C4:
=DATE(2000+RIGHT(C3,2),XLOOKUP(LEFT(C3,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},SEQUENCE(1,12)),1)
Parece largo y difícil de manejar, pero es algo simple cuando se descompone.
Estamos usando la DATE
función. Esto requiere tres argumentos (separados por comas):
- Año
- Mes
- Día
El año es 2000+RIGHT(C3,2)
. Esto es simplemente agregar los dos caracteres más a la derecha de su texto a 2000 para obtener el año. Si tiene fechas anteriores al 2000, deberá ajustar esta parte.
El mes es XLOOKUP(LEFT(C3,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},SEQUENCE(1,12))
. Esto dice "Busque los primeros tres caracteres en la celda C3 en esta lista de meses. Devuelva el valor de la misma posición (es decir, si es abril, la cuarta posición en la lista), desde SEQUENCE(1,12)
". Esta SECUENCIA es solo una lista de números del 1 al 12. Así que volveremos a convertir el mes de tres caracteres en un número para usarlo en la función FECHA.
El día es solo 1. Puede ser cualquier número menor o igual a 28, ya que todos los meses tienen al menos esa cantidad de días.
Entonces, para C3, el año es 2000+21, el mes es abril, es decir, el cuarto mes, entonces 4, y el día es 1. Entonces tenemos DATE(2021,4,1)
.
Respuesta2
También puedes probar esta fórmula en la celda C4.
=DATE(2000+RIGHT(C3,2),MONTH(1&LEFT(C3,3)),1)
Respuesta3
A la gente le falta la función específica para este trabajo.
Elija una "fila auxiliar". Podría ser la Fila 4 o 999 o donde quieras colocarlo.
En la columna C de esa fila (por ejemplo, en la celda C4), ingrese
=DATEVALUE(SUBSTITUTE(C3, "'", " 20"))
El SUBSTITUTE
reemplaza el apóstrofo con un espacio y 20
. Por ejemplo, esto cambia Apr'21
a Apr 2021
. Luego, la DATEVALUE
función cambia ese valor de texto al valor de fecha correspondiente.
Luego, la parte "obvia" que nadie más mencionó: puede ordenar sus datos por la fila auxiliar.
Si lo prefieres, puedes utilizar
=DATEVALUE(LEFT(C3,3) & " 20" & RIGHT(C3,2))
Si tiene datos que no pertenecen al siglo XXI (es decir, el año no es 20yy), deberá agregar lógica para determinar el número del siglo.