¿Cómo obtengo el nombre del día en una celda en Excel?

33

Dada una fecha, ¿cómo obtengo el día de la semana (por ejemplo, "lunes") en una celda en Excel?

Don vince
fuente
44
Bueno, podrías escribir LUNES en la celda con tu teclado ... pero de alguna manera creo que quieres decir algo diferente.
Mike Cooper
Oh sí: o) podría escribirlo. Actualizaré la pregunta para que sea más específica
Don Vince

Respuestas:

54

Ejemplo simple:

Celda A1: 1/8/2009 Celda
B1: = TEXTO (DÍA DE LA SEMANA (A1), "dddd")

Esto, para la fecha dada, imprimirá el día correspondiente.

¿Es esto lo que deseaste?

Torre
fuente
¡Muchas gracias! Pequeño error tipográfico: hay un punto y coma en el medio que debería ser una coma.
Don Vince
@Don Vince - Ups, lo siento por eso.
Rook
2
El punto y coma se requiere en las localizaciones (Configuración regional en Windows) que usan la coma para el separador decimal. Al igual que en los idiomas donde el inglés 1,000.00 (mil) se escribiría como 1,000,00 y, por lo tanto, se ingresaría como 1000,00 en Excel. De hecho, pensé que siempre se aceptaba un punto y coma, pero puedo estar equivocado al respecto.
Arjan
de
44
Esto solo funciona debido a una rareza de que el 1/1/1900 es un domingo. Pierda la función del día de la semana por completo, solo use = TEXTO (A1, "dddd") (vea mi respuesta completa a continuación)
AdamV
19

La respuesta dada anteriormente solo funciona por casualidad porque Excel piensa que 1/1/1900 era un domingo * y, de forma predeterminada, Excel usa el domingo como primer día de la semana para la función de día de la semana.

Lo que realmente está calculando en ese método es el día de la semana como un número, luego formateando eso como un día basado en ese número interpretado como una fecha. Por ejemplo, si su fecha es 1/2/2003 y usa la función WEEKDAY, esto da como resultado 7 (= Sábado). Cuando formatea esto como "dddd", en realidad está obteniendo el nombre del día del séptimo día en Excel desde su "época", es decir, 7/1/1900, que resulta ser un sábado *. Esta fórmula se romperá si alguien la abre y tiene la opción seleccionada para usar el sistema de fechas basado en 1904, ya que el 1/1/1904 no era un domingo, sino un viernes. (sí, sé que casi nadie lo usa, pero no quieres crear una solución que se base en eso, ¿verdad?)

Puede hacer la fórmula más corta, más rápida y más robusta simplemente usando

=TEXT(A1,"dddd")

Por supuesto, puede formatear las celdas de fecha con un formato personalizado como ya se sugirió, dependiendo de si realmente necesita esto en una columna separada o no. A menudo uso formatos de fecha como

ddd dd mmm yyyy

dar, por ejemplo, el sábado 01 de febrero de 2003 para que la fecha sea explícita pero también muestre el nombre del día de la semana.

El uso de una segunda columna y una función TEXTO es esencial si desea usar el día de la semana explícitamente en algún lugar de una combinación de correspondencia (por ejemplo), de manera similar para cosas como monedas, etc. Excel> La combinación de palabras pasa el valor almacenado subyacente real en lugar de versión con formato de pantalla, por lo que independientemente del formato de la celda, Word ve un número horrible. Un campo de texto verdadero se pasa "tal cual" y se muestra correctamente en Word.

* de hecho es un lunes, pero Excel fue escrito para coincidir con las fechas incorrectas en Lotus 1-2-3, que trató a 1900 como un año bisiesto cuando no lo es.

AdamV
fuente
Ya lo voté antes de tu edición. Ahora es aún mejor.
Jeroen Wiert Pluimers
7

Otra posibilidad, dependiendo de lo que desee hacer con la fecha posterior, es establecer el formato de la celda en Personalizado: dddd

Margaret
fuente
¡Soberbio! Eso funciona, y es excelente para la situación en la que no desea utilizar otra columna. Gracias
Don Vince
Incluso si desea utilizar otra columna, puede hacerlo y simplemente ingresar una fórmula como =A1en el ejemplo de la primera respuesta.
Arjan
5

Descubrí que las IFdeclaraciones de anidación pueden ser engorrosas, pero funciona. Sin embargo, si desea guardar un poco de mecanografía, puede intentar esto:

=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")

O, si necesita nombres completos:

=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

En este ejemplo, "A2" puede ser cualquier celda (o fórmula) que contenga la fecha en cuestión. Por ejemplo:

=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat") 

imprimiría la abreviatura de tres letras para lo que sea hoy.

Puntilla
fuente
1

También puede localizar la respuesta usando [$ nnn] antes del formato (por lo que el código personalizado es: [$ nnn] dddd; @). cambie nnn con el código de idioma apropiado. No tengo la lista, pero de alguna manera, el código en inglés es -409 (y mi local es -421).

Creo que puede experimentar con el formato de Número, cambiar el campo de idioma y luego volver a cambiarlo a formato personalizado.

usuario261479
fuente
1
Bienvenido a SuperUser. Las respuestas siempre deben ser independientes, así que amplíe su respuesta a un ejemplo de trabajo. Tampoco sabemos de dónde vienes, así que mi local es un poco inespecífico.
Tim
1

Celda A1: 8/1/2009 Celda B1: = A1 luego presione ctrl + 1 (formatear celda) seleccione la pestaña de número, haga clic en personalizado y luego escriba "DDDD" en el cuadro de texto txt

usuario334332
fuente
0

Muestra la fecha actual

=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")  

Muestra la fecha actual con el texto requerido requerido.

=CHOOSE(WEEKDAY(MONTH(TODAY())), "S-U-N-D-A-Y","M-O-N-D-A-Y","T-U-E-S-D-A-Y","W-E-D-N-E-S-D-A-Y","T-H-R-S-D-A-Y","F-R-I-D-A-Y","S-A-T-U-R-D-A-Y")
Glen Lloyd
fuente
Esto es solo una duplicación de varias respuestas anteriores.
Fixer1234
0

Formato de celdas - Fecha - Tipo de calendario (seleccione inglés gregoriano) - Tipo (la sección tiene su formato requerido el miércoles 14 de marzo de 2001)

Raj
fuente
0

La función WEEKDAY se puede usar en códigos Vba. Por ejemplo :

Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)

El nombre del día se obtiene de TextBox1 en el ejemplo anterior. El resultado es "lunes" .

Utilicé esta función cuando creé el formulario de usuario sobre la entrada de fecha en la celda activa con el menú contextual.

La plantilla se puede revisar aquí

kadrleyn
fuente
Sugerencia: lo que es único en su respuesta, la parte que responde directamente a la pregunta, es el nombre del día de la semana, no el día de la semana. Ese es el término para enfocarse en la primera oración.
Fixer1234