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: MS Excel
Hola:
ResponderBorrarNuevamente 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.
Hola!... encuentro increíblemente útil tu blog pero tengo una duda que no logré clarificar.
ResponderBorrarTengo 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.
Hola José Juan
ResponderBorrartu 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).
Hola Pogo
ResponderBorrarfíjate en esta nota sobre cómo determinar si un valor existe en un rango de Excel
Gracias!. Es útil tu solución, encontré ésta otra:
ResponderBorrar=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!
En primer lugar felicitarte por tu blog.
ResponderBorrarSeguidamente 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"
Efectivamente Josep. Gracias por la observación.
ResponderBorrarHola 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.
ResponderBorrarPues 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?
Hola Carlos
ResponderBorrarno 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.
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.
ResponderBorrarUn 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.
Saludos, y felicitaciones por el BLOG.
ResponderBorrarMi 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
Hola,
ResponderBorrarsí 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.
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:
ResponderBorrarA1= 250horas y que en A2 me pasara esa cifra a lo que dije anteriormente.
Es para calcular el tiempo trabajado.
Muchas gracias
Hola Martín aquí va una explicación breve. Más adelante publicaré en el blog una explicación más detallada.
ResponderBorrarSuponiendo 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.
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
ResponderBorrarHola
ResponderBorrarla 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.
Hola Jorge,
ResponderBorrarYo 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
Hola Alicia
ResponderBorrar¿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.
Mi estimado, ante todo dejame felicitarte por excelente e ilustrativo Blog. En esta ocasión, recurro a ti para una consulta:
ResponderBorrarEn 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.
Nemi,
ResponderBorrarSIFECHA 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.
Muchas gracias por la información, me fue muy últil.
ResponderBorrarSó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
HOLA DISCULPA LA MOLESTIA TENGO UNA DUDA
ResponderBorrarTENGO 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
Estimado,
ResponderBorraraú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?
podrian ayudarme como calculo los dias horas y minutos si en diferentes celdas tengo fecha inicial, hora inicial, fecha final y hora final saludos
ResponderBorrarCombinando en una celda la fecha inicial con la hora inicial y en una segunda celda la fecha final con la hora final.
ResponderBorrarHola,
ResponderBorrarmuchas 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.
Luis,
ResponderBorrarel 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
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.
ResponderBorrarNo 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.
ResponderBorrarSIFECHA no esta documentada en la ayuda de Excel.
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.
ResponderBorrarEn 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
ResponderBorrarSIFECHA(A1,B1,ym)
Excel trata de interpretar ym como si fuera un nombre y al no existir de el erro #NAME!
Gracias.
ResponderBorrarMuy útil si usas todavía Excel 2003.
Un saludo
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
ResponderBorrarTienes que hacerlo con la función FECHA.MES. Esta función hace el cálculo por meses, aasí que en tu caso sería
ResponderBorrar=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)
Gracias por la ayuda que nos prestas.
ResponderBorrarMi 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.
Más sencillo es sumar 1 a la fórmula:
ResponderBorrar(día final - día inicio) + 1
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
ResponderBorrarSi 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).
ResponderBorrarHola, 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?
ResponderBorrarAntonio
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).
ResponderBorrarAhora, si ponés en una celda =3846/365, el resultado será 10,54...
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.
ResponderBorrarGracias de nuevo
Podrías recibir resultados más aproximados dividiendo por 365,25 (dado que cada cuatro años hay una bisiesto).
ResponderBorrarTengo un problema muy raro con esta función.
ResponderBorrarYo 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!!!
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.
ResponderBorrarDES 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.
ResponderBorrarPor 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.
ResponderBorrarSupongamos 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.
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
ResponderBorrarLos resultados que indicas son texto, no números. Por lo tanto no se pueden sumar.
ResponderBorrarY por favor, cuando escribas utiliza mayúsculas, minúsculas y por sobre, todo signos de puntuación. Resulta casi imposible leer los que escribes.
Saludos
ResponderBorrarGracias 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.
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.
ResponderBorrarPerdó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?
ResponderBorrar7 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.
ResponderBorrarHola Jorge, un gusto!! Mira, tengo la siguiente formula:
ResponderBorrar=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.
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"
ResponderBorrar=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") )
Gracias por apoyarme con la gramática, pero el otro problema aún continúa...
ResponderBorrarQuizá 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.
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).
ResponderBorrarPor 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.
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?
ResponderBorrarOsea es como hacer el proceso inverso es posible, gracias por tu colaboracion
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.
ResponderBorrarEn 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.
hola jorge me podrías ayudar con lo siguiente:
ResponderBorrarTengo 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)
Con la función SIFECHA, tal como está explicado en el post (si es que entendí tu consulta).
ResponderBorrarno 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
ResponderBorrarno 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
ResponderBorrarFijate en este post.
ResponderBorrarHola, gracias por la explicación.
ResponderBorrarquisiera 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??
Hola Florencia, supongamos que tus datos están organizados de esta manera:
ResponderBorrarcolumna 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)
Interesante. No estaba al tanto del problema. Tal vez por ese motivo SIFECHA es la única función de Excel que no tiene documentación oficial de Microsoft.
ResponderBorrarTengo que calcular la frecuencia anual de revisiones de ciertas máquinas y tengo una columna en la que me indica la fecha de la última revision y otra con el nº de meses que tienen que pasar para la próxima revision. ¿se puede calcular con cuánta frecuencia se hacen revisiones entre 2 fechas?
ResponderBorrarFrecuencia en términos de qué período?
ResponderBorrar