Pondremos por ejemplo una lista de ventas con nombre del vendedor, artículo vendido y cantidad. Cada vendedor aparece tantas veces como ventas haya hecho. Con BUSCARV se pueden encontrar los datos de la primera venta, pero ¿Qué hacer para obtener los datos de todas las ventas de un vendedor dado?
La forma “correcta” de obtener los datos asociados a todas las apariciones del nombre es un filtro avanzado. Pero podemos usar también la función BUSCARV, con algunas modificaciones. Para explicar el método usaremos varias celdas auxiliares, que luego trataremos de reducir al mínimo.
Consideremos la tabla en [A1:C13], con nombre, artículo y cantidad; títulos en la primera fila y datos propiamente dichos a partir de la segunda. En [E1] escribimos el nombre cuyos datos asociados queremos obtener. En [E3] escribimos el número de fila donde comienzan los datos. En nuestro caso, un “dos”. Con este número “dos” vamos a armar dos rangos. En [F3] escribimos
=”A”&E3&”:A13”. Estas son las coordenadas de la primera fila de la tabla. En [G3] escribimos =”A”&E3&”:C13”. Estas son las coordenadas de la tabla.
Ahora aplicamos la función BUSCARV sobre este último rango.
Obtenemos el nombre del artículo en [H3] con la expresión =BUSCARV(E$1;INDIRECTO(G3);2;FALSO). Aplicamos la función INDIRECTO para que el contenido de [G3] sea tomado como rango y no como un texto.
De la misma forma obtenemos la cantidad vendida en [I3] con la expresión =BUSCARV(E$1;INDIRECTO(G3);3;FALSO).
La idea es extender estas funciones para obtener los datos asociados a las demás apariciones del nombre. Pero para eso necesitamos una última fórmula:
En [E4] escribimos =E3+COINCIDIR(E$1;INDIRECTO(F3);0).
La función COINCIDIR nos dice en qué posición se encuentra el dato buscado (el nombre escrito en [E1]) dentro del rango armado en [F3]. Por ejemplo, si el nombre aparece en cuarto lugar, la función devuelve el número 4. Al sumar este valor al número de fila inicial escrito en [E3], obtenemos el número de fila siguiente a la primera aparición del nombre. Con este número, armamos en [F4] y [G4] los rangos para que la siguiente búsqueda se haga excluyendo la anterior aparición del nombre.
No es fácil, y hay que probarlo hasta entenderlo. Una vez que lo hayamos entendido, podemos hacer la búsqueda con una única columna auxiliar:
En [E4], debajo del número que indica la fila de comienzo de la tabla, escribimos
=E3+COINCIDIR(E$1;INDIRECTO(“A”&E3&”:A13”);0).
En [F3] escribimos =BUSCARV(E$1;INDIRECTO(“A”&E3&”:C13”);2;FALSO) para obtener el nombre del artículo vendido.
En [G3] escribimos =BUSCARV(E$1;INDIRECTO(“A”&E3&”:C13”);3;FALSO) para obtener la cantidad vendida de ese artículo.
Es posible que estas fórmulas puedan simplificarse un poco más. Aceptamos sugerencias.