Calcular intervalos en Excel con SIFECHA

sábado, agosto 25, 2007

Supongamos que la fecha de hoy es el 1/1/2007 y nos preguntamos cuántos días faltan hasta la apertura de los Juegos Olímpico. Si queremos hacer el cálculo con Excel, ponemos la fecha actual en una celda, la fecha de la apertura en otra y en una tercera efectuamos la resta:




Como vemos, 583 días. Si queremos expresar el resultado en términos de años, meses y días, podemos usar la función SIFECHA (DATEDIF en la versión inglesa). Esta función, que es una función total y absolutamente normal de Excel pero no está documentada, excepto en XL2002, a pesar que existe desde la versión 5 de Excel.

La función SIFECHA usa tres argumentos: fecha de inicio, fecha final y tipo de intervalo. Siguiendo con nuestro ejemplo, podemos usar esta fórmula para calcular el intervalo en días

=SIFECHA(A1,B1,"d") que da 583

si queremos calcular la cantidad de meses usamos

=SIFECHA(A1,B1,"m") que da 19, es decir la cantidad entera de meses en el intervalo

y si queremos la cantidad de años

=SIFECHA(A1,B1,"y") que da 1, la cantidad entera de años.

Si queremos calcular la cantidad de días por encima de la cantidad entera de años en el intervalo, usamos el argumento "yd" de la siguiente manera

=SIFECHA(A1,B1,"yd") que da 217, es decir la cantidad de días desde el 01/01/2008 hasta el 06/08/2008

De la misma manera podemos calcular la cantidad entera de meses, por encima de la cantidad de años en el intervalo con

=SIFECHA(A1,B1,"ym") que da 7 (hay que recordar que siempre obtenemos números enteros)

o días no incluidos en la cuenta de los meses

=SIFECHA(A1,B1,"md") que da 5

Como ven, podemos combinar estas fórmulas y exhibir el resultado de la siguiente manera



La función SIFECHA no tiene un argumento que nos permita calcular las semanas. Para esto podemos usar la fórmula

=ENTERO((B1-A1)/7) que da 83

Si queremos expresar el intervalo hasta las Olimpíadas en términos de años, meses, semanas y días, tenemos que usar esta fórmula para calcular las semanas

=ENTERO(SIFECHA(A2;B2;"md")/7), es decir, primero calculamos la cantidad de días "libres" (no incluidos en la cuenta de los meses) y los dividimos por 7.



Si queremos expresar el resultado en una sola celda, incluyendo el texto, podemos usar la concatenación de esta manera

=SIFECHA(A2;B2;"y")&" año "&SIFECHA(A2;B2;"ym")&" meses "&SIFECHA(A2;B2;"md")&" días"

Nuestra querida lengua castellana nos complica un poco las cosas, ya que debemos respetar los singulares y los plurales, para lo cual usaremos la función SI

=SIFECHA(A2;B2;"y")&SI(SIFECHA(A2;B2;"y")=1;" año ";" años ")&SIFECHA(A2;B2;"ym")&SI(SIFECHA(A2;B2;"ym")=1;" mes ";" meses ")&"y "&SIFECHA(A2;B2;"md")&SI(SIFECHA(A2;B2;"md")=1;" día";" días")

Como esta fórmula es un tanto larga y engorrosa, podemos incluirla en un nombre para facilitar la lectura de las celdas en nuestra hoja. Lo que hacemos es poner esta fórmula en un nombre



Una aplicación más práctica de esta función es crear una tabla de antigüedad de empleados, como me pedía uno de mis lectores:



En la celda B1 ponemos la función =HOY(), para obtener el día corriente; en las celdas donde queremos calcular la antigüedad usamos el nombre "lapso_rel" que contiene la fórmula usada en "lapso" con una pequeña pero importante modificación. Como hemos de copiar este nombre a lo largo de un rango, debemos usar referencias relativas a las celdas de la fecha inicial de los empleados, pero la referencia a la fecha corriente debe ser absoluta:

=SIFECHA(Hoja1!B3;Hoja1!$B$1;"y")&SI(SIFECHA(Hoja1!B3;Hoja1!$B$1;"y")=1;" año ";" años ")&SIFECHA(Hoja1!B3;Hoja1!$B$1;"ym")&SI(SIFECHA(Hoja1!B3;Hoja1!$B$1;"ym")=1;" mes ";" meses ")&"y "&SIFECHA(Hoja1!B3;Hoja1!$B$1;"md")

