Cómo obtener la posición de la primera coincidencia parcial

Anonim


En este artículo, intentaremos obtener la posición de la primera coincidencia parcial en un rango.
Como sabemos, la función COINCIDIR devuelve el índice o la posición de la primera coincidencia en un rango. Por lo tanto, es obvio utilizar esta función para obtener la posición de la primera coincidencia en un rango. Dado que admite los operadores comodín, también podemos usar MATCH para hacer coincidencias parciales.

Una vez que tengamos la posición de primer partido, podemos hacer varias cosas. Como recuperar ese valor o valor adyacente o no adyacente usando la función INDICE, o hacer una función dinámica. Depende de tu necesidad y creatividad.
Fórmula genérica para la primera coincidencia parcial encontrada
Para cadena de código rígido:

= COINCIDIR ("*str*",distancia,0)

Para referencia de celda:

= COINCIDIR ("*" & celda & "*", rango, 0)

Str: es el texto o la cadena que desea hacer coincidir parcialmente en el rango. Puede ser cualquier cosa, una celda o una cadena codificada.
Distancia: es el rango en el que buscarás str.
0: Es el parámetro de coincidencia exacta. También puedes usar FALSE.

Tenga en cuenta que solíamos usar * (astrisks) al principio y al final de la cadena str. Este es el operador comodín para hacer coincidir cualquier valor que tenga cualquier cadena antes y después …

Veamos un ejemplo.

Aquí tengo un récord de victorias, derrotas y empates. Queremos conseguir la primera posición de victoria, derrota y empate.

Entonces, si codifico, la fórmula para encontrar la primera posición de coincidencia parcial en cada celda será:

= PARTIDO ("* ganó *", A2: A10,0)
= COINCIDIR ("* pérdida *", A2: A10,0)
= COINCIDIR ("* empate *", A2: A10,0)

= COINCIDIR ("*" & C2 & "*", $ A $ 2: $ A $ 10,0)


Cómo funciona
Simplemente usa la funcionalidad de Excel para hacer coincidencias parciales. COINCIDIR busca cualquier cadena que contenga la cadena proporcionada entre * (asteriscos) y devuelve la primera posición encontrada.
Encuentre la posición de la primera coincidencia parcial en el rango usando la función FirstPartMatch VBA
Si copia el código vba a continuación en el módulo vba en Excel, puede usar esta función para obtener la primera posición de coincidencia parcial. Para el ejemplo anterior, simplemente escriba esta fórmula:

= Primera coincidencia (C2, $ A $ 2: $ A $ 10)

Obtendrás la posición de primer partido. Como esto.

Cómo funciona

El primer argumento es la cadena en la que desea buscar una coincidencia parcial.
El segundo argumento es el rango en el que desea obtener la posición de su cadena.

= FirstPartMatch (cadena, rango)

Para usar esta fórmula para la coincidencia parcial, copie el siguiente código en el módulo VBA.

Función FirstPartMatch (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 For Each cll In rng tmp = tmp + 1 If InStr (1, LCase (cll.Value2), LCase (str)) > 0 Entonces posición = tmp Salir para fin If Siguiente cll If posición Entonces FirstPartMatch = posición Else FirstPartMatch = "#NA" End If End Función 


Coincidencia parcial sensible a mayúsculas y minúsculas para la posición

La función definida por el usuario anterior para encontrar la primera coincidencia parcial no distingue entre mayúsculas y minúsculas. Si desea que distinga entre mayúsculas y minúsculas, elimine Función Lcase de la línea 7.

Entonces el código para distinguir entre mayúsculas y minúsculas será:

Función FirstPartMatchCASE (str As String, rng As Range) Dim tmp, position As Long position = 0 tmp = 0 For Each cll In rng tmp = tmp + 1 If InStr (1, cll.Value2, str)> 0 Then position = tmp Exit For End If Next cll If position Then FirstPartMatchCASE = position Else FirstPartMatchCASE = "#NA" End If End Función 


Puede ver que "ganó" y "empate" en este caso no se encuentran. Ya que no hay minúsculas ganadas ni empatadas.

Así que sí, chicos, estas son las formas de encontrar la posición de la primera coincidencia parcial en Excel. Le dije que puede encontrar la primera posición de coincidencia parcial usando la función MATCH predefinida y usando la función de coincidencia definida por el usuario. Si tiene alguna otra idea o pregunta, compártala con nosotros aquí en la sección de comentarios a continuación.

Cómo usar la función COINCIDIR en Excel

Cómo usar la función INDICE en Excel

Vlookup Top 5 valores con valores duplicados usando INDEX-MATCH en Excel

Articulos populares:

La función BUSCARV en Excel

CONTAR.SI en Excel 2016

Cómo usar la función SUMIF en Excel