Buscar datos y devolver los datos verticales adyacentes

Tengo el siguiente problema en Calc:
Necesito rellenar una tabla, F1:I16 de modo que se busque cada ID de la columna F en el rango de colores (A1:D8) y si se encuentra ese ID, rellene los valores 1, 2 y 3 en las columnas G, H e I, siendo el valor 1 el que está inmediatamente debajo del ID encontrado, el valor 2 está en la segunda debajo y así sucesivamente. Si no se encuentra el valor, debería quedar en blanco, pero si da un error ya me encargo de manejarlo.
Claro, esto es un ejemplo, la tabla a rellenar tiene más de 1000 valores


En la tabla de la derecha se ve lo que quiero conseguir, aunque solo he rellenado las 4 primeras filas (dos no tienen datos).
Ejemplo.ods (20,2 KB)

Prueba con:

Selecciona la celda G1 y escribe la siguiente fórmula:
=SI.ERROR(INDICE($A$1:$D$8;COINCIDIR($F1;$A$1:$A$8;0);COINCIDIR(G$1;$A$1:$D$1;0)+1);"")

Esta fórmula debería buscar el valor del ID en la columna F en el rango de colores A1:D8. 
Si el ID se encuentra en el rango de colores, devolvería el valor correspondiente de la 
columna de color en la que se encuentra la celda (columna G, H o I). 
Si el ID no se encuentra, la celda quedará en blanco.

Copia la celda G1 y pégala en las celdas H1 e I1.

Selecciona las celdas G1:I1 y arrástralas hacia abajo hasta la celda G16:I16. 
Esto aplicaría la fórmula a todas las celdas en el rango F1:I16.

No me ha funcionado. Siempre presenta la celda en blanco.

Gracias por hacer la pregunta aquí. Adjunto el fichero con la solución que pase en Telegram.
Ejemplo.ods (20.9 KB)

En G2:
=SI.ERROR(INDICE($A$1:$D$8;SUMA.PRODUCTO(FILA($A$1:$D$8)*($A$1:$D$8=$F2))+COLUMNA()-COLUMNA($F2);SUMA.PRODUCTO(COLUMNA($A$1:$D$8)*($A$1:$D$8=$F2)));"")
Se puede copiar a la derecha y abajo.

¡Madre mía! ¡A ver si soy capaz de digerir la fórmula!
(no me había fijado que añadiste la solución en Telegram)

Es larga, pero más sencilla de lo que parece, con el primer sumaproducto calculamos la fila y con las funciones columna, calculamos cuantas líneas añadir en función de la columna en la que estamos aplicando la formula, con el segundo sumaproducto obtenemos la columna.