Otra variante sería utilizar la función HOY() dentro de la fórmula, en lugar de ponerla en una celda auxiliar

=SIFECHA(Hoja1!B3;Hoja1!HOY();"y")&SI(SIFECHA(Hoja1!B3;Hoja1!HOY();"y")=1;" año ";" años ")&SIFECHA(Hoja1!B3;Hoja1!HOY();"ym")&SI(SIFECHA(Hoja1!B3;Hoja1!HOY();"ym")=1;" mes ";" meses ")&"y "&SIFECHA(Hoja1!B3;Hoja1!HOY();"md")




Technorati Tags:

65 comments:

jose Juan,  28 agosto, 2007 01:55  

Hola:

Nuevamente yo. (anteriormente solicite ayuda para conteios ciclicos)

ahora tengo un dilema.
debo entregar a un usuario un reporte que le facilite su toma de deciciones
esto para el area de compras principalmente. el caso es que logre hacer el reporte en cierta forma usando tablas dinámicas, pero no quiero que realice ninguna operacion (suma, multiplicacion, diferencia etc) sobre los datos que agrego a dicha area. es decir simplemente quiero que me los muestre.

ejemplo:

tabla: proveedor, marca, estilo, color, talla, costo, descuento, iva, util, precio


- coloco proveedor como encabezado (ya que las consultas las va a realizar por proveedor)
- seguido de marca (un proveedor puede tener mas de una)
- despues en columna Intento colocar El Estilo y tal vez alguno otro de los datos mencionados, pero al Igual que al colocarlos en el area de datos me trata de realizar la Operacion que viene predeterminada.


el problema que encuentro aqui es q no me da opcion a dejar los datos asi sin Operacion alguna. (Habrá alguna otra forma de hacer esto????)

lo que el usuario quiere hacer es seleccionar el proveedor y una marca del mismo y
con ello verá un listado de los estilos (productos) q nos da ese proveedor asi como los demas datos de cada estilo (producto), con lo cual el comprador podrá tener un mayor-mejor criterio para realizar sus pedidos.


como le mencione con anterioridad ya se hace con la tabla dinámica pero tambien el Excel hace una operacion sobre los datos que le pongo y eso es lo q no quiero
que sume o promedie los %'s o precios como lo hace actualmente :(



algo asi es lo que quiero que de de resultado
proveedor
marca


estilos color material costo desc precio util
1 bco piel 1 3% 5 25%
2 bco-mno piel 10 3% 50 25%
1 bco piel 1 3% 5 25%
1 bco piel 1 3% 5 25%


espero explicarme. y que me pueda ayudar a encontrar una buena solucion
gracias y saludos desde mexico.

Pogo 28 agosto, 2007 19:15  

Hola!... encuentro increíblemente útil tu blog pero tengo una duda que no logré clarificar.

Tengo un rango de celdas al cual le asigné el nombre "Validos", y estoy necesitando una fórmula que, al momento de teclear un valor, me diga si existe en ese rango de celdas o no.

Por ejemplo, si en el rango de celdas tengo 10,20,30,40,50 y en la celda C2 (la que estoy evaluando) meto 10 me dice "Encontrado", pero si meto 20 me dice "No encontrado", es decir, solo me está evaluando el primer elemento del rango, cómo logro que me busque en todas las celdas del rango???

Ésta es la fórmula que estoy usando.

=SI(C2=Validos,"Encontrado","No encontrado")

Gracias por tu atención.

Jorge L. Dunkelman 28 agosto, 2007 21:10  

Hola José Juan
tu consulta no está relacionada con el tema de la nota. Mandame una copia del archivo o un ejemplo y seguiremos la consulta por mail (jorgedun@gmail.com).

Pogo 29 agosto, 2007 22:28  

Gracias!. Es útil tu solución, encontré ésta otra:

=SI(BUSCAR(C2,cctvalidas)=C2,"Encontrado","No encontrado")

Donde C2 es la celda evaluada y cctvalidas es el nombre del rango de celdas + 1, es decir, si los datos van de a1 hasta a20 se debe crear el rango desde a1 hasta a21, por qué?, no lo sé jejeje. Saludos!

Josep M.M. 25 septiembre, 2007 13:26  

