Если у вас есть формула динамического c массива, вы можете использовать FILTER ():
=VLOOKUP(B2,FILTER(E:G,A2=D:D),3)
![enter image description here](https://i.stack.imgur.com/ZwJCI.png)
Если нет, то Ваши данные должны быть отсортированы по D, а затем E:
=VLOOKUP(B2,INDEX(E:E,MATCH(A2,D:D,0)):INDEX(G:G,MATCH(A2,D:D,0)+COUNTIF(D:D,A2)-1),3)
Это должно быть относительно быстро, но для этого нужно отсортировать данные.
![enter image description here](https://i.stack.imgur.com/DYaCC.png)