Uso de un día de la semana de dos caracteres en formato de fecha (Microsoft Excel)
El trabajo de Raymond requiere que formatee las fechas para que se muestren en lo que él cree que es un formato bastante extraño. Si, por ejemplo, una celda contiene una fecha del 20/10/19, necesita que se muestre como «SU 10/20», sin las comillas. (SU es una representación de dos caracteres del día de la semana, en este caso el domingo). Raymond se pregunta si hay alguna manera de hacer esto como, quizás, un formato personalizado.
No hay forma de hacer esto exactamente usando un formato personalizado. La razón es que no hay código en formatos personalizados que le permitan crear un día de la semana de dos caracteres. Lo más cercano que se puede hacer en un formato personalizado es para un día de la semana de tres caracteres:
ddd m/d
Incluso eso, sin embargo, está un poco fuera de lugar porque no mostrará el día de la semana de tres caracteres en mayúsculas.
Entonces, eso nos lleva a usar una fórmula para obtener la fecha formateada.
Si tiene la fecha en la celda A1, puede usar la siguiente fórmula:
=LEFT(UPPER(TEXT(A1,"ddd")), 2) & " " & TEXT(A1,"m/d")
Esto usa la función TEXT para devolver, primero, el día de la semana de tres caracteres que se convierte a mayúsculas usando la fórmula UPPER. La función IZQUIERDA luego se usa para tomar los dos primeros caracteres de ese día de la semana que luego se agregan a la combinación de mes / día. Esto devuelve exactamente lo que Raymond quería.
La desventaja de utilizar este enfoque es que la fecha devuelta por la fórmula es texto; no es una fecha real. Si hubiéramos podido utilizar un formato personalizado, el valor de la fecha subyacente no habría cambiado.
Sin embargo, este sería el caso de cualquier formato de fecha extraño como este.
Debido a este posible inconveniente, es posible que desee conservar las fechas reales como fechas, incluso si está en una columna oculta o en una hoja de trabajo oculta.
También puede, si lo desea, crear una macro que devuelva una cadena con la fecha formateada. Aquí hay una función simple definida por el usuario:
Function FmtDate(d As Date) As String Dim s As String s = UCase(Left(WeekdayName(Weekday(d)), 2)) s = s & " " & Format(d, "m/d") FmtDate = s End Sub
Luego puede usar la función de la siguiente manera en su hoja de trabajo:
=FmtDate(A1)
Esto supone que la fecha está en A1 y la función devuelve una cadena de fecha con el formato que desea Raymond.
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (13704) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.