Visual Basic - Cómo repetir una búsqueda hasta encontrar todos los matches y comparar con cada una

Life is soft - evento anual de software empresarial
 
Vista:

Cómo repetir una búsqueda hasta encontrar todos los matches y comparar con cada una

Publicado por odonell (1 intervención) el 16/09/2021 16:51:39
Tengo una función larga en proceso, dejo aquí una pequeña muestra para clarificar el ejemplo:

=IF(AND(K2=12, K2=(INDEX(A2:K63908, MATCH(I2, I:I, 0), 11))), "example", "error")

En este momento, la parte en la que indica K2=(INDEX(A2:K63908, MATCH(I2, I:I, 0), 11)) realiza una búsqueda en toda la tabla donde encuentre una fila donde la celda I sea igual a I2, y entonces realizar la comparación con esa fila. El problema es que en este estado la fórmula comienza la búsqueda desde la primera fila, y se para cuando encuentra la primera fila que cumpla la condición de búsqueda (esto también sucede cuando la primera fila que encuentra en la búsqueda es la misma con la que se está comparando), y una vez encuentra una, no sigue buscando el resto de matches.

¿Cómo puedo hacer para que repita la búsqueda hasta terminar la tabla, sin pararse cuando encuentre la primera fila que cumpla la equivalencia? Ya sea en la propia fórmula o mediante el código de Visual Basic.

Otra consulta secundaria no prioritaria sería saber cómo hacer que, cuando la fila se encuentre a sí misma, se ignore y no haga la comparación, saltando directamente a la siguiente fila de la tabla.

Por último, saber cómo puedo hacer para indicar en el rango que quiero que realice esa búsqueda hasta final de tabla sin tener que indicar literalmente el número de fila del final de la tabla, ya que en un futuro si quiero quitar o añadir filas, necesito que siempre llegue hasta la que sea la última posición de la tabla.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder