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

1/29/2014

Aos

Meses
13
10
10
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
11
0
0
6
7

0
13
12
13
25

En Meses
167
120
120
102
55

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
5083
5083
3666
3666
3665
3665
3119
3119
1700
1700

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
29-ene-2014

aos

ym

meses

md

29

dias

55

meses

1704

dias

Ao

Mes

Dia

2014
2009

1
5

29
31

4
Aos

7
Meses

#NAME?
#NAME?

1704

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