UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo


No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

maite


Hola:
Lo primero avisar que soy novata en el tema, y voy aprendiendo sobre la marcha y con ayuda de páginas como la vuestra. De antemano, gracias!!.

Adjunto un fichero con varias hojas, y dos macros.

Las hojas "Base Temp (2)"  y "Pago Temp(2)", es dónde he comparado manualmente ambas hojas despues de haber comprobado que la macro A_Comparacion_Base_Fin_Con_Pago_Fin_, me fallaba. Las hojas "Base Temp" y "Pago Temp" son las que utiliza la macro y las "Base Final Ejemplo" y la "Pago Final Ejemplo" serían un ejemplo de cuál sería resultado final de la macro.

En la hoja "Base Temp" son datos sacados de mi sistema, en la hoja "Pago Temp" son datos recibidos desde otro ajeno, yo tengo que compararlos para saber que facturas de un determinado proveeror estan en ambas páginas, de forma que las que no coinciden es porque están pendientes de pago, para ello el problema principal radica en que el número de caracteres utilizados para identificar el número de factura puede variar de una hoja a otra, siendo que casi siempre las que empiezan por "16-" sí coinciden.

Con la macro A_Comparacion_Base_Fin_Con_Pago_Fin_, lo que trato de hacer es comparar ambas hojas en base a las tres primeras columnas que son las que se corresponden con el codigo del proveedor, el numero de factura y el importe, y voy haciendo las comprobaciones, primero que coincida el numero de proveedor, despues, que coincida el importe y finalmente Y aquí es donde tengo el problema que coincida el numero de factura o bien los ultimos cuatro digitos, si esta condicion se cumple tiene que poner OK en la columna R de las dos hojas.

Consigo que haga todo bien, menos la comprobacion del los ultimos 4 digitos de factura, es decir, si la factura coincide hace bien todo, pero si la factura no coincide, aunque lo hagan los últimos 4 digitos sí lo hagan, no la da por OK. (Ejemplo proveedor 1383).

El caso es que he probado a usar esta última comprobación de forma aislada por si tenía algun error (Macro B_Comparacion_solo_fra_) y ahí lo hace bien, pero esta opción por si sola no me sirve, ya que pueden existir factuas coincidentes en numeración pero que no sean del mismo proveedor o incluso de distinto importe.
Me he parado aquí, porque no consigo resolver esto, pero la idea es al final,  las filas que no coinciden de cada hoja las copia en otras dos hojas que serian la "Base Final" y la "Pago Final". En el excel van unas como ejemplo del resultado.
De nuevo gracias a quien me pueda ayudar.

Igtelo

avatar
Hola Maité.

Asegura que suba el archivo, sin el "pos" no más no podemos hacer algo.
Dale una buena leída a las normas y recomendaciones para hacer preguntas.

Saludos
Ignacio Téllez

maite


Hola,
Lo siento, debí tener algún problema ayer al intentar adjuntar el archivo, y no me di cuenta de que no iba.
A ver si ahora lo consigo.
Gracias y un saludo,
Archivos
Comparacion.xlsm
No tienes los permisos para descargar los archivos.
(122 KB)

jrgces


Hola:

Me parece que el código está poniendo a veces los OK en filas que no son las correctas.

Usando fórmulas creo que es posible conseguir lo que necesitas.

Prueba creando un rango con el nombre Base para el rango A2:C260 en la hoja Base Temp, y otro rango con el nombre Pago para el rango A2:C202 en la hoja PAGO Temp

En  (por ejemplo) N2 de Base Temp: =COINCIDIR(A2&DERECHA(B2;4)&C2;INDICE(Pago;;1)&DERECHA(INDICE(Pago;;2);4)&INDICE(Pago;;3);0)

Copiar y pegar hacia abajo hasta donde haya datos.

En (por ejemplo) S2 de PAGO Temp: =COINCIDIR(A2&DERECHA(B2;4)&C2;INDICE(Base;;1)&DERECHA(INDICE(Base;;2);4)&INDICE(Base;;3);0)

Copiar y pegar hacia abajo hasta donde haya datos.


A tener en cuenta que:
 - se trata de fórmulas matriciales, por lo que han de ser introducidas pulsando mayúsculas control entrada al mismo tiempo
 - quizás haya que sustituir los puntos y comas por el separador de listas que esté establecido en la configuración regional del equipo


Los rangos podrían convertirse en dinámicos si se considera conveniente.

El problema es que al ser fórmulas matriciales son costosas de calcular, pero supongo que el proceso de comparación no habrá que hacerlo muy frecuentemente.

Saludos.

Edito, que se me olvidaba: lo que devuelven las fórmulas es la fila de la otra hoja en la que coinciden los datos buscados, o el error #N/A si no encuentra una coincidencia exacta.

Igtelo

avatar
Hola jrgces.

Gracias por tu tiempo y solución.
Lo damos por resuelto y cerramos por abandono.

Saludos
Ignacio Téllez

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.