En primer lugar felicitarte por tu blog.
Seguidamente una pequeña corrección
en la expresión siguiente
=SIFECHA(A1,B1,"m") que da 1, la cantidad entera de años.

Las celdas deben referenciarse a A2 y B2 y el tercer parámetro para años es "y"

Jorge L. Dunkelman 04 octubre, 2007 21:58  

Efectivamente Josep. Gracias por la observación.

Carlos Salima 06 octubre, 2007 14:30  

Hola Jorge, en realidad se ve que eres todo un Master en Excel, y en realidad agradecía todo el apoyo que has aportado a esta comunidad.

Pues te comento que tengo un problema y es el siguiente:

Tengo que llevar el control de una Planillas la cuales posen un serial correlativo.

Al principio pense es sencillo, resto el ultimo serial por el el serial inicial y me da el numero de planillas en total.

Cuando me sorpresa me he dado cuenta que me suma un numero de mas, ejmp:

=C6-B6
el valor de la Columna c6 es: 3 y el de la b6 es:1 y la formula en excel me da:2 "es logico" 3-1=2, pero sabemos que el numero de existencia de planillas son 3 y no 2.

Otro ejemplo que realice es este:
el valor de la Columna c6 es: 121 y el de la b6 es:20 y la formula en excel me da como resultado:101, lógico 121-20=101 pero sabemos que la existencia real de planilla es de 100.

Que solucion me puede brindar?

Jorge L. Dunkelman 07 octubre, 2007 23:22  

Hola Carlos

no se si enterpreto correctamente tu consulta, pero cuando calculas una diferencia y quieres que ambos extremos estén incluidos en el cálculo, debes agregar 1.
Para contar el número de elementos en un rango es más conveniente usar las funciones CONTAR o CONTARA.

Anónimo,  24 octubre, 2007 17:51  

Primero de todo felicitar al autor del blog, que gran descubrimiento acabo de hacer y lo que pienso aprender de él. Gracias por hacerlo posible.

Un apunte sobre el calculo de las fechas, en el caso que queden 7 dias o mas surge el problema de que nos pone la semanas correctamente pero nos sigue manteniendo los dias. Por ejemplo si pongo fecha 30/08/2008 me salen 4 semanas pero me sigue poniendo 29 dias. Lo he solucionado poniendo en la casilla D5 la funcion RESIDUO(SIFECHA(A2;B22;"md");7) y ya me pone correctamente 1 dia.

Espero aprender mucho con tu blog, un saludo.

Anónimo,  28 octubre, 2007 01:30  

Saludos, y felicitaciones por el BLOG.

