INDEX MATCH en Google Sheets: outra forma de buscar vertical

  • Comparte Isto
Michael Brown

Cando necesitas atopar na túa folla datos que correspondan a un determinado rexistro clave, adoita ser a BUSCAR V de Google Sheets á que recorres. Pero aí vai: VLOOKUP dáche unha bofetada case de inmediato. É por iso que é mellor que aumentes os recursos para a tarefa aprendendo INDEX MATCH.

INDEX MATCH en Follas de cálculo de Google é unha combinación de dúas funcións: INDEX e MATCH. Cando se usan en conxunto, actúan como unha mellor alternativa para Google Sheets VLOOKUP. Descubramos xuntos as súas capacidades nesta entrada do blog. Pero primeiro, gustaríame facerche un percorrido rápido dos seus propios roles nas follas de cálculo.

    Función de COINCIDENCIA de follas de cálculo de Google

    Gustaríame comezar con Google Sheets MATCH porque é moi sinxelo. Analiza os teus datos para buscar un valor específico e devolve a súa posición:

    =MATCH(key_search, range, [search_type])
    • search_key é o rexistro que estás a buscar. Obrigatorio.
    • intervalo é unha fila ou unha columna para buscar. Obrigatorio.

      Nota. MATCH só acepta matrices unidimensionales: fila ou columna.

    • search_type é opcional e define se a coincidencia debe ser exacta ou aproximada. Se se omite, é 1 por defecto:
      • 1 significa que o intervalo está ordenado en orde ascendente. A función obtén o valor máis grande menor ou igual á túa clave_busca .
      • 0 fará que a función busque a coincidencia exacta no caso de que o teu intervalo non sexaordenados.
      • -1 indica que os rexistros se clasifican mediante unha clasificación descendente. Neste caso, a función obtén o valor máis pequeno maior ou igual á túa clave_busca .

    Aquí tes un exemplo: para obter unha posición dunha determinada baga na lista de todas as bagas, necesito a seguinte fórmula MATCH nas miñas follas de cálculo de Google:

    =MATCH("Blueberry", A1:A10, 0)

    Función de ÍNDICE de follas de cálculo de Google

    Mentres MATCH mostra onde buscar o teu valor (a súa localización no intervalo), a función INDEX de Follas de cálculo de Google obtén o propio valor en función das súas compensacións de filas e columnas:

    =INDEX(referencia, [fila], [columna])
    • referencia é o intervalo no que se debe buscar.
    • fila é o número de filas que se deben compensar desde a primeira cela do seu intervalo . Opcional, 0 se se omite.
    • columna , do mesmo xeito que fila , é o número de columnas compensadas. Tamén opcional, tamén 0 se se omite.

    Se especifica os dous argumentos opcionais (fila e columna), Google Sheets INDEX devolverá un rexistro desde unha cela de destino:

    =INDEX(A1:C10, 7, 1)

    Omita un deses argumentos e a función obterá toda a fila ou columna en consecuencia:

    =INDEX(A1:C10, 7)

    Como usar INDEX MATCH en Follas de cálculo de Google: exemplos de fórmulas

    Cando INDEX e MATCH se usan xuntos nas follas de cálculo, son o máximo posible. Poden substituír absolutamente a BUSCAR V de Google Sheets e obter o rexistro necesario dunha táboa baseada eno teu valor clave.

    Constrúe a túa primeira fórmula de COINCIDENCIA DE ÍNDICE para Follas de cálculo de Google

    Supoña que queres obter a información sobre stocks de arándano na mesma táboa que usei anteriormente. Só cambiei as columnas B e C (descubrirás o porqué un pouco máis tarde).

    1. Agora todas as bagas están listadas na columna C. A función MATCH de follas de cálculo de Google axudarache a localizar a fila exacta do arándano: 8

      =MATCH("Cranberry", C1:C10, 0)

    2. Pon toda a fórmula MATCH nun argumento fila na función INDEX:

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))

      Este devolverá toda a fila con cranberry.

    3. Pero dado que todo o que precisa é a información do stock, especifique tamén o número da columna de busca: 3

      =INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)

    4. Voila !

    5. Podes ir máis alá e renunciar a ese último indicador de columna ( 2 ). Non o necesitarás en absoluto se usas só a columna de busca ( B1:B10 ) en lugar de toda a táboa ( A1:C10 ) como primeiro argumento:

      =INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))

      Consello. Unha forma máis cómoda de comprobar a dispoñibilidade de varias bagas sería colocalas nunha lista despregable ( E2 ) e referir a súa función MATCH á cela con esa lista:

      =INDEX(B1:B10, MATCH(E2, C1:C10, 0))

      Unha vez que seleccione a baga, o valor relacionado cambiará en consecuencia:

    Por que INDEX MATCH en Google Sheets é mellor que BUSCAR V

    Xa sabes que Google Sheets INDEX MATCH busca o teu valor nunha táboa e devolve outro rexistro relacionado da mesmafila. E sabes que Google Sheets VLOOKUP fai exactamente o mesmo. Entón, por que molestarse?

    O asunto é que INDEX MATCH ten algunhas vantaxes importantes sobre a BUSCAR V:

    1. Lado esquerdo a busca é posible . Cambiei os lugares das columnas anteriormente para ilustrar isto: a función INDEX MATCH en Google Sheets pode mirar á esquerda da columna de busca. VLOOKUP sempre busca na primeira columna do intervalo e busca coincidencias á súa dereita; se non, só obtén erros #N/A:

    2. Non se estropea. referencias ao engadir novas columnas e mover as existentes. Se engades ou moves columnas, INDEX MATCH reflectirá os cambios automaticamente sen interferir no resultado. Xa que usas referencias de columnas, Google Sheets axústanas ao instante:

      Continúa e intenta facelo con BUSCAR V: require o número de orde en lugar de referencias de cela para unha columna de busca. Así, acabará obtendo o valor incorrecto porque outra columna ocupa o mesmo lugar: a columna 2 no meu exemplo:

    3. Considera o texto entre maiúsculas e minúsculas cando sexa necesario (máis información nesta dereita abaixo).
    4. Pódese usar para a busca vertical en función de varios criterios.

    Convídoche a buscar nos dous últimos puntos en detalle a continuación.

    A busca en v que distingue entre maiúsculas e minúsculas con INDEX MATCH en Follas de cálculo de Google

    INDEX MATCH é unha opción útil cando se trata de maiúsculas e minúsculas.sensibilidade.

    Supoñendo que todas as bagas se venden de dúas formas: soltas (pesadas no mostrador) e envasadas en caixas. Polo tanto, hai dúas ocorrencias de cada baga escritas en casos diferentes na lista, cada unha co seu propio ID que tamén varía nos casos:

    Entón, como podes buscar o información de stock sobre unha baga vendida de certa forma? VLOOKUP devolverá o primeiro nome que atope sen importar o caso.

    Por sorte, INDEX MATCH para Google Sheets pode facelo correctamente. Só terás que usar unha función adicional: FIND ou EXACT.

    Exemplo 1. FIND para Vlookup que distingue entre maiúsculas e minúsculas

    FIND é unha función que distingue entre maiúsculas e minúsculas en Follas de cálculo de Google, que o fai xenial para a busca vertical que distingue entre maiúsculas e minúsculas:

    =ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))

    Vexamos que ocorre nesta fórmula:

    1. FIND explora a columna C ( C2:C19 ) para o rexistro de E2 ( cherry ) tendo en conta a súa letra maiúscula. Unha vez localizada, a fórmula "marca" esa cela cun número — 1 .
    2. MATCH busca esta marca — 1 — na mesma columna ( C ) e entrega o número da súa fila a INDEX.
    3. INDEX baixa a esa fila da columna B ( B2:B19 ) e obtén o rexistro necesario.
    4. Cando remate de construír a fórmula, prema Ctrl+Maiús+Intro para engadir ArrayFormula ao principio. É necesario porque sen el FIND non poderá buscar en matrices (en máis dunha cela). Ou pode escribir' ArrayFormula ' do teu teclado.

    Exemplo 2. EXACT para Vlookup que distingue entre maiúsculas e minúsculas

    Se substitúes FIND por EXACT, este buscará rexistros cos mesmos caracteres, incluíndo o seu texto.

    A única diferenza é que EXACT "marca" unha coincidencia con VERDADEIRO en lugar do número 1 . Polo tanto, o primeiro argumento para COINCIDIR debería ser VERDADEIRO :

    =ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))

    Follas de Google INDEX MATCH con varios criterios

    Que pasa se hai varias condicións en función das que desexa obter o rexistro?

    Comprobamos o prezo da cereixa que se vende en cubos de PP e xa se esgotando :

    Dispoñei todos os criterios nas listas despregables da columna F. E é ÍNDICE de Follas de cálculo de Google COINCIDENCIA que admite varios criterios, non BUSCAR V. Aquí tes a fórmula que terás que usar:

    =ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))

    Non te asustes! :) A súa lóxica é bastante sinxela:

    1. CONCATENATE(F2:F4) combina os tres rexistros das celas con criterios nunha cadea como esta:

      CherryPP bucketRunning out

      Esta é unha clave_busca para MATCH ou, noutras palabras, o que estás buscando na táboa.

    2. A2:A24&C2:C24&D2:D24 constitúen un rango para a función COINCIDIR. Dado que os tres criterios teñen lugar en tres columnas separadas, deste xeito combínaas:

      Bandexa de cartón CherryEn stock

      Embalaxe CherryFilmFoto de stock

      Cubeta CherryPPAgotada

      etc. .

    3. O último argumento en MATCH — 0 — fai posible atopar a coincidencia exacta para CherryPP bucketRunning out entre todas esas filas de columnas combinadas. Como podes ver, está na 3a fila.
    4. E logo INDEX fai o seu: obtén o rexistro da 3a fila da columna B.
    5. ArrayFormula úsase para permitir que outras funcións traballar con matrices.

    Consello. Se a túa fórmula non atopa ningunha coincidencia, devolverá un erro. Para evitalo, podes envolver toda esta fórmula en IFERROR (faina o primeiro argumento) e introducir o que queiras ver nunha cela en lugar de erros como segundo argumento:

    =IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")

    Mellor alternativa a INDEX MATCH en Google Sheets — Múltiples coincidencias de VLOOKUP

    Calquera que sexa a función de busca que prefira, VLOOKUP ou INDEX MATCH, hai unha mellor alternativa para ambas.

    Múltiples VLOOKUP Matches é un complemento especial para Follas de cálculo de Google deseñado para:

    • buscar sen fórmulas
    • buscar en todas as direccións
    • buscar por varias condicións para diferentes tipos de datos : texto, números, datas, hora, etc.
    • obtén varias coincidencias, tantas como necesites (sempre que haxa tantas na túa táboa, por suposto)

    A interface é sinxela, polo que non terás que dubidar se o estás facendotodo correctamente:

    1. Seleccione o intervalo de orixe.
    2. Establece o número de coincidencias e columnas a devolver.
    3. Axusta as condicións usando os operadores predefinidos ( contén, =, non baleiro , entre , etc.).

    Tamén poderás:

    • previsualizar o resultado
    • decide onde colocalo
    • e como: como fórmula ou só valores

    Non perdas esta oportunidade de comprobar o complemento. Continúa e instálao desde Google Workspace Marketplace. A súa páxina de titorial explicará cada opción en detalle.

    Tamén preparamos un vídeo didáctico especial:

    Vémonos nos comentarios a continuación ou no seguinte artigo ;)

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.