sábado, 20 de octubre de 2012

Las funciones INDICE y COINCIDIR combinadas para busquedas en Excel


Los que conocen la función BUSCARV (o su homóloga BUSCARH) saben que tiene una limitación (a pesar de ser de las más utilizadas en Excel). Ésta estriba en la incapacidad de obtener valores en una columna que esté más a la izquierda que la columna donde está el valor buscado. Es decir, no podemos poner un numero negativo en su tercer argumento núm_columna.

Esta contrariedad es salvable a costa de tener que anidar la función COINCIDIR dentro de la función INDICE, pero nos puede sacar de muchos apuros.

Tengamos esta tabla como referencia:




Supongamos que necesitamos buscar el nombre de un trabajador a partir de su fecha de nacimiento. Esto es, introducir la fecha en una celda y que en otra, nos apareciera el nombre de forma automática. Si bien con BUSCARV no sería posible hacerlo al estar la columna de búsqueda (Fecha nacimiento) más a la derecha de la columna objetivo (ID Nombre trabajador), si sería posible combinando INDICE y COINCIDIR de la forma que vemos en la imagen de la derecha.

En la barra de formulas hemos escrito las funciones anidadas, donde el resultado lo proporciona la función INDICE, eligiendo entre la columna "ID Nombre trabajador", aquel que está situado en la 6ª fila.

Para no tener que editar constantemente la fórmula para modificar el segundo argumento de la función INDICE con un nuevo nº de fila cada vez que queramos buscar otro trabajador con otra fecha de nacimiento, en su lugar hemos introducido la función COINCIDIR... que nos proporciona ese nº de fila que ocupa la fecha de nacimiento que introducimos de forma más cómoda y sostenible en la celda C13.


La función COINCIDIR tiene tres argumentos:

=COINCIDIR (valor_buscado;matriz_buscada;[tipo_de_coincidencia])

Valor_buscado = es la celda C13 porque allí escribiremos la fecha que debe buscar la función COINCIDIR.
Matriz_buscada = es la matriz donde se buscará la fecha introducida en C13
[Tipo_de_coincidencia] = Es opcional (por eso no lo vemos en la imagen anterior). Si se pone el número 1 o se omite, al buscar la fecha, si no encontrara una coincidencia exacta, tomaría la más cercana por abajo. Si se pone un 0, obligamos a que haya una coincidencia exacta. Si se pone el número -1 tomaría la fecha más cercana por arriba.

Por todo ello, si pusiéramos de forma aislada la función COINCIDIR:  =COINCIDIR (C13;C3:C10) , nos devolvería el número 6 en el ejemplo anterior (que es el número que utiliza INDICE en su segundo argumento para buscar el nombre del trabajador).

Si desea llevar a la práctica todo lo que le hemos ofrecido en este artículo, puede asistir a nuestros cursos prácticos de Excel o puede solicitarlos in company:









14 comentarios:

  1. La mejor y más clara explicación de como funcionan las funciones de INDICE y COINCIDIR combinadas.

    GRACIAS!

    ResponderEliminar
  2. Me funciona bien con matrices pequeñas, pero no con grandes. Puede ser?

    ResponderEliminar
  3. Respuestas
    1. Como lo resolviste? a mi me pasa lo mismo!

      Eliminar
  4. amigo que pasa con aquellos datos que estan repetidos o son iguales?

    ResponderEliminar
    Respuestas
    1. Devuelve el primero que encuentra. Estas funciones son adecuadas para búsquedas de valores únicos.

      Eliminar
  5. sabe alguien si se puede la función índice+coincidir pero con condición si

    lo que quiero qie me vaya a buscar lo que le voy a pagar un trabajador pero que sea de la empresa que yo quiera por ejemplo:

    índice-lo que le voy a pagar -coincidir el código del empleado , pero que sea de la emplesa Pepsi ejemplo

    ResponderEliminar
    Respuestas
    1. Esta es la Formula

      {=SI.ERROR(INDICE(E:E,COINCIDIR(H1&H2,B:B&D:D,0)),"")}

      Eliminar
  6. Una Concion usando otra referencia como la fecha o otro identificador
    ,

    ResponderEliminar
  7. si escribo la fecha 01/01/1965 me muestra Gómez Lis, Belen. y no es correcto.
    alguna solución???

    ResponderEliminar
    Respuestas
    1. Incluye un cero después del rango del COINCIDIR para que el resultado sea el exacto.

      =INDICE(A2:A10, COINCIDIR(B14, B2:B10,0))

      Saludos.

      Eliminar
  8. Buenas noches, pido su ayuda para vaciar en un formulario los datos del personal, dependiendo de la respuesta de inputbox al pedir clave_empleado. Mis datos Alejandro Ariza aarizag@yahoo.com.mx

    ResponderEliminar