Mi nombre es Nestor y Cuando uso la función SIFECHA me devuelve error de numero(#¡NUM!), como soluciono esto. Aparentemente no tengo la función "SIFECHA" en el excel 2002 y Excel 2007.

Saludos

Jorge L. Dunkelman 28 octubre, 2007 17:53  

Hola,
sí tienes la función en tu versión de Excel. Si no la tuvieras el error sería #NOMBRE?
El error #NUM! indica que hay algo errado con los argumentos de la función.
Intenta cambiar el orden de las fechas en la función. En esta función el primer argumento es la fechas "menor". Por ejemplo, si las fechas son 10/07/2007 y 24/10/2007, el primer argumento debe ser la celda que contiene 10/07/2007.

Martin 24 marzo, 2008 18:16  

Hola, para empezar felicitarte por tu blog, esta muy bien. Yo lo que quiero hacer es pasar horas a años, meses, dias y horas. osea imaginate:
A1= 250horas y que en A2 me pasara esa cifra a lo que dije anteriormente.
Es para calcular el tiempo trabajado.
Muchas gracias

Jorge L. Dunkelman 24 marzo, 2008 23:44  

Hola Martín aquí va una explicación breve. Más adelante publicaré en el blog una explicación más detallada.
Suponiendo que en la celda A1 tienes el número 250 (y no con formato de hora y/o fecha, sino como número), tienes que dividirlo primero por 24. Así que ponemos 24 en la celda A2, y en la celda A3 hacemos la división lo que da 10,416667. En una celda libre pones esta fórmula

=SIFECHA(0;A3;"y")&" años - "&SIFECHA(0;A3;"m")&" meses - "&SIFECHA(0;A3;"md")&" días y "&HORA(A3-ENTERO(A3))&" horas"

el resultado será

0 años - 0 meses - 10 días y 10 horas

Si en A1 tienes la hora con formato de horas, es decir 250:00:00 (lo que quiere decir que has usado el formato [hh]:mm:ss), no hay necesidad de dividir por 24.

Torneos Xbox360 23 abril, 2008 22:02  

exelente blog los felicito por esta gran labor de ayudar a los demas y quisera saber si me pudieran ayudar con lo siguiente.... Quisiera hacer una hoja donde me calcule el costo menor que me dan mi proveedor... osea incluir los precios de mis proveedores y que me calculara cual es el costo menor y de que proveedor es ese costo

Jorge L. Dunkelman 24 abril, 2008 11:53  

Hola
la consulta no está relacionado con el tema de la nota (esto es un blog, no un foro). De todas maneras, tienes que usar la función MIN para obtener el menor valor de un rango. Luego puedes usar INDICE o alguna otra función de búsqueda para obtener el nombre del proveedor cuyo precio es el que aparece como resultado de MIN.

Anónimo,  08 julio, 2008 14:13  

Hola Jorge,
Yo estoy calculando la antigüedad de los trabajadores y no tengo la formula sifecha;:que fórmula puedo usar en su defecto???
Muchas gracias
Alicia A

Jorge L. Dunkelman 09 julio, 2008 07:59  

Hola Alicia

¿qué versión de XL estás usando? Creo que SIFECHA ya existía en XL en versiones anteriores a XL97. Por algún motivo, esta función no aparece en la lista de funciones, pero que existe, existe.
Te recomiendo probar escribir la función con esta sintaxis:

=SIFECHA(fecha anterior, fecha posterior, "m")

Si no funciona usar DATEDIF en lugar de SIFECHA.

Nemi 17 junio, 2010 04:59  

Mi estimado, ante todo dejame felicitarte por excelente e ilustrativo Blog. En esta ocasión, recurro a ti para una consulta:
En la siguiente fórmula, =SIFECHA(A3,B3,"y")&" años, "&SIFECHA(A3,B3,"ym")&" meses y "&SIFECHA(A3,B3,"md")&" días" ´
Cuál es el significado de los términos "y", "&", "ym", "md". Muchas gracias por tu ayuda, atentamente Héctor.

Jorge L. Dunkelman 17 junio, 2010 07:06  

Nemi,
SIFECHA calcula intervalos en términos de años, meses o días. De aquí:
"y" = años (year en inglés)
"m" = meses (month)
"d" = días (days)
"ym" = la cantidad de meses por encima de la cantidad de años calculada

Está todo explicado en la nota.

Anónimo,  23 julio, 2010 20:28  

Muchas gracias por la información, me fue muy últil.

Sólo hice una pequeña modificación en la información para que me saliera la diferencia exacta de AA/MM/DD

=SIFECHA(A1,B1,"y") da la cantidad de años desde el 01/01/2008 hasta el 06/08/2008

De la misma manera podemos calcular la cantidad entera de meses, por encima de la cantidad de años en el intervalo con

=SIFECHA(A1,B1,"ym") que da 7 (hay que recordar que siempre obtenemos números enteros)

o días no incluidos en la cuenta de los meses

=SIFECHA(A1,B1,"md") que da 5

Anónimo,  16 agosto, 2010 21:05  

HOLA DISCULPA LA MOLESTIA TENGO UNA DUDA
TENGO DOS FECHAS UNA INCIAL Y DE CIERRE
LA INICAL ES 31/08/2007 Y LA DE CIERRE ES 30/06/2010 SACANDO CON LA FORMULA ME SALE 33 MESES PERO SACANDO A MANO SACO 35 DIAS ESA ES LA DUDA FAVOR SI ME PUDIESES AYUDAR GRACIAS

Jorge L. Dunkelman 16 agosto, 2010 23:19  

Estimado,
aún calculando a mano desde agosto del 2007 hasta junio del 2010 debe haber 34 meses. ¿Qué fórmula estás usando y con qué argumentos?

Anónimo,  01 noviembre, 2010 00:44  

podrian ayudarme como calculo los dias horas y minutos si en diferentes celdas tengo fecha inicial, hora inicial, fecha final y hora final saludos

Jorge L. Dunkelman 02 noviembre, 2010 14:59  

Combinando en una celda la fecha inicial con la hora inicial y en una segunda celda la fecha final con la hora final.

Luis,  24 septiembre, 2011 09:40  

Hola,

muchas gracias por el post, es muy interesante. Pero no consigo hacerlo funcionar con Excel 2007. Para empezar con algo sencillo, estoy usando esta fórmula:

=SIFECHA(E2;HOY( );”Y”)

Me sale un error del tipo #¿NOMBRE?

Le doy a 'Mostrar pasos de cálculo...' y aparece una ventana que muestra la evaluación de la fórmula:

SIFECHA(26907; 40810; "Y")

El número '40810' está en cursiva.
La expresión "Y" aparece subrayado.

He probado a cambiar "Y" por "y", "years", "A", "años", ... pero el error persiste.

¿Puedes echarme un cable?


Gracias de antemano.

Jorge L. Dunkelman 24 septiembre, 2011 12:32  

Luis,
el error #¿NOMBRE? indica que Excel no reconoce alguna de las dos funciones SIFECHA u HOY. Revisa las funciones. Otra posibilidad es usarlas en inglés: DATEDIF y TODAY

Onesh00t 27 septiembre, 2011 22:09  

estuve como loco buscando la bendita función SIFECHA y no la encontraba, busque en el mismo excel y encontré su equivalente que es FRAC.AÑO.

Jorge L. Dunkelman 27 septiembre, 2011 22:17  

No exactamente. FRAC.AÑO calcula en días la fracción de año entre dos fechas. SIFECHA calcula días, años, meses. etc.
SIFECHA no esta documentada en la ayuda de Excel.

ProfePitufo 20 octubre, 2011 20:43  

No encuentro la función SIFECHA por ningún lado, cuando la uso me da un error #NAME?. ¿Que se puede hacer?. Tampoco la reconoce en inglés.

Jorge L. Dunkelman 21 octubre, 2011 00:11  

En inglés la función se llama DATEDIF. Asegurate de poner el tercer argumento (la unidad de tiempo) entre comillas. Si no pones las comillas, por ejemplo

SIFECHA(A1,B1,ym)

Excel trata de interpretar ym como si fuera un nombre y al no existir de el erro #NAME!

Anónimo,  19 enero, 2012 11:29  

Gracias.

Muy útil si usas todavía Excel 2003.

Un saludo

karunchi 06 mayo, 2012 02:22  

hola quisiera saber si me podrias ayudar con dicha funcion ..estoy haciendo una planilla para ingresar la fecha q ingresa un interno ej.12/02/2000(celda A), en la otra celda coloco el computo de su pena ej.:2años y 6 meses...mi consulta es como obtengo el resultado de la finalizacion de la pena? o sea q m indique la fecha de finalizacion...muchas gracias

Jorge L. Dunkelman 07 mayo, 2012 20:52  

Tienes que hacerlo con la función FECHA.MES. Esta función hace el cálculo por meses, aasí que en tu caso sería
=FECHA.MES(FECHANUMERO("12/02/2000"),30)

o si en la celda A1, por ejemplo, está la fecha de ingreso y en la celda A2 los meses

=FECHA.MES(A1,A2)

Anónimo,  01 agosto, 2012 15:16  

Gracias por la ayuda que nos prestas.
Mi problema es el siguiente: tengo que calcular los días entre dos fechas para pagos de contratos de trabajo y con la fórmula habitual (día final - día inicio) me da siempre un día de menos; es decir, el día de inicio no lo cuenta. Contempla excel alguna solución o debo poner siempre en la fecha de inicio un día anterior al de inicio real.
Gracias de nuevo por tu ayuda.

Jorge L. Dunkelman 02 agosto, 2012 07:24  

Más sencillo es sumar 1 a la fórmula:
(día final - día inicio) + 1

Anónimo,  03 agosto, 2012 18:07  

Hola!!! Felicitaciones por tu blog! Me piden calcular los años que faltan a un empleado para jubilarse, como lo hago? es 60/65 años pero al utilizar ese número y restarlo a la fecha de nacimiento me da #### por ser negativo y porq 60 ó 65 no son formato fecha...eso creo. Me orientas? Gracias, Claudia

Jorge L. Dunkelman 06 agosto, 2012 18:48  

Si usas la función SIFECHA, hay que introducir primero la fecha de nacimiento y luego la fecha actual. Si restas una fecha de la otra, al revés (obviamente, ya que edad negativa carce de sentido).

Antonio Jesús Sanchez Lopez 22 octubre, 2012 17:58  

Hola, buenas tardes estoy desesperado, hace años confeccioné una hoja de cálculo con Lotus 123 y usé la función @DATEDIF para hallar la diferencia de fechas y obtener un número que, creo recordar, podía ser en años con decimales, es decir, si la diferencia entre dos fechas me daba, por ej. 3.846 dias, el resultado que me mostraba era de 10,54 años y luego usaba @ROUNDUP para redondear por exceso. Estoy intentando hacer lo mismo con SIFECHA en EXCEL 2003, pero no encuentro la manera ¿podría darme una idea?
Antonio

Jorge L. Dunkelman 22 octubre, 2012 19:45  

Antonio, no sé que resultados daba DATEDIF en Lotus 123, pero DATEDIF en Excel da resultados enteros (días, meses, años, etc, tal como muestro en la nota).
Ahora, si ponés en una celda =3846/365, el resultado será 10,54...

Antonio Jesús Sanchez Lopez 24 octubre, 2012 17:39  

Gracias Jorge, esa solución es la que estoy usando actualmente, pero tengo el problema de los años bisiestos, con lo cual la cifra no es muy exacta.
Gracias de nuevo

Jorge L. Dunkelman 25 octubre, 2012 07:27  

Podrías recibir resultados más aproximados dividiendo por 365,25 (dado que cada cuatro años hay una bisiesto).

Anónimo,  04 febrero, 2014 20:07  

Tengo un problema muy raro con esta función.
Yo quiero calcular los dias y en excel 2013 (En la pc de casa) me funciona perfecto y en 2007 (en la pc del trabajo, donde quiero usar una base de datos con esta función) y no da bien el resultado!!!

30/1/14 (Fecha Inicio en A1)
4/2/14 (Fecha Final u hoy B1)

Escribo la función en B3
=sifecha(A1;B!;"d")
Y me da 5 como resultado. Excelente tanto en excel 2013 como en el 2007
Pero si escribo "md" para que me de solo los días, me da 5 en excel 2013 pero me da 2 (DOS) en excel 2007!!!
Como puede ser?
Y asi da mal culaquier recuento de días en excel 2007!
Yo puse ese ejemplo para hacer la formula mas corta para probar, pero anda mal siempre
Quiero calcular en años, meses y días desde
30/08/2012 hasta
04/02/2014
Y me da como resultado 1 años, 5 meses y 2 días!!!
Y lo real es que son 5 días! (En excel 2013 en casa lo muestra bien al resultado!)

Ayuda por favor!!!

Jorge Dunkelman 07 febrero, 2014 11:22  

Acabo de probar en XL2007. El resultado es 5 en ambos casos. Es decir, tu problema está en otra parte. SI me mandas el archivo podría fijarme donde está el problema.

Anónimo,  14 abril, 2014 22:09  

DES PUES DE CALCULAR CON SIFECHA LOS RESULTADOS ,COMO SUMO DE MANERA INDEPENDIENTE COLUMNAS CON AÑOS, MESES Y DIAS DE MANERA QUE LOS DIAS QUE SUMAN MESES COMPLETOS PASEN A LA COLUMNA DE MESES Y LOS MESES A LA DE AÑOS? EJEMPLO, EN EL CASO DE LA ANTIGUEDAD DE UN EMPLEADO, PUEDE HABER SALIDO Y ENTRADO DE LA EMPRESA EN VARIAS OCASIONES, CON LO QUE HABRIA QUE SUMAR VARIAS FECHAS PARA SABER SU ANTIGUEDAD.

Jorge Dunkelman 16 abril, 2014 07:37  

Por favor, evita escribir los comentarios usando sólo mayúsculas (es como si estuvieras gritando). En cuanto a la consulta hay varias posibilidades, dependiendo de cómo estén organizados los datos.
Supongamos que hay una fila para cada período donde en la columna B está la fecha de comienzo del período y en la columna C la fecha de salia. Supongamos que el empleado entró y salió de la empresa en tres oportunidades, Podrías combinar las fechas en la función SIFECHA de esta manera:

=SIFECHA(B2+B3+B4,C2+C3+C4,"y") te daría el total de años para los tres períodos
=SIFECHA(B2+B3+B4,C2+C3+C4,"ym") te daría el resto de los meses
=SIFECHA(B2+B3+B4,C2+C3+C4,"md") te daría el resto de los días

Nota: dependiendo de las definiciones regionales tendrías que usar "a" en lugar de "y" para los años.

Magaly Chumpitaz 08 agosto, 2014 22:21  

HOLA QUISIERA QUE ME RESUELVAS ESTA DUDA QUE FORMULA APLICO PARA SUMAR EL RESULTADO DE SIFECHA, ME EXPLICO EL RESULTADO SALE EN C2 5AÑOS4MESES21DIAS EN LA SIGUIENTE FILA C3 SALE 2AÑOS3MESES14DIAS YO QUIERO SABER QUE FORMULA APLICO PARA SUMAR DICHOS RESULTADOS DE FORMA TOTAL..GRACIAS

Jorge Dunkelman 09 agosto, 2014 10:17  

Los resultados que indicas son texto, no números. Por lo tanto no se pueden sumar.
Y por favor, cuando escribas utiliza mayúsculas, minúsculas y por sobre, todo signos de puntuación. Resulta casi imposible leer los que escribes.

Magaly Chumpitaz 19 agosto, 2014 20:12  

Saludos
Gracias por la critica constructiva, pasando la consulta anterior que te hice habrá otra formula para obtener el resultado en números y así sumar el resultado final de la suma de las fechas. Gracias por responder con sinceridad.

Jorge Dunkelman 20 agosto, 2014 06:44  

En tu ejemplo tienes cuatro fechas, dos que dan el resultado en la celda C2 y dos para la celda C3, Lo que tienes que hacer es utilizar la misma fórmula pero usando la fecha menor y la mayor de las cuatro.

Anónimo,  30 octubre, 2014 17:14  

Perdón si es muy obvio, pero.... ¿por qué en el ejemplo que das la resta arroja 583 días, y con la fórmula SIFECHA salen 581?

Jorge Dunkelman 30 octubre, 2014 17:53  

7 años, 5 meses y dos días después de haber publicado la nota que ha sido vista 38804 veces eres el primero que se dio cuenta del error de imprenta! La fórmula con SIFECHA da también 583 días.

Victor A. Ramos 21 noviembre, 2014 00:26  

Hola Jorge, un gusto!! Mira, tengo la siguiente formula:

=SIFECHA(C3,D3,"y") & " años " & SIFECHA(C3,D3,"ym") & " meses " & SIFECHA(C3,D3,"md") & " días"

He probado con diferentes fechas y todo va bien, pero si pongo 31/01/2012 (en C3) y 01/03/2012 (en D3) me arroja como resultado: 0 años 1 meses -1 días
cuando en realidad es 1 mes y 1 día...
¿Qué puedo hacer en este caso?

Gracias.

Jorge Dunkelman 21 noviembre, 2014 18:48  

Victor, el resultado es correcto; lo quue no parece correcto es la gramática.Para corregir el problema tendrías que usar una fórmula condicional. Te quedará algo bastante "mosntruoso"

=SIFECHA(C3,D3,"y")&" "&SI(SIFECHA(C3,D3,"y")=0,"",SI(SIFECHA(C3,D3,"y")=1,"año","años") )& " " &SIFECHA(C3,D3,"ym")&" "& SI(SIFECHA(C3,D3,"ym")=0,"",SI(SIFECHA(C3,D3,"ym")=1,"mes","meses") )& " " &SIFECHA(C3,D3,"md")&" "&SI(SIFECHA(C3,D3,"md")=0,"",SI(SIFECHA(C3,D3,"md")=1,"día","días") )

Victor A. Ramos 21 noviembre, 2014 22:19  

Gracias por apoyarme con la gramática, pero el otro problema aún continúa...

Quizá no lo expliqué bien, mira, la falla está en que cuando se calcula una fecha que está en medio el mes de febrero me resta más días.

Ejemplo:
31/01/2012 y 03/03/2012 ----- Resultado: 0 1 mes 1 día

Cuando realmente el resultado debería ser: 1 mes 3 días.

Gracias por tu atención.

Jorge Dunkelman 22 noviembre, 2014 17:34  

Hola Víctor, en el ejemplo anterior las fechas eran 30/01/12 y 01/03/12. Tomando ahora las fechas 31//01/12 y 03/03/12, la diferencia es 1 mes y 2 días, ya que como en toda resta, el primer miembro no es tomado en cuenta (es decie del 30/01 al 31/01 hay una diferencia de un día, pero se trata de dos días).
Por este motivo siempre tienes que agregar 1 a la fórmula que calcula los días (para que tome en cuenta también el primer día).
Además hay un error en la fórmula que te puse an el comentario anterior; debe ser

SI(SIFECHA(C3,D3,"y")=0,"",SI(SIFECHA(C3,D3,"y")=1,"año","años") )& " " &SIFECHA(C3,D3,"ym")&" "& SI(SIFECHA(C3,D3,"ym")=0,"",SI(SIFECHA(C3,D3,"ym")=1,"mes","meses") )& " " &SIFECHA(C3,D3,"md")+1&" "&SI(SIFECHA(C3,D3,"md")=0,"",SI(SIFECHA(C3,D3,"md")=1,"día","días") )

con el agregado del 1 para que tome en cuenta todos los días del intervalo.

Anónimo,  05 marzo, 2015 14:05  

muy buen post, quisiera hacerte una pregunta; si ya conozco la cantidad en Años, Mese y Dias como puedo calcular la fecha a partir de la cual se genero ese tiempo?
Osea es como hacer el proceso inverso es posible, gracias por tu colaboracion

Jorge Dunkelman 06 marzo, 2015 09:19  

Tendrías que conocer alguna de las dos fechas, principio o fin. La pregunta es si la diferencia conocoida entre las fechas es un dato numérico o textual.
En el primer caso se trata de una simple operación matemática. En el segundo tendríamos que hacer ciertas manipulaciones para transformar el texto en números.

Anónimo,  13 enero, 2016 19:54  

hola jorge me podrías ayudar con lo siguiente:
Tengo la fecha inicial 01/01/2015 en una hoja y luego tengo varias hojas más pero con diferente fecha Ej. 1) 03/04/2015, 2) 07/07/2015, 3) 01/11/2015 y asi sucesivamente como hago para que a partir de la fecha inicial en una celda me presente la cantidad de meses transcurridos por Ej si anota la primera me diga que son 3 meses, si me anotan la segunda que diga que son 6 meses y si anotan la tercera que han transcurrido 9 meses con respecto a la fecha inicial (01/01/2015)

