Saltar al contenido

Recommended Posts

publicado

Buenos días, la empresa me han encargado la comprobar la contabilidad con la que se ha facilitado al asesor para la presentación de impuestos, para ello he consolidado el Diario de la empresa y el Diario del asesoro, poniendo un código diferenciador para saber que contabilidad es cada cual, ordeno la BDatos por fecha código y las columnas importes Debe y Haber, y a continuación con la utilidad de formato condicional, resaltar celdas, valores duplicados, la utilidad colorea aquellos valores que estima están duplicados pero no lo hace bien, en el archivo adjunto explico detenidamente en dos pestañas cual es el problema.

Si alguien puede echarme una mano se lo agradeceré.

En cualquier caso, gracias de antemano.

COMPROBAR DIARIO.xlsx

publicado (editado)

En base a lo explicado

Cita

'El problema es que el 01/03/2020, y el 15/03/2020 se colora el importe de 0,01 €, pero no se corresponde al mismo asiento ya que uno tiene código 4300980144 y el otro 4751000007, son de diferente fecha.

Si el "asiento" es el responsable de indicar cuál será el duplicado a buscar, algo así en el formato condicional debería servir:

=CONTAR.SI($E$5:$E$26, $E5) > 1

image.thumb.png.50607cd12309a92fa3b1bbc68d02649c.png

Saludines

Editado el por Israel Cassales
publicado

Buenos días Israel, he puesto la formula que me indicas y no se colorea nada, no sé si he hecho algo mal, lo he probado en repetidas ocasiones y no me funciona bien, el tema es que para tercer la certeza de que el asiento esta duplicado, debería de coincidir , la fecha, el código de la cuenta "código Debe", y obviamente el importe, de esa manera tendré la certeza de que el asiento esta duplicado.

Espero haberme explicado bien, de todas formas muy agradecido por tu pronta respuesta, espero me puedas ayudar.

Gracias

publicado

Hola a ambos,

@jcameroe, para estar seguros de entenderlo: ¿por qué no vuelves a subir el archivo, borrando todos los formatos condicionales y coloreando a mano las celdas correctas? Así iremos sobre seguro...

Saludos,

publicado

Gracias Víctor e Israel, creo que Víctor ha dado en el clavo, pero no consigo que se adapte a mi BD, pero porque no se interpretar el ;15) y el 16;15 que está antes del K5, si tienes la amabilidad de explicármelo seguro que conseguiré adaptarlo a mi BD, porque el resultado que está en el fichero que me has enviado es el deseado, que detecte los importes que realmente están duplicados, y para ello hay que tener en cuenta que tengan  la misma fecha, que corresponda al mismo código de cuenta y evidentemente que el importe sea el mismo, y en ese caso es cuando tendré la certeza del duplicado.

Muchísimas gracias por vuestra ayuda

 =N(IZQUIERDA($B5&$E5&$J5&$K5;15)&EXTRAE($B5&$E5&$J5&$K5;16;15)=IZQUIERDA($B4&$E4&$J4&$K4;15)&EXTRAE($B4&$E4&$J4&$K4;16;15))=1

 
publicado

Hola de nuevo,

Bien, vamos con la explicación:  La idea para comparar si 2 filas tienen esos mismos 4 conceptos (fecha, cuenta, importe debe e importe haber), es concatenarlos para ver si coinciden TODOS sus contenidos.  Empecemos con esta fórmula:

=B5&E5&J5&K5

que nos devolverá:  438311000000000040000; o sea una concatenación de esas celdas (el primer 43831 es 01/01/2020 en formato numérico).  Pero, ¿qué ocurre con eso?  Nos tropezamos con un inconveniente: Excel sólo reconoce [y trabaja] con 15 dígitos significativos, así que no podemos trabajar con aquella cantidad. Tenemos que separarla en 2; de ahí que necesitemos:

=IZQUIERDA(B5&E5&J5&K5;15)
=EXTRAE(B5&E5&J5&K5;16;15)

La 1ª fórmula extraerá las 15 primeras posiciones, y la 2ª el resto a partir de la posición 16.

En este punto, ya podemos pedirle a Excel que nos haga comparaciones: si los dígitos obtenidos de estas 2 últimas fórmulas son los mismos en las filas 5 y 6, quiere decir que hay duplicidad; caso contrario, son partidas diferentes.

Ésa es la base de todo; a partir de ahí está configurado el formato condicional.

Saludos,

publicado

Buenas tardes Víctor, he copiado literalmente las formulas del fichero que me has enviado con el arreglo de la longitud de la BD, y no consigo que funcione, mi pregunta es tiene algo que ver que mi Excel sea la versión 2019 .

Gracias

publicado
hace 27 minutos , jcameroe dijo:

tiene algo que ver que mi Excel sea la versión 2019

No debería.  Las funciones =IZQUIERDA y =EXTRAE, que yo recuerde, funcionan desde tiempos ancestrales.

publicado

Buenas noches Víctor, ya he podido conseguir que me funcione mi BD, solo me queda agradecerte enormemente tu colaboración ya que la BD tiene casi 20.000 filas que comprobar, y es un faenón.

Muchísimas gracias, espero que no me de más problemas y funcione a la perfección.

GRACIAS

publicado

Bueno,

Solo por por diversión porque el tema está resuelto agregaré algo adicional para futuros lectores. Antes me permito saludar al Maestro @Victor7 ya que es un gusto coincidir con usted en un tema, mencionar además que sus soluciones siempre me sorprenden, aprendo bastante.

Ahora, suponiendo que @jcameroe ordena los datos para que previamente queden juntos ¿qué pasa si no se hace esto?

En 23/10/2024 at 5:18 , jcameroe dijo:

ordeno la BDatos por fecha código y las columnas importes Debe y Haber

El condicional es probable que no lo detecte:

image.thumb.png.afd113c7cc238a9c7f035a6e41ab1416.png

Así que algo distinto sería validar todo el rango en el condicional:

=SUMAPRODUCTO(($B$5:$B$26=$B5)*($E$5:$E$26=$E5)*($J$5:$J$26=$J5)*($K$5:$K$26=$K5)*(FILA($B$5:$B$26)<>FILA($B5))) > 0

Lo que hace es:

  • $B$5:$B$26=$B5: Compara cada celda en la columna B del rango seleccionado con el valor de la columna B en la fila actual. Devuelve VERDADERO  si coinciden y FALSO  si no.
  • $E$5:$E$26=$E5: Hace lo mismo para la columna E.
  • $J$5:$J$26=$J5: Hace lo mismo para la columna J.
  • $K$5:$K$26=$K5: Hace lo mismo para la columna K.
  • FILA($B$5:$B$26)<>FILA($B5): Asegura que la comparación no se haga con la misma fila. Devuelve VERDADERO  si las filas son diferentes y FALSO  si son iguales.
  • Multiplicando estos cinco componentes da como resultado 1 solo si todas las condiciones son VERDADERO
  • SUMAPRODUCTO: Suma todos los resultados de las multiplicaciones. Si hay alguna fila que cumple todas las condiciones, la suma será mayor que 0.
  • > 0: Esta comparación devuelve VERDADERO si hay al menos una coincidencia en el rango especificado.

Así no importara si se ordena o no los datos antes de usar el condicional:

image.thumb.png.8dc01cbc2811106e0c2cbcd0aee2f9ac.png

Mis mejores deseos para todos.

Saludines

 

 

 

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.