EDITAR:
Desculpe, fiz um trabalho ruim ao ler sua pergunta e só agora percebi que você disse claramente que deseja encontrar o valor de Weight
mais próximo da média entre os valores da cidade que a média foi calculada para. Então atualizei a resposta abaixo.
Parece que você encontrou a resposta do XOR LX para uma pergunta semelhante, e você está bem perto de acertar.
O XOR LX usou uma pequena fórmula realmente interessante que contorna as limitações de MATCH()
ao pesquisar dados não ordenados. Vou explicar como funciona abaixo.
Na tabela de dados mostrada abaixo, calculei as médias com:
=AVERAGEIF(A$2:A$11,A14,B$2:B$11)
(recebo respostas diferentes das que você mostrou acima).
e o mais próximo Weight
da média com:
=INDEX((A$2:A$11=A14)*(B$2:B$11),MATCH(TRUE,(A$2:A$11=A14)*ABS(B$2:B$11-B14)=MIN(IF(A$2:A$11=A14,ABS(B$2:B$11-B14))),0))
Note que esta é uma fórmula de array, então deve ser digitada com CTRL Deslocar Enter , ao invés de apenas Enter .