Jump to content

[SOLUCIONADO] Mostrar dia de la semana a partir de fecha separada en varios campos


Recommended Posts

Hola, me gustaria poder mostrar el dia de la semana en un campo (lunes, martes,etc) a partir de otros 3 campos; uno de ellos muestra el dia de forma numerica, otro el mes en texto (no habria problema en ponerlo como numero) y el tercero muestra el año. Mi intencion es que a partir de esos 3 poder escribir en un campo nuevo solo el dia al que se corresponde.

Agradezco por adelantado todas las sugerancias.

PD: Tengo office 2007

Link to post
Share on other sites

Hola a todos:

Toryn, Bienvenid@ al Foro, lo primero recomendarte leas las Recomendaciones y las Normas/Reglas del Foro (Tienes los enlaces en mi Firma) para que puedas sacarle un mejor resultado a tus consultas, dudas, problemas,……..

Mi propuesta combinada con la de Logroastur según yo lo he entendido.

Saudiños,Luis.

Archivo Toryn.zip

Link to post
Share on other sites

Buenas:

Carlos, yo rompiéndome la cabeza y tú con una formulita de nada listo, bueno recordarle a Toryn que seguramente su separador de argumentos no será la coma “,” será punto y coma “;” o sea que la Formula quedaría así

 =TEXTO((FECHA(C1;B1;A1));"DDDD") [/CODE]

Saudiños, Luis.

Link to post
Share on other sites

Que va a ser Luis, lo que pasa es que antes trabajaba mucho con fechas,,,, analizaba igual que tú, y luego fuí conociendo más fórmulas,,, y sabes siempre que posiblemnte hay una forma menos complica y liada de llegar a dónde mismo...

Yo también soy principiante....

Link to post
Share on other sites
Buenas si es con formula puedes obtar por

=SI(A1="";"";ELEGIR(DIASEM(A1;2);"lunes";"martes";"miércoles";"jueves";"viernes";"sábado";"domingo"))

un saludo

@logroastur, he modificado tu fórmula para incluir los acentos en "miércoles" y "sábado" pues están acentuados en los formatos de fechas en Excel y en minúsculas. :rolleyes:

¿En asturiano se dice "obtar"? (yo sólo reconozco obtar como el motor de backup seguro de Oracle: obadm_tar).

No puedo optar por tu solución aunque uses la función ELEGIR que significa "escoger" u "optar" entre varias cosas, porque los días de la semana están dentro de la fórmula y no permiten la internacionalización o el uso abreviado del día de la semana, a no ser que se modifique localmente.

Hola a todos:

Mi propuesta combinada con la de Logroastur según yo lo he entendido.

Saudiños,Luis.

@luisv, lo comentado para la fórmula de logroastur vale para la tuya:

=SIERROR(SI(A1&"/"&B1&"/"&C1="";"";ELEGIR(DIASEM(A1&"/"&B1&"/"&C1;2);"Lunes";"Martes"; "Miercoles";"Jueves";"Viernes";"Sabado";"Domingo") );"")[/CODE]

Reduciendo podría ser también así:

[CODE]=TEXTO((FECHA(C1,B1,A1)),"DDDD")[/CODE]

@Carlos, tu fórmula sería en versiones inglesa y española respectivamente:

[CODE]=TEXT(DATE(C1,B1,A1),"DDDD")
=TEXTO(FECHA(C1;B1;A1);"DDDD")[/CODE]

lo que sigue obligando a modificar la fórmula para cambiar el formato del día de la semana a abreviado "DDD" si se quiere optar por él y, [b]MÁS IMPORTANTE, la función TEXTO no es geolocalizable, por lo que al cambiar a otro idioma en la Configuración regional del sistema operativo sigue calculando el nombre del día de la semana en español.[/b]

Con la función TEXTO se pierde el valor como fecha, por lo que es mejor que las fechas no se conviertan en texto para poder aplicarles cualquier formato y usarlas como fechas en otros cálculos, además de ocupar menos espacio de disco que el texto... :mad:

[b]Mi propuesta: ¿No es más fácil usar el formato de celdas personalizado?[/b] :P

Usando la fórmula:

[b]

[CODE]=SIERROR(FECHA(C1;B1;A1);"")[/CODE]

[/b]

