Then the most efficient method would be to put a single, non-array formula in e.g. F1, used to determine the expected number of returns:

=SUMPRODUCT((D2:D9=A1)/COUNTIF(E2:E9,E2:E9))

(Assumes there are no blanks in the range, just as in your attached example.)

Your array formula** in G1 is then:

=IF(COLUMNS($A:A)>$F$1,"",SMALL(IF(FREQUENCY(IF($D$2:$D$9=$A$1,$E$2:$E$9),$E$2:$E$9),$E$2:$E$9),COLUMNS($A:A)))

and copied to the right.

Regards