Saltar al contenido

Comparación de nros. de cuenta


Recommended Posts

Buenas tardes, les pido su colaboración...

En el archivo adjunto coloqué solo una muestra, pero debo enfatizar que trabajo con datas más extensas que pueden ocupar el total de filas de la Hoja.

La pestaña Comparación es el resultado a obtener.
Usando como identificadores de interés el número de cédula y el campo quincena... la idea es comparar los datos y obtener como resultado cuando hubo algún cambio de nro. de cuenta, dicho de otra forma: si un trabajador pasó de tener nro. de cuenta a no tenerla, o en su defecto si ingresó a la nómina sin nro. de cuenta y posteriormente se le introdujo.

Libro1.xlsx

Enlace a comentario
Compartir con otras webs

Hace 1 hora, JSDJSD dijo:

Hola TREBUR, prueba el adjunto haber si es lo que necesitas.

Prueba2.xlsm 22 kB · 1 descarga

Estoy haciendo la prueba con una data más extensa, y por ahora noto que los trabajadores que en todas las quincenas tienen sus nros. de cuenta los arroja en el resultado, y no son necesarios.

Por fa... si puedes modificar esa parte para seguir probando...

Enlace a comentario
Compartir con otras webs

Hola JSDJSD, revisé pero sin embargo también suprime los que aparecen varias veces sin nro. de cuenta, y los que aparecen una sola vez con nro. de cuenta o sin nro. de cuenta.
La idea del ejemplo es que, realice comparaciones entre quincenas o entre meses... o sea, si un trabajador mantiene un nro. de cuenta en todas las quincenas existentes significa que no hubo variación, ahora bien, si en alguna de las quincenas no la tiene significa que le suspendieron el pago hasta que posteriormente se la incluyan nuevamente.
Lo otro es que un determinado trabajador puede aparecer una sola vez con cuenta o sin cuenta, eso significa que puede ser un nuevo ingreso o un egreso. Esos casos que te comento si son necesarios que aparezcan.

En otras palabras, del ejemplo anterior, era solo necesario que se auto-eliminaran los que se mantuvieron con nro. de cuenta en cada una de las quincenas (los que no mostraron variación).

Enlace a comentario
Compartir con otras webs

Hace 7 horas, JSDJSD dijo:

Creo que deberías especificar todas las posibilidades posibles a contemplar antes de volver a modificar el código.

Buenos días...
Ciertamente JSDJSD, el archivo Prueba2 que colocaste es idóneo, salvo que una de las alternativas no es de interés. Adjunto una muestra (ésta vez con meses) para una mejor visión; en el resultado obtenido notarás que coloqué en letras de color rojo la única opción que no es necesaria se refleje en el resultado obtenido puesto que se repite desde MARZO a AGOSTO y sin ninguna variación.

Si te fijas el trabajador FULANITO DE TAL 2 aparece de MARZO a AGOSTO pero sin nro. de cuenta... allí si aplica como resultado a obtener porque se debe averiguar a qué se debe que no posea nro. de cuenta. Son casos diferentes.

Si ves uno a uno cada caso, notarás cuáles son todas las posibilidades a contemplar

 

ejemp.xlsm

Enlace a comentario
Compartir con otras webs

tierra_pampa, revisé y el resultado no es adecuado, a pesar de que simplifica bastante el trabajo y parece una buena idea.

Si te fijas el trabajador RUJANO tiene la 1ra QCNA MARZO dos veces, además que debería aparecer en la 1ra QUINC ABRIL sin nro. de cuenta y en la 2da QUINC ABRIL con nro. de cuenta.

En el caso de PADILLA VENERO, no es necesario que aparezca en el resultado obtenido puesto que se repite en todas las quincenas sin variaciones.

Arriba de tú mensaje alojé un nuevo archivo donde contemplo todas las posibilidades...

Enlace a comentario
Compartir con otras webs

Hace 2 horas, JSDJSD dijo:

Supongo que ESCALONA SUAREZ PAMELA JENIRRE 0175055138007 tampoco debería aparecer en el resultado ya que se repite en las tres quincenas en las que aparece, verdad ?

     

 

