Os itens a seguir funcionarão se você configurar fórmulas em colunas para lidar com quantas instâncias de "VALUE" você achar que encontrará. Você precisará configurar fórmulas nas colunas "VALUE".
Use uma fórmula de matriz que inclua um IF condicional () para verificar seu valor de chave e, em seguida, a função SMALL () para retornar a n'ésima linha correspondente a esse valor . Isso informa que, para a chave APPLE, o valor ocorre nas linhas 1 e 5 da sua tabela. Em seguida, use o INDEX () para buscar o VALUE dessas linhas.
Esta página tem detalhes com um exemplo. Seu exemplo será executado horizontalmente em vez de verticalmente, mas caso contrário, é um problema idêntico. link
O único ajuste que eu recomendarei é no final, quando você adiciona o IF ( ISERROR () ... etc., a maneira mais curta / fácil de faça isso para usar a função IFERROR (), assim você não precisa repetir sua fórmula longa.
Por exemplo, se eu tivesse sua tabela (excluindo cabeçalhos) em A13: B17, minha tabela de resultados começaria com os valores KEY em E13: E15, então 'Apple' em E13, então a primeira fórmula em F13 ( para encontrar o valor para a primeira ocorrência de "Apple") seria ( matriz fórmula, então Ctrl - Shft - Digite ):
{=IFERROR(INDEX($A$13:$B$17,SMALL(IF($A$13:$A$17=$E13,ROW($A$13:$A$17)),ROW(1:1))-12,2),"")}
E o resultado seria "Golden".
Então, no G13, seria o mesmo, exceto ROW (2: 2). H13 usaria ROW (3: 3). E assim por quantas colunas forem necessárias para cobrir o máximo de VALOR antecipado de qualquer CHAVE.
As linhas abaixo seriam as mesmas, exceto pela primeira condicional IF () que verifica o valor da KEY.