Está en la página 1de 11

www.excelavanzado.

com

Excel Avanzado

www.excelavanzado.com
Adolfo Aparicio

o.com

SiFecha.xls

Tiempo entre dos fechas


Fecha Final

Fecha Inicial
2/29/2000
1/16/2004
1/17/2004
7/16/2005
6/4/2009

12/11/2013

Aos

Meses
13
9
9
8
4

=SIFECHA(fecha inicial;fecha final;"y")


=SIFECHA(fecha inicial;fecha final;"m")
=SIFECHA(fecha inicial;fecha final;"d")
=SIFECHA(fecha inicial;fecha final;"ym")
=SIFECHA(fecha inicial;fecha final;"md")

Dias
9
10
10
4
6

12
25
24
25
7

En Meses
165
118
118
100
54

Calcula el nmero de aos transcurridos


Calcula el nmero de meses transcurridos
Calcula el nmero de das transcurridos, Equivale a restar ambas fe
Calcula los meses sin considerar los aos enteros transcurridos.
Calcula los das sin considerar los aos y meses enteros transcurrid

=SIFECHA

e dos fechas
En Dias
Comprobacin
5034
5034
3617
3617
3616
3616
3070
3070
1651
1651

mero de aos transcurridos


mero de meses transcurridos
mero de das transcurridos, Equivale a restar ambas fechas
meses sin considerar los aos enteros transcurridos.
das sin considerar los aos y meses enteros transcurridos.

ECHA

Fecha inicial
31-may-2009

Hoy
11-dic-2013

aos

ym

meses

md

10

dias

54

meses

1655

dias

Ao

Mes

Dia

2013
2009

12
5

11
31

4
Aos

6
Meses

#NAME?
#NAME?

1655

Funcion Personalizada

=SIFECHA($B$3;$C$3;B5)
=SIFECHA($B$3;$C$3;B6)
=SIFECHA($B$3;$C$3;B7)

=SIFECHA($B$3;$C$3;B9)
=SIFECHA($B$3;$C$3;B10)

'Funcin que muestra la frmula de una celda


'Devuelve la frmula que contiene una celda en lengua
'Si se quita la palabra 'Local' devuelve la frmula en ing
Function DisplayCellFormula(Celda As Range) As Strin
DisplayCellFormula = Celda.FormulaLocal
End Function

=DIA(C3)-DIA(B3)+SI(DIA(C3)>=DIA(B3);0;DIA(FIN.MES(C3;-1)))
=MES(C3)-MES(B3)+SI(C3>=FECHA(AO(C3);MES(B3);DIA(B3));0;12)-SI(DIA(C3)>=DIA(B3);0;1)
=AO(C3)-AO(B3)-SI(C3>=FECHA(AO(C3);MES(B3);DIA(B3));0;1)

Ao

Mes

Da

2009

31

31-may-2009

a frmula de una celda


ue contiene una celda en lenguaje local
Local' devuelve la frmula en ingls.
ormula(Celda As Range) As String
= Celda.FormulaLocal

(FIN.MES(C3;-1)))

12)-SI(DIA(C3)>=DIA(B3);0;1)

Calcular el tiempo medio empleado


Proceso
1
2
3

Horas

Minutos

Segundos

HoraNumero

Bien Calculado

#NAME?
#NAME?
#NAME?

#NAME?
#NAME?
#NAME?

#NAME?
#NAME?
#NAME?

#NAME?
#NAME?
#NAME?

#NAME?
#NAME?
#NAME?

Media
En formato decimal
En formato hh:mm:ss

#NAME?
#NAME?

#NAME?

Pulse la tecla F9
reiteradamente

Supongamos tres procesos (1, 2 y 3) cuya duraciones en horas, minutos y segundos se recogen en la zona
amarilla. Son aleatorios, por lo que al pulsar la tecla de funcin F9 cambian.
Las horas de cada proceso en ocasiones superan las 24 horas, y otras veces no. Deseamos calcular el tiempo
medio empleado en los tres procesos. Surge un problema si hacemos la media ya que si la media supera las 24
horas no se vera correctamente. Para solucionarlo debemos trabajar en el sistema decimal, hacer la media y luego
expresarlo en el formato de Excel [hh]:mm:ss. Los corchetes son importantes ya que si no se ponen no se ven las
horas que excedan de 24.

ndos se recogen en la zona

. Deseamos calcular el tiempo


ya que si la media supera las 24
ma decimal, hacer la media y luego
que si no se ponen no se ven las

Clculo de tiempo entre dos fechas


Tabla 1

Tabla 2
Aos Meses
y

