Simular BUSCARV con valores repetidos en Excel
Como hemos comentado en posts anteriores, la función BUSCARV es de las más socorridas para hacer búsquedas de datos en tablas. La complicación llega cuando tenemos en nuestra tabla valores repetidos.
En la siguiente tabla, BUSCARV nos traerá el valor de 67 si queremos traer las ventas de ‘Sergio’.
Ahora bien, en nuestra tabla tenemos otro valor para ‘Sergio’ que está en la fila 9, que son 9 ventas. Para obtener tal resultado utilizamos una fórmula matrical propuesta por Chip Pearson.
Suponiendo que ‘nombres’ es nuestra tabla y que deseamos obtener el valor dependiendo de la posición que deseemos.
={INDICE(nombres,K.ESIMO.MENOR(SI(DESREF(nombres,0,0,FILAS(nombres),1)=B14,FILA(DESREF(nombres,0,0,FILAS(nombres),1))-FILA(DESREF(nombres,0,0,1,1))+1,FILA(DESREF(nombres,FILAS(nombres)-1,0,1,1))+1),B15),2)}
Nota: al copiar se deben eliminar los las llaves de inicio y fin, ya que se ingresarán automáticamente al presionar Ctlr + Shift + Enter, ya que es fórmula matrical.
En caso de que ingresemos una posición inexistente, el resultado que nos arrojará será #¡REF!
Para eso vamos a combinar la fórmula con la función SI.ERROR para obtener un mensaje personalizado en caso de error. La fórmula quedaría:
{=SI.ERROR(INDICE(nombres,K.ESIMO.MENOR(SI(DESREF(nombres,0,0,FILAS(nombres),1)=B14,FILA(DESREF(nombres,0,0,FILAS(nombres),1))-FILA(DESREF(nombres,0,0,1,1))+1,FILA(DESREF(nombres,FILAS(nombres)-1,0,1,1))+1),B15),2),"No hay datos")}