Если у вас есть формула динамического c массива, вы можете использовать FILTER ():
=VLOOKUP(B2,FILTER(E:G,A2=D:D),3)
Если нет, то Ваши данные должны быть отсортированы по 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)
Это должно быть относительно быстро, но для этого нужно отсортировать данные.