1/31/2013
2/28/2013
3/31/2013
4/30/2013
5/31/2013
6/30/2013
7/31/2013
8/31/2013
9/30/2013
10/31/2013
11/30/2013
12/31/2013
1/31/2014
2/28/2014
3/31/2014
4/30/2014
5/31/2014
6/30/2014
7/31/2014
8/31/2014
9/30/2014
10/31/2014
11/30/2014
12/31/2014
1/31/2015
2/28/2015
3/31/2015
4/30/2015
5/31/2015
6/30/2015
7/31/2015
8/31/2015
9/30/2015
10/31/2015
11/30/2015
12/31/2015
1/31/2016
2/29/2016
3/31/2016
4/30/2016
5/31/2016
6/30/2016
7/31/2016
8/31/2016

2/28/2013
3/31/2013
4/30/2013
5/31/2013
6/30/2013
7/31/2013
8/31/2013
9/30/2013
10/31/2013
11/30/2013
12/31/2013
1/31/2014
2/28/2014
3/31/2014
4/30/2014
5/31/2014
6/30/2014
7/31/2014
8/31/2014
9/30/2014
10/31/2014
11/30/2014
12/31/2014
1/31/2015
2/28/2015
3/31/2015
4/30/2015
5/31/2015
6/30/2015
7/31/2015
8/31/2015
9/30/2015
10/31/2015
11/30/2015
12/31/2015
1/31/2016
2/29/2016
3/31/2016
4/30/2016
5/31/2016
6/30/2016
7/31/2016
8/31/2016
9/30/2016

ym
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0
1
0
1
1
0
1
0
1
0
1
1
0

Das
md
28
3
30
1
30
1
0
30
1
30
1
0
28
3
30
1
30
1
0
30
1
30
1
0
28
3
30
1
30
1
0
30
1
30
1
0
29
2
30
1
30
1
0
30

Aos Meses
y
2/1/2013
3/1/2013
4/1/2013
5/1/2013
6/1/2013
7/1/2013
8/1/2013
9/1/2013
10/1/2013
11/1/2013
12/1/2013
1/1/2014
2/1/2014
3/1/2014
4/1/2014
5/1/2014
6/1/2014
7/1/2014
8/1/2014
9/1/2014
10/1/2014
11/1/2014
12/1/2014
1/1/2015
2/1/2015
3/1/2015
4/1/2015
5/1/2015
6/1/2015
7/1/2015
8/1/2015
9/1/2015
10/1/2015
11/1/2015
12/1/2015
1/1/2016
2/1/2016
3/1/2016
4/1/2016
5/1/2016
6/1/2016
7/1/2016
8/1/2016
9/1/2016

3/1/2013
4/1/2013
5/1/2013
6/1/2013
7/1/2013
8/1/2013
9/1/2013
10/1/2013
11/1/2013
12/1/2013
1/1/2014
2/1/2014
3/1/2014
4/1/2014
5/1/2014
6/1/2014
7/1/2014
8/1/2014
9/1/2014
10/1/2014
11/1/2014
12/1/2014
1/1/2015
2/1/2015
3/1/2015
4/1/2015
5/1/2015
6/1/2015
7/1/2015
8/1/2015
9/1/2015
10/1/2015
11/1/2015
12/1/2015
1/1/2016
2/1/2016
3/1/2016
4/1/2016
5/1/2016
6/1/2016
7/1/2016
8/1/2016
9/1/2016
10/1/2016

ym
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Das
md

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

9/30/2016
10/31/2016
11/30/2016
12/31/2016
1/31/2017
2/28/2017
3/31/2017
4/30/2017

10/31/2016
11/30/2016
12/31/2016
1/31/2017
2/28/2017
3/31/2017
4/30/2017
5/31/2017

0
0
0
0
0
0
0
0

1
0
1
1
0
1
0
1

1
30
1
0
28
3
30
1

10/1/2016
11/1/2016
12/1/2016
1/1/2017
2/1/2017
3/1/2017
4/1/2017
5/1/2017

11/1/2016
12/1/2016
1/1/2017
2/1/2017
3/1/2017
4/1/2017
5/1/2017
6/1/2017

0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1

0
0
0
0
0
0
0
0

Tabla 1
Se detecta el problema de que al calcular el nmero de aos, meses y das entre
dos fechas que se encuentran en las columnas B y C el resultado no es
satisfactorio.
Las fechas corresponden al ltimo da de meses consecutivos, por lo que cabe
pensar que el tiempo entre ambas deberi a ser siempre de 1 mes. Si observamos
la columan E y F, esto no siemrpe es as, ya que en ocasiones pone que es 1 mes,
pero en otras ocasiones pone que son cero meses y 30 das, o bien, cero meses y
28 das, o bien, 1 mes y 3 das, etc.

Tabla 2
Se propone una solucin que consiste en trabajar con el primer da de mes. As las
columnas H e I contienen las mismas fechas que las columnas B y C sin ms que
sumar 1 da.
De esta forma podemso comprobar que al calcular con SI.FECHA siempre nos
indica que el tiempo transcurrido es de 1 mes y 0 das.
Por tanto, hemos solucionado el problema trabajando con el da 1 de cada mes
en lugar de trabajar con el da ltimo del mes anterior.

También podría gustarte