Comparar columnas y localizar diferencias

09/01/2006 - 18:04 por Martin | Informe spam
Hola a todos. Otra vez por aqui, año nuevo problema nuevo :)
Tengo una hoja de 2 columnas (por simplificar) . La primera es de fecha y
la siguiente es un valor correspondiente a cada fecha.

Ahora, resulta que al intentar comparar esta hoja1 con otra procedente de
otra fuente no me coincide porque en la segunda hoja (que deberia tener
los mismos valores) me faltan fechas. ¿es posible "casar" ambas tablas
para saber de que dia son los datos que faltan?. Algo asi, primera tabla:

A B
05/01/2004 3401.62
07/01/2004 3514.58
08/01/2004 3717.14
09/01/2004 3726.41
10/01/2004 3712.10
12/01/2004 3735.4
13/01/2004 3918.2
14/01/2004 3981.1
15/01/2004 3990.64
16/01/2004 3927.4
19/01/2004 3910.1
20/01/2004 3842.99

Segunda:
A B
05/01/2004 3401.62
07/01/2004 3514.58
08/01/2004 3717.14
09/01/2004 3726.41
12/01/2004 3735.4
13/01/2004 3918.2
14/01/2004 3981.1
15/01/2004 3990.64
19/01/2004 3910.1
20/01/2004 3842.99

Al colocar la columna B de la segunda al lado de la de la primera, no
coinciden ni fechas ni valores porque en la segunda faltan 2 dias (el 10
y el 16 de enero). Se puede hacer que se "desplacen" las fechas que si
coinciden para que las que faltan queden en blanco?. Un poco lioso,
Gracias por adelantado.


Salu2. Martin.

Preguntas similare

Leer las respuestas

#1 David
09/01/2006 - 22:00 | Informe spam
Hola, Martin.

Creo que el siguiente código podría ser el inicio de la solución a tu
problema, pero probablemente tengas que modificarlo para adaptarlo a tu caso.


Sub CorresponderFilas()
Dim x As Boolean, j As Double
x = True
j = 1
Do While x
If Len(ActiveSheet.Cells(j, 1).Value) > 0 Then
If ActiveSheet.Cells(j, 1).Value <> Worksheets("Hoja1").Cells(j,
1).Value Then
ActiveSheet.Cells(j, 1).Select
Selection.EntireRow.Insert
End If
j = j + 1
Else
x = False
End If
Loop
End Sub

Nos cuentas cómo te fue...

"Martin" escribió:

Hola a todos. Otra vez por aqui, año nuevo problema nuevo :)
Tengo una hoja de 2 columnas (por simplificar) . La primera es de fecha y
la siguiente es un valor correspondiente a cada fecha.

Ahora, resulta que al intentar comparar esta hoja1 con otra procedente de
otra fuente no me coincide porque en la segunda hoja (que deberia tener
los mismos valores) me faltan fechas. ¿es posible "casar" ambas tablas
para saber de que dia son los datos que faltan?. Algo asi, primera tabla:

A B
05/01/2004 3401.62
07/01/2004 3514.58
08/01/2004 3717.14
09/01/2004 3726.41
10/01/2004 3712.10
12/01/2004 3735.4
13/01/2004 3918.2
14/01/2004 3981.1
15/01/2004 3990.64
16/01/2004 3927.4
19/01/2004 3910.1
20/01/2004 3842.99

Segunda:
A B
05/01/2004 3401.62
07/01/2004 3514.58
08/01/2004 3717.14
09/01/2004 3726.41
12/01/2004 3735.4
13/01/2004 3918.2
14/01/2004 3981.1
15/01/2004 3990.64
19/01/2004 3910.1
20/01/2004 3842.99

Al colocar la columna B de la segunda al lado de la de la primera, no
coinciden ni fechas ni valores porque en la segunda faltan 2 dias (el 10
y el 16 de enero). Se puede hacer que se "desplacen" las fechas que si
coinciden para que las que faltan queden en blanco?. Un poco lioso,
Gracias por adelantado.


Salu2. Martin.

Respuesta Responder a este mensaje
#2 Martin
11/01/2006 - 11:36 | Informe spam
Hola (lamento no poder poner tu nombre, pero lo que me sale en el programa
de news es:=?Utf-8?B?RGF2aWQ=?=). Deben ser cosas de la configuracion de
teclado.

He probado con tu codigo, pero al final he optado por una solucion mas
"salomonica" :)).

He hecho una columna con TODAS las fechas y al lado he colocado las de
fecha-valor que tenian ausencias de fechas. En una tercera columna he
puesto esta formula:

=BUSCARV($A3;$C$3:$E$520;2)

Donde A es la columna de TODAS las fechas y el rango c3 a e520 son las tres
columnas de fecha-dato1-dato2 que hay que comparar. De este modo obtengo en
la columna A los datos correspondientes a cada fecha, si bien me duplica
los que no estan, eso es precismente suficiente para diferenciarlos.


Muchas gracias por tu interes. Hasta otra, que seguro llegara. Saludos.
Martin



Hola, Martin.

Creo que el siguiente código podrà­a ser el inicio de la solución a
tu problema, pero probablemente tengas que modificarlo para adaptarlo
a tu caso.


Sub CorresponderFilas()
Dim x As Boolean, j As Double
x = True
j = 1
Do While x
If Len(ActiveSheet.Cells(j, 1).Value) > 0 Then
If ActiveSheet.Cells(j, 1).Value <>
Worksheets("Hoja1").Cells(j,
1).Value Then
ActiveSheet.Cells(j, 1).Select
Selection.EntireRow.Insert
End If
j = j + 1
Else
x = False
End If
Loop
End Sub

Nos cuentas cómo te fue...

"Martin" escribió:

Hola a todos. Otra vez por aqui, aà±o nuevo problema nuevo :)
Tengo una hoja de 2 columnas (por simplificar) . La primera es de
fecha y la siguiente es un valor correspondiente a cada fecha.

Ahora, resulta que al intentar comparar esta hoja1 con otra
procedente de otra fuente no me coincide porque en la segunda hoja
(que deberia tener los mismos valores) me faltan fechas. ¿es posible
"casar" ambas tablas para saber de que dia son los datos que faltan?.
Algo asi, primera tabla:

A B
05/01/2004 3401.62
07/01/2004 3514.58
08/01/2004 3717.14
09/01/2004 3726.41
10/01/2004 3712.10
12/01/2004 3735.4
13/01/2004 3918.2
14/01/2004 3981.1
15/01/2004 3990.64
16/01/2004 3927.4
19/01/2004 3910.1
20/01/2004 3842.99

Segunda:
A B
05/01/2004 3401.62
07/01/2004 3514.58
08/01/2004 3717.14
09/01/2004 3726.41
12/01/2004 3735.4
13/01/2004 3918.2
14/01/2004 3981.1
15/01/2004 3990.64
19/01/2004 3910.1
20/01/2004 3842.99

Al colocar la columna B de la segunda al lado de la de la primera, no
coinciden ni fechas ni valores porque en la segunda faltan 2 dias (el
10 y el 16 de enero). Se puede hacer que se "desplacen" las fechas
que si coinciden para que las que faltan queden en blanco?. Un poco
lioso, Gracias por adelantado.


Salu2. Martin.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida