Digamos que tiene una tabla que contiene el mismo ID para muchas celdas. Se recomienda encarecidamente reordenar sus datos.
Para realizar esta modificación utilizaremos 3 funciones, ÍNDICE, COINCIDIR y COMPENSACIÓN.
Problema a resolver
Disponemos de una tabla (columna A:D) con el listado de ventas de cada producto.
Queremos reordenar nuestros valores en 2 tablas diferentes de forma automática. Entonces vamos a crear fórmulas entre las 2 tablas finales y la tabla inicial.
¡Mirar! Hay un GRAN problema. 😱😱😱En la columna A faltan muchas fechas. Incluso si copiamos fechas para las celdas vacías, tenemos un problema. No podemos señalar los datos de los productos B, C y D.
BUSCARV o ÍNDICE
La idea es encontrar la posición de las fechas (nuestro ID).
Luego, leeremos el siguiente valor desplazándonos 1, 2 o 3 filas. La función BUSCARV no es conveniente aquí. BUSCARV es perfecto para recuperar los valores que están en la misma fila pero no para realizar un desplazamiento.
Por lo tanto, debemos utilizar el Función ÍNDICE para construir nuestra investigación porque la función ÍNDICE devuelve datos en un rango por puesto (y no valores)
Para la fórmula en G2, escribiremos la siguiente fórmula para devolver la cantidad de artículos vendidos en enero de 2014 para el producto A.
=INDEX($A$2:$D$17,MATCH($G2,$A$2:$A$17,0),3)
La fórmula se puede entender de la siguiente manera.
- Nos centramos en los datos A2:D17 (los datos sin el encabezado)
- Luego buscamos la fila correspondiente a la fecha que nos interesa (Función MATCH).
- Para finalizar indicamos el valor 3, el índice de la columna para devolver el número de ventas.
extraer las ventas
Para devolver las ventas del producto A, cambiamos el argumento de la columna y reemplazarlo por 4
=INDEX($A$2:$D$17,MATCH($G10,$A$2:$A$17,0),4)
Crear la compensación
Debido a que la función ÍNDICE devuelve un rango de datos (y no un valor como BUSCARV), incluiremos la función DESPLAZAMIENTO en las 2 fórmulas anteriores.
=OFFSET(referencia, número de filas, número de columnas)
La función OFFSET devuelve datos basados en la referencia de una celda dinámica (la celda inicial).
En nuestro ejemplo, Si queremos devolver la cantidad del producto B, debemos desplazarnos de una celda hacia abajo. en comparación con la búsqueda anterior.
La fórmula del producto B es:
=OFFSET(INDEX($A$2:$D$49,MATCH($F2,$A$2:$A$49,0),3),1,0)
Y así sucesivamente con las demás células. Para el producto C, la fórmula será
=OFFSET(INDEX($A$2:$D$49,MATCH($F2,$A$2:$A$49,0),3),2,0)
Y para el producto D
=OFFSET(INDEX($A$2:$D$49,MATCH($F2,$A$2:$A$49,0),3),3,0)

10/03/2019 a las 06:09
¡Gracias! Funciona perfectamente.