Si debería reflejarse porque de los 6 meses colocados (MARZO, ABRIL, MAYO, JUNIO, JULIO, AGOSTO) esa trabajadora solo aparece en 3 de esos meses, lo cual amerita buscar el porqué no está en todos los meses, de hecho la dejé en el resultado obtenido porque si aplica...

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola buenas, Os presento mis dudas. Tengo un libro  (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el  contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza perfectamente,  es decir se sobrescribe, pero si en el mismo procedimiento quiero utilizar el nuevo valor de esa variable, me conserva el valor de la variable anterior. Para hacer las comprobaciones he ejecutado un MsgBox al empezar y al acabar el procedimiento, pero en los dos casos me devuelve el valor original del LibroDestino el valor "Hola", cuando mi idea es que al sobrescribir el modulo con el nuevo valor de la variable, el último MsgBox me devuelva el valor "Adios". Mi objetivo es poder tener la inicialización de esas variables en un libro que no sea el de trabajo (LibroDestino), ya que según la hoja que importe puedo requerir que las variables tengan un valor u otro. ¿Por que no me coge en el procedimiento el nuevo valor de la variable? ¿Cómo podría conseguirlo? He tenido que activar en VBA  la referencia Microsoft visual basic for applications extensibility 5.3 desde  Herramientas -> Referencias. Creo que es la única manera de poder trabajar con los módulos desde VBA, aunque si se pudiera de otra manera creo que sería mas óptimo. Mil gracias de antemano, un saludo!         Libro1_Prueba.xlsm Libro2_Prueba.xlsm
    • Agradecido Antoni! Tus sugerencias me ayudaron mucho! Como pudiese hacerte llegar el archivo?
    • Prueba este código. Sin el archivo no te puedo ajustar más. Private Sub btnCargaBancos_Click() 'El tipo de dato debe especificase para cada variable Dim TasaCompra As Double, TasaVenta As Double, InvBanesco As Double, InvVzla As Double Dim MontoBanesco As Double, MontoVzla As Double, TasaDiaBan As Double, TasaDiaVzla As Double Dim TasaActual As Double 'Hay que comprobar que los textbox tienen contenido numérico 'Los datos numéricos solo pueden contener números y el separador decimal, cualquier otro caracter dará error al convertir If Not IsNumeric(txtInverBanesco) Or _ Not IsNumeric(txtInverVzla) Or _ Not IsNumeric(txtTasaCompra) Or _ Not IsNumeric(txtTasaVenta) Then MsgBox "Los datos deben ser numéricos", vbCritical Exit Sub End If InvBanesco = CDbl(txtInverBanesco) InvVzla = CDbl(txtInverVzla) TasaCompra = CDbl(txtTasaCompra) TasaVenta = CDbl(txtTasaVenta) 'Los datos de los divisores no pueden ser 0 (Indeterminación matemática) If TasaCompra = 0 Or _ InvBanesco = 0 Or _ InvVzla = 0 Then MsgBox "Los datos no admiten valor cero", vbCritical Exit Sub End If MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanesco / InvBanesco) * (1 - 0.055) TasaDiaVzla = (MontoVzla / InvVzla) * (1 - 0.055) If TasaDiaBan < TasaDiaVzla Then TasaActual = TasaDiaBan Else TasaActual = TasaDiaVzla End If 'En VBA, los datos numéricos no admiten ser formateados, formatear directamente en las celdas, 'MontoBanesco = FormatNumber(MontoBanesco, 2, True, vbFalse) 'MontoVzla = FormatNumber(MontoVzla, 2, True, vbFalse) 'TasaActual = FormatNumber(TasaActual, 5, True, False) txtBcoBanesco = MontoBanesco txtBcoVenezuela = MontoVzla txtTasaDiaria = TasaActual End Sub  
    • Hola a ambos, @MarianoCruz, si con la respuesta de @Israel Cassales ya tienes resuelto el problema, perfecto. Punto final y a otra cosa. Pero piensa que tu archivo lleva vínculos externos, así que se hace difícil (prácticamente imposible) comprobar si las propuestas dadas ofrecen el resultado esperado. A tal efecto, te sugiero que vuelvas a subir otro archivo, esta vez insertando nuevas hojas que contengan los datos existentes en esos archivos externos.  Tal vez así se vea claro qué es lo que buscas conseguir, y se puedan hacer pruebas que verifiquen la bondad de el/los resultado/s. Tampoco iría mal que insertaras a mano qué resultado debe aparecer en la celda C3 en cada uno de los 3 casos: cuando se inserte 'XI', 'XL' o unos u otros números en los lugares apropiados. Así iremos totalmente sobre seguro acerca del método a emplear. Saludos,
    • Hi Trate de ver que hacían las fórmulas en cuestión pero a su libro le falta o le faltan hojas, por lo que solo podría participar con un par de ideas en general. Lo que entiendo es que según el valor de B3 en C3 debe poner una fórmula u otra, así que es posible que si combina DIRECCION() con INDIRECTO() pueda intercambiar de una fórmula a otra. =SI(B3="Xl",INDIRECTO(DIRECCION(3,5)),SI(O(B3=1,B3=2,B3=3),INDIRECTO(DIRECCION(4,5)),"")) Otra forma sería poner nombre a esas fórmulas en el cuadro de nombres para que las pueda mandar llamar a una o a la otra según el resultado de B3. Por favor tome en cuenta, es solo una idea.
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.