Podremos cambiar fácilmente su formato de celda creando las categorías personalizadas del tipo:

[b]dddd[/b] para día de la semana con descripción larga.

[b]ddd[/b] para día de la semana con descripción corta (3 primeras letras del día).

[b]Con la ventaja de que el formato personalizado traduce al idioma elegido en la Configuración regional del SO, por ejemplo:

En inglés: lunes por Monday, etc.

En ruso: lunes por Понедельник, etc.

Aunque este foro sea de Ayuda Excel en español, como buenos programadores debemos pensar que nuestros ejemplos sirvan para el mercado internacional, si queremos vender al exterior.[/b] :mad:

Hola, me gustaria poder mostrar el dia de la semana en un campo (lunes, martes,etc) a partir de otros 3 campos; uno de ellos muestra el dia de forma numerica, otro el mes en texto (no habria problema en ponerlo como numero) y el tercero muestra el año. Mi intencion es que a partir de esos 3 poder escribir en un campo nuevo solo el dia al que se corresponde.

Agradezco por adelantado todas las sugerancias.

PD: Tengo office 2007

[b]@ToRyN, para obtener el número del mes a partir del mes en texto inténtalo con:[/b]

[CODE]=SIERROR(MES(VALFECHA(A1&" "&B1&" "&C1));0)[/CODE]

[b]Con el mes en texto la fórmula completa será:[/b]

[CODE]=SIERROR(FECHA(C1;MES(VALFECHA(A1&" "&B1&" "&C1));A1);"")[/CODE]

No olvides darle formato personalizado a las celdas del tipo "dddd" o "ddd".

Por favor responde si estas soluciones te sirven de ayuda y da las [b]Gracias con el botón que hay debajo a la izquierda[/b] de cada mensaje de respuesta.

Bienvenido al foro. :D

Link to post
Share on other sites

Hola a Todos:

Pedro ¿Cómo es la Formula? SIERROR o SI.ERROR, porque con SIERROR no me funciona me da #¿NOMBRE? , sin embargo con SI.ERROR y el formato personalizado lo clava.

Espero que por favor me aclares esa duda.

Saludos, Luis.

PD: Gracias por tus aclaraciones, tan didácticas como siempre.

Link to post
Share on other sites

Luis, me tenía que haber dedicado a la enseñanza pero se gana poco.

En seguida se olvida una versión si no se practica y es que nunca he presumido de buena memoria.

Tienes razón:

SI.ERROR en Excel 2007 ahora se llama SIERROR en Excel2010.

Otras funciones que han cambiado se pueden ver en el blog: ideasdeexcel.blogspot.com

ESPACIOS por RECORTAR

NSHORA por TIEMPO

Si alguno quiere puede contribuir a incrementar la lista de in-compatibilidades de Excel 2010.

Por lo que la fórmula que propongo en Excel 2007 será con el mes en texto:

=SI.ERROR(FECHA(C1;MES(VALFECHA(A1&" "&B1&" "&C1));A1);"")[/CODE]

y con el mes en número:

[CODE]=SI.ERROR(FECHA(C1;B1;A1);"")[/CODE]

Link to post
Share on other sites

Buenas:

Pedro, ya me queda aclarado.

Si en la enseñanza pagan poco, no te digo en lo mío, aun no he llegado al 2010 (Me refiero al Excel) Y en AyudaExcel, muchas veces sin decir siquiera si ha valido la solución.

Quiero recordar que todos los caminos llevan a Roma, aunque sea por senderos diferentes.

Esperemos que Toryn llegue al buen camino, después de tanto sendero.

Y bueno, en otro sendero, sabía que tenía algo, pero donde, aquí esta, es algo que me enseño mi profesor, como alguno lo llama por aquí, San Google.

clic.gif

Saudiños, Luis.

gracias.gif

Link to post
Share on other sites

Por cierto, se puede simplificar la fórmula porque no hace falta meter espacios ni separadores ni el año en VALFECHA, pues toma el año actual por defecto, solo con decir que es el día 1 del mes en texto lo convierte a fecha:

=SIERROR(FECHA(C1;MES(VALFECHA(1&B1));A1);"")[/CODE]

[b]ToRyN[/b], ya dirás si te sirve esta solución.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.


×
×
  • Create New...

Important Information

Privacy Policy