Jorge Dunkelman 15 enero, 2016 11:46  

Con la función SIFECHA, tal como está explicado en el post (si es que entendí tu consulta).

Manuel Alejandro Aponte 05 julio, 2016 10:36  

no encuentro la solución a este problema...como hago para SUMAR Una fecha MAS un valor de dia, mes y año dentro de un Año de 360 Dias. Ejemplo 31/12/2014 + 30 Dias, 12 Meses y 2 Años = El Resultado debe estar Sumado en un Año de 360 dias....Gracias

Manuel Alejandro Aponte 05 julio, 2016 10:37  

no encuentro la solución a este problema...como hago para SUMAR Una fecha MAS un valor de dia, mes y año dentro de un Año de 360 Dias. Ejemplo 31/12/2014 + 30 Dias, 12 Meses y 2 Años = El Resultado debe estar Sumado en un Año de 360 dias....Gracias

Florencia Gentile 14 febrero, 2017 04:09  

Hola, gracias por la explicación.
quisiera hacer una pregunta.
Para ubicar a la persona en una tabla necesito su edad en meses y debo considerar los días por que si el niño tiene 6 meses de edad y 14 días debo mirar las tablas de 6 meses, pero si tiene 6 meses y 15 días debo buscar en la tabla de 7 meses.
yo use la formula sifecha para sacar edad en meses y días.
cómo puedo hacer que hasta el día 14 como resultado ponga ese mes (en ej. 6) ó pase al siguiente (7 meses) si son 15 o más días??

Jorge Dunkelman 17 febrero, 2017 15:46  

Hola Florencia, supongamos que tus datos están organizados de esta manera:
columna A: Fecha de Nacimiento
columna B: meses de vida (calculados con SIFECHA)
columna C: días, después de descontar los meses (tambipen con SIFECHA usando "md" como parámetro).
En la columna D podrías poner esta fórmula para calcular la edad "corregida"

=SI(C2<15,C2,C2+1)

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP