Saltar al contenido

Uso de la función Match en VBA y Excel

    ¿Qué es una función de coincidencia?

    La función de coincidencia en MS Excel es una de las avíos funciones de búsqueda integradas que funciona como Vlookup, Hlookup y la función de índice para devolver la posición de coincidencias exactas o similares del valía de búsqueda en una matriz o tabla.

    Sintaxis de funciones en Excel

    Match(< lookup value > , < lookup array > , < match type >)

    Cierto

    1. < lookup value > es el valía que buscamos
    2. < lookup array > es el rango de celdas en el que buscamos el «valía de búsqueda»
    3. < match type > es el tipo de comparación que queremos hacer y encontrar una coincidencia. Puede ser uno de los siguientes:
    • 1 : less than–Encuentra el valía más ínclito en la matriz de búsqueda que es beocio o igual que el valía de búsqueda. La matriz debe estar en orden erguido para que esto funcione como se esperaba.
    • 0 : exact match–Averiguación una coincidencia exacta con el valía de búsqueda en la matriz de búsqueda, independientemente del orden en que se encuentren los nociones.
    • 1 : greater than–Encuentra el valía más pequeño en la matriz de búsqueda que es veterano o igual que el valía de búsqueda. La matriz debe estar en orden descendente para que esto funcione como se esperaba.

    Ejemplos usando la función Match manualmente en Excel

    Aquí le muestro dónde se usa la función Match con ejemplos de los tres tipos de coincidencia.

    La fórmula/función con los títulos de los parámetros está acondicionado en la mostrador de fórmulas.

    Menos que tipo de coincidencia – Se devuelve la posición 3 en la matriz de búsqueda.

    Menor que el tipo de coincidencia: se devuelve la posición 3 en la matriz de búsqueda.

    Similar al tipo de coincidencia – Se devuelve la posición 3 en la matriz de búsqueda.

    Igual al tipo coincidente: se devuelve la posición 3 en la matriz de búsqueda.

    Anciano que el tipo de coincidencia – se devuelve la posición 6 en la matriz de búsqueda (columna D como se ve en la mostrador de fórmulas).

    Se devuelve una posición mayor que el tipo de coincidencia 6 en la matriz de búsqueda (columna D como se ve en la barra de fórmulas).

    Utilizando la función Match en VBA

    En VBA, el objeto de la función de la hoja de trabajo puede ayudarnos a usar la función Match. Consulte ese artículo vinculado para obtener más información sobre el objeto de función de la hoja de trabajo.

    Ejemplos: función de coincidencia con diferentes títulos de tipo de coincidencia

    Valía de tipo de coincidencia 1

    Supongamos que desea un software para comprar alimentos con un presupuesto concorde. Usamos competencia tipo 1 aquí. Entonces, para que esto funcione como se desea, los títulos de la matriz, el rango utilizado como parámetro para la función, deben estar en orden erguido.

    Sub match_func_demo()
    
        Dim snacks() As Variant
        Dim price() As Variant
        Dim budget, rec_item, rec_pos
        
        price = Array("50", "55", "60", "65", "70", "70", "71", "72", "94", "110", "120", "125")
        snacks = Array("Ice cream", "Sweet", "Candy", "Cake", "Pulao", "Roti", "Idly", "starters", "Biscuits", "Chilli popcorn", "Soup", "Papad")
        
        budget = InputBox("Please enter your budget")
        
        rec_pos = Application.WorksheetFunction.Match(budget, price, 1)
        
        Debug.Print "You may buy " &amp;amp; snacks(rec_pos - 1) &amp;amp; " which costs $" &amp;amp; price(rec_pos - 1)
    
    End Sub
    

    Si ingresamos 55 como entrada en tiempo de ejecución, el software sugerirá el segundo aspecto.

    Si ingresamos 62 como presupuesto, se muestra el artículo con el valía más cercano, que es beocio que el presupuesto, (60 en este caso).

    Si el presupuesto es 73, entonces se sugiere en este software el artículo con el valía bajo más cercano, que es «entradas».

    Aquí está el resultado en la imagen a continuación para los tres títulos de presupuesto de entrada anteriores:

    Salida para valores de presupuesto de entrada

    Tipo de coincidencia Valía 0

    En el mismo software (usado en la competencia tipo 1) barajamos y cambiamos algunos títulos de matriz de la matriz «Precio». Como sabemos, este tipo de coincidencia 0 devuelve una posición solo si se encuentra una coincidencia exacta.

    price = Array("390", "55", "160", "65", "70", "70", "71", "72", "94", "10", "120", "125")
    snacks = Array("Ice cream", "Gulab Jamun", "Candy", "Cake", "Rasgulla", "Roti", "Idly", "Veg clear soup", "Cookies", "Chilli popcorn", "Soup", "Masala Papad")
    

    Si el presupuesto es de 55, se recomienda comprar el segundo artículo.

    Si el presupuesto es 390, se nos presenta el primer artículo en la matriz de ‘bocadillos’.

    Si el presupuesto coincide exactamente con un valía en la matriz, se sugiere el valía coincidente.

    De lo contrario, nos encontraremos con un error como el de la imagen de debajo. Este error se puede manejar mediante una instrucción «On error goto».

    Por lo tanto, el tipo de coincidencia «0» solo debe estilarse cuando podemos esperar coincidencias exactas.

    Imagen de error si el presupuesto no coincide con un valor en la matriz.

    Inferencia

    La función de coincidencia puede ser útil cuando los títulos exactos y más cercanos deben elegirse alternativamente según la situación. El parámetro de tipo de coincidencia es opcional, pero especifica si necesitamos una coincidencia exacta o un valía más bajo o un valía más suspensión cercano al valía de búsqueda.

    Esta función funciona no es exclusivamente para números, sino asimismo para cadenas o expresiones. Para las expresiones, se supone que el orden alfabético produce un resultado dispuesto.

     

    Su Calificación Nos Ayuda a Mejorar