Assim como a observação de Clif, sua fórmula atual seria, de qualquer forma, adequada apenas para fornecer um único retorno, não a lista que você fornece.
Para isso, seria necessário (supondo que você tenha o Excel 2010 ou posterior):
=INDEX(ORIGINAL_ARRAY!$A:$A,AGGREGATE(15,6,ROW(ORIGINAL_ARRAY!$B$2:$B$10)/ORIGINAL_ARRAY!$B$2:$B$10,ROWS($1:1)))
e copiado para baixo.
Quanto a mascarar erros, então, assumindo que o exemplo que você dá é representativo de sua configuração real - em que há apenas uma dúzia de linhas nos dados de origem - você pode ter uma configuração IFERROR ineficiente, viz:
=IFERROR(INDEX(ORIGINAL_ARRAY!$A:$A,AGGREGATE(15,6,ROW(ORIGINAL_ARRAY!$B$2:$B$10)/ORIGINAL_ARRAY!$B$2:$B$10,ROWS($1:1))),"")
Se o intervalo de dados em questão é de fato bastante grande, então será muito preferível usar uma célula adicional em algum lugar da planilha, por exemplo. D1, em que uma única fórmula é usada para determinar o número esperado de retornos, a saber:
=COUNTIF(ORIGINAL_ARRAY!B2:B10,TRUE)
que pode então ser referenciado na própria fórmula principal, por exemplo:
=IF(ROWS($1:1)>D$1,"",INDEX(ORIGINAL_ARRAY!$A:$A,AGGREGATE(15,6,ROW(ORIGINAL_ARRAY!$B$2:$B$10)/ORIGINAL_ARRAY!$B$2:$B$10,ROWS($1:1))))
e será muito mais eficiente do que a configuração do IFERROR, por razões (se você estiver interessado) explicadas aqui:
Procure um valor em uma lista e retorne TODOS os valores correspondentes
Atenciosamente