Hace ya algunos meses expliqué el uso de una función poco conocida y descatalogada (diría yo), la función SIFECHA(fecha inicial, fecha final, criterio de cuenta), con la que podíamos calcular diferencias entre fechas...
Buenos, pues un ejemplo de por qué podríamos necesitar diferencias entre fechas es conocer cuál es nuestra EDAD.
Supongamos dos celdas A1 - fecha nacimiento y A2 - fecha a calcular, ya que queremos conocer nuestra edad en una fecha a determinar.
De acuerdo a lo que leímos en cálculo entre fechas, podíamos definir ese tercer argumento 'Criterio de cuenta'de varias formas:
En concreto utilizaremos estos dos últimos parámetros. Supongamos en A1 la fecha de hoy 10/05/2010, y en A2 la fecha 08/05/2013; si combinamos los distintos criterios y concatenamos los cálculos de años, meses y días obtendremos:
=SIFECHA(A1;A2;"y")&" años, "&SIFECHA(A1;A2;"ym")&" meses y "&SIFECHA(A1;A2;"md")&" días"
Buenos, pues un ejemplo de por qué podríamos necesitar diferencias entre fechas es conocer cuál es nuestra EDAD.
Supongamos dos celdas A1 - fecha nacimiento y A2 - fecha a calcular, ya que queremos conocer nuestra edad en una fecha a determinar.
De acuerdo a lo que leímos en cálculo entre fechas, podíamos definir ese tercer argumento 'Criterio de cuenta'de varias formas:
- "y" : devuelve la cantidad entera de años en el intervalo de fechas.
- "m" : devuelve la cantidad entera de meses en el intervalo de fechas.
- "d" : devuelve la cantidad entera de días entre ambas fechas.
- "ym" : obtendríamos la cantidad de meses por encima de la cantidad entera de años.
- "md" : obtendríamos la cantidad de días por encima de la cantidad entera de meses.
En concreto utilizaremos estos dos últimos parámetros. Supongamos en A1 la fecha de hoy 10/05/2010, y en A2 la fecha 08/05/2013; si combinamos los distintos criterios y concatenamos los cálculos de años, meses y días obtendremos:
=SIFECHA(A1;A2;"y")&" años, "&SIFECHA(A1;A2;"ym")&" meses y "&SIFECHA(A1;A2;"md")&" días"
¿Por qué está descatalogada o no documentada?
ResponderEliminarLa función SIFECHA no está descatalogada, de hecho puedes consultar en la página de microsoft sobre ella, lo único es que es una función que necesita de previa instalación y al igual que otras funciones no tiene todas las ayudas que nos gustaría.
ResponderEliminarSlds
ES IMPORTANTE RECOMENDAR A SUS LECTORES QUE ES DIFICIL UTILIZAR LA FUNCION SIFECHA ASI QUE LA FORMA MAS SENCILLA DE CALCULAR EDADES ES RESTAR LA FECHA DE NACIMIENTO DE LA FECHA DE HOY Y DIVIDIR EL RESULTADO ENTRE 365 DIAS DEL AÑO
ResponderEliminarDificil? es la mas facil que he podido encontrar en la web, esas formulas de dividir entre 365 no son exactas...
EliminarGracias por la formula, la necesitaba urgente
Hola,
ResponderEliminarno estoy de acuerdo contigo... no me parece que la función SIFECHA sea difícil de utilizar.
Por otro lado aunque tu propuesta de cálculo de edad, por supuesto, es correcta, tiene el inconveniente de no decirte cuántos meses y días llevas cumplidos, es decir , requieres de algún tratamiento posterior.
En cualquier caso, gracias por tu comentario.
Slds
hola podrian ayudarme me piden que sace las categorias en letras por ejemplo me dicen esto que para informatica y contabilidad debera ser la letra a1 y para ventas a2 para productos a3 y para produccion a4 como ago uso funcion y o funcion ayuda por favor
ResponderEliminarNinguna de las dos propuestas da el cálculo exacto. La segunda de entrada no considera años bisiestos. Saludos
ResponderEliminarHola,
ResponderEliminares complicado darte una respuesta con los datos que aportas, pero parece que lo que te piden ('sacar las categorías en letras' : informatica y contabilidad debera ser la letra a1 y para ventas a2 para productos a3 y para produccion a4) podrías probar a usar un condicional SI...
Habría que ver el planteamiento con más detenimiento.
Siento no poder decirte más.
Slds
Hola,
ResponderEliminares cierto que la entrada http://excelforo.blogspot.com/2010/05/calcular-la-edad-con-excel.html no es válida cuando entre ambas fechas existe una año bisiesto, habría que pulir la fórmula para tener en consideración este hecho; sin embargo, la anterior http://excelforo.blogspot.com/2009/07/ejemplo-de-calculos-entre-fechas.html si devuelve la diferencia exacta de días, independientemente de si es bisiesto o no, ten en cuenta que al ser una diferencia numérica no toma el número menor como un día entero...
Slds
buenos aportes
ResponderEliminarcomo puedo hacer para aumentar una letra
ejm: en la formula de edad sale un numero
12/11/1985(fecha inicio) 11/11/2011(fecha final) = 25
quieno que el resultado sea (25 a)`ò (25 años)
espero me puedan ayudar
gracias
Hola el_taba,
ResponderEliminarcreo que lo mejor en este caso es darle un formato de celda personalizado con el tipo 0" a" o bien 0" años"
Un saludo
El problema surje cuando la fecha inicial es anterior a 01-01-1900. Todo se viene abajo y hay que llevar a cabo otras fórmulas de cálculo.
ResponderEliminarHola,
ResponderEliminarefectivamente para fechas anteriores a 1/1/1900 Excel da problemas, ya que no las reconoce directamente...
Claro, que en esta entrada se trataba de calcular la edad.. y no creo que tratemos muy frecuentemente con personas nacidas antes del 1/1/1900.
Muchas gracias por la anotación.
Un saludo
Hola, yo no tenía ningún problema con la fórmula, pero desde hoy me da problemas con la muestra de cuantos días tiene, por ejemplo, ahora muestra: 0 años, 7 meses y 135 días...
ResponderEliminarNo sé como corregirlo, porque no he cambiado la fórmula y ahora me lo muestra así. Ojalá pudieran ayudarme! Gracias!
Hola Tania,
ResponderEliminardime cuáles son las fechas.. por que es muy raro que antes funcionara y ahora sin tocar nada deje de operar correctamente.
Has comprobado los formatos de las celdas implicadas.. quizá hayan cambiado al tocar otra cosa.
Slds
disculpen pero no puedo ver la opción para poner un tema de ayuda no se si me puedan ayudar tengo un problema con vinculación de celdas, bueno pasa que si yo deseo poner una letra en una celda digamos "F" quisiera que automáticamente otra celda aparezca una descripción es decir
ResponderEliminarsi digito F entonces en otra celda se digite la palabra madera
si digito D entonces se digite ladrillo sillar
por favor ayúdenme a vincular esto y si no es posible usar una macro mi correo es hwoarang_baek33@hotmail.com se los agradeceré mucho gracias
Hola hwoarang_baek33,
ResponderEliminarsupongo en alguna tabla tendrás las correspondencias entre letras y significado, supongamos lo tienes en la Hoja2 en las columnas A:B (A para el código-letra, y B para el significado); y quieres poner una letra-código en una celda (por ejemplo de la Hoja1 en la A1) y que en otra celda (por ejemplo de la Hoja1 en la B1) te aparezca qué es.
Entonces escribirías en la Hoja1 en la celda B1:
=BUSCARV(A1;Hoja2!A:B;2;0)
Espero lo veas claro
Un saludo
MUCHAS GRACIAS eXCELFORO M,E SIRVIO DE MUCHO AUNQUE AL PRINCIPIO ME SALIA ERROR ERA POR QUE EN SU FORMULA LA SEPARACIÓN ESTA CON ; Y BUENO ACA FUNCIONO SOLO CON , GRACIAS ME AHORRARON MUCHO TIEMPO EN UN TRABAJILLO QUE TENGO UN TRABAJO DE DECLARATORIA DE FABRICA EN PLANILLAS GRACIAS FELIZ AÑO
ResponderEliminarHola, yo tengo el mismo problema que la Tania, el año pasado no tenia problemas con las fechas pero este algunas quedaron bien y otras se alteraron por ejemplo ingreso fecha de nacimiento de 27-07-2005 y supongamos que la fecha actual es 18-01-2012 y el resultado sale de esta forma 6 años, 5 meses y 135 días. Espero me puedan ayudar para corregir este problema. Gracias
ResponderEliminarHola,
Eliminarhe revisado la formulación y la he probado para todas las versiones de Excel (2003, 2007 y 2010) y con las fechas que das, siempre me da el mismo resultado: 6 años, 5 meses y 22 días
también he realizado diferentes pruebas con fechas distintas y siempre funciona bien, al menos en mi oridenador (y te aseguro no tiene nada de especial).
Envíame el fichero de trabajo a
excelforo@gmail.com
y lo mirará, repito que es muy raro que hace unos días funcionara perfectamente y ahora deje de hacerlo.
Cuando pueda revisarlo te comentaré.
Slds
Estimado Excelforo, gracias por responder rápido, le cuento que probé la formula en otro PC y funciono bien el mismo ejemplo, lo que me haría pensar que el problema sería de configuración de algún tipo en el actual PC que estoy usando. Nuevamente gracias.
EliminarSi consigues averiguar el problema, que me imagino, entonces que estará en la configuración de Windows, por favor, coméntalo aquí mismo.
EliminarUn cordial saludo!!!
necesito hallar el dia de nacimiento segun la fecha de nacimiento y saber si el niño es mayor o no deacuerdo a unas fechas
ResponderEliminarHola Edward,
Eliminarno queda nada claro qué pretendes calcular, pero se intuye que necesitas saber si un niño es mayor de edad o no (esto es su edad es mayor o igual a 18) según ciertas fechas.
Si es así, sólo deberías aplicar la fórmula explicada en este post, si es algo distinto y necesitas saber el tiempo transcurrido entre dos fechas, igualmente te puede servir esa misma función, cambiando el sentido de los parametros.
Un cordial saludo
La función SIFECHA, no está descatalogada, lo que pasa es que es una función creada por LOTUS 123 y se puede utilizar en Excel para que el archivo que contenga esta función pueda ser compatible y visto en Excel, existe desde la versión 2000.
ResponderEliminarHola!!
EliminarCorrecto Luis,
pero al hablar de descatalogada estoy indicando que no existe ayuda sobre ella en las ayudas/catálogos de funciones de Excel.
De hecho como puedes comprobar en esta entrada se está usando en nuestra hoja de cálculo Excel sin problema.
Un atento saludo y gracias por la puntualización.
Slds
ayuda por favor que alguien me diga como sacar la edad de un niño a traves del curp,urge, que me saca la edad mediante el curp ejemplo degh000715hmnclc01 porque tengo la formular pero saca que tiene 112 años
ResponderEliminarHola Hector,
Eliminarcomo te he contestado por mail, la fórmula es:
=SIFECHA((FECHA(SI(VALOR(EXTRAE(F3;5;1))=0;EXTRAE(F3;5;2)+100;EXTRAE(F3;5;2)); EXTRAE(F3;7;2);EXTRAE(F3;9;2)));$A$1;"Y")&" años "
suponiendo el código CURP en la celda F3.
Slds
muchas gracias me sirvio mucho saludos
EliminarSaludos, yo intente colocar la formula mencionada al principio =SIFECHA(A1;A2;"y") no me funciono, le cambie los ";" por "," y tampoco me funciono, podria decirme porque? trabajo en excel 2010.
ResponderEliminarPor cierto segui buscando y encontre esta que me funciono.
=ENTERO(FRAC.AÑO(AHORA(),B3,3))
Gracias.
Hola Rene,
Eliminarpues es raro que no te funcione la función SIFECHA, con ; o con ,.
Probablemente te falta algún complemento por instalar ???
Muchas gracias, por otra parte, por el aporte de la función FRAC.AÑO... muy buena para trabajar de forma decimal con diferencias de fechas.
Un saludo
SALUDOS CORDIALES.
ResponderEliminarMIL GRACIAS ME A SERVIDO DE MUCHO TE DOY UN 9 EN LAESCALA 1.....10
Muchas gracias Edison!!
EliminarHola!! Utilizo esta formula para calcular la edad =DATEDIF(A2,TODAY(),"Y") pero cuando no escribo la fecha de nacimiento en la celda A2 o lo mismo esta vacia la celda, el resultado es 113. Como puedo corregir ese error?
ResponderEliminarSaludos
Hola Hitochi,
Eliminarla función DATEDIF calcula la diferencia entre dos fechas, por lo que no tiene sentido que dejes vacío la celda A2... si lo haces, lo toma como fecha 0/0/1900, por lo que siempre te aparecerá con tu función =DATEDIF(A2,TODAY(),"Y") de cálculo de años transcurridos los 113 años desde 1900 hsata 2013...
Slds
graciasss!!!
ResponderEliminar;-)
EliminarSlds
Gracias por la fórmula. Calculo la edad en años, meses y días.
ResponderEliminarEstoy trabajando con sujetos, la fecha de nacimiento y una fecha específica
Pero tengo el problema de que cuando quiero trabajar con los resultados de los sujetos para ordenarlos (del mayor al menor), por mucho que cambio los elementos entre los datos o defino el formato de celda, no logro ordenarlos.
Gracias de antemano.
Hola!!
Eliminarfijaté que el resultado de la fórmula acaba siendo un formato de texto (es un contenido alfanumérico), por tanto las reglas de ordenación son las de cualquier texto...
para aplicarles un orden tendrías que separar el cálculo de Años, Meses y Días en tres celdas diferentes, y luego aplicarles en conjunto una ordenación estándar por los tres campos.
Slds cordiales
SALUDOS.
ResponderEliminarEXCELENTE FORMULACIÓN
GRACIAS ME A SERVIDO UN MONTON YO TE DOY UN 9.9 EN LAESCALA 1.....10
-WILCAST-
Muchas gracias Wilcast!!! me alegro te haya servido.
Eliminar;-)
hola, leí los comentarios que aparecen antes y ojalá pudieran ayudarme proporcionándome la fórmula en excel 2010 para obtener la edad de un alumno a partir de su CURP o su RFC. Un ejemplo: VAFJ730524R09 (CURP) o VAFJ730524HASLRS09, la edad de esta persona es 40 años (1973-2013) Tengo más de 1200 alumnos y me es muy dificil hacerlo manualmente. Saludos
ResponderEliminarHola,
Eliminarbueno he de suponer que para conocer la fecha de nacimiento de la persona deberemos obtener la parte del CURP o de su RFC corespondiente, por ejemplo de VAFJ730524R09 sería 730524 que correpondería al 24/05/1973
Si esto es así deberás aplicar primero una fórmula que extraiga esos valores, si el valor del CURP o RFC está en A2, entonces para conseguir la fecha de nacimiento haríamos:
=FECHA(AÑO(EXTRAE(A2;9;2)&"/"&EXTRAE(A2;7;2)&"/"&EXTRAE(A2;5;2));MES(EXTRAE(A2;9;2)&"/"&EXTRAE(A2;7;2)&"/"&EXTRAE(A2;5;2));DIA(EXTRAE(A2;9;2)&"/"&EXTRAE(A2;7;2)&"/"&EXTRAE(A2;5;2)))
sobre esta Fecha ya podrás calcular la edad, empleando la fórmula explicada en este mismo post...
Espero te sirva
Slds
EXCELENTE, MUY RÁPIDO, FUNCIONA MUY BIEN Y LE FUI ADAPTANDO LOS CAMBIOS QUE NECESITABA. MUCHAS GRACIAS
ResponderEliminarGracias!!
EliminarHola amigo, necesito que a partir de la fecha de nacimiento, la compare entre dos fechas, inicial y final y me copie los datos de la persona segun la categoria, ejemplo, un niño es de fecha de nacimiento 15/03/2011, pero la categoria sub 08 es entre 10/10/2010 y 10/10/2012 como hago para que excel me haga esa comparacion y me discrimine enviando los datos de los niños a las categorias segun su fecha de nacimiento, de ante mano muchas gracias por el aporte y la ayuda que me puedan prestar. Salas
ResponderEliminarHola Carlos,
Eliminarentiendo que el resultado de los registros que cumplan esa condición la puedas copiar y pegar en otro rango.
Quizá la herramienta de Filtro Avanzado responda a lo que necesitas
http://excelforo.blogspot.com.es/2009/10/un-ejemplo-de-filtro-avanzado-en-excel.html
La idea sería aplicar un filtro sobre el campo Fecha nacimiento con condiciones:
FNac____________FNac
>=10/10/2010 <=10/10/2012
Saludos
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola, una consulta, como puedo hallar la fecha de nacimiento(dd/mm/aaa), si solo tengo la edad
ResponderEliminarHola Dante,
Eliminarsi puedes convertir la edad a días, luego bastaría restar el día de HOY() menos la edad.
Para la conversión deberíamos deshacer lo hecho para el cálculo de la edad.
Saludos