O primeiro problema vem do fato de que a instrução MATCH
retornará "# N / A" se não encontrar o valor. Portanto, a instrução INDEX
não saberá o que fazer com isso, portanto, você precisa gerenciar esse caso. Uma declaração IF
deve ser boa para lidar com isso.
=IF(A1>A13,0,MATCH(A13,A1:A11))
Com o exemplo acima, se você tiver um valor menor que o primeiro número de sua matriz, ele retornará 0. Em seguida, você deve conectá-lo à instrução INDEX
.
Em seguida, você precisa gerenciar o fato de que deseja arredondar e não para baixo. Isso também pode ser gerenciado facilmente com e IF
declaração. Você pode simplesmente comparar o número na coluna A com a célula de destino para ver se eles são os mesmos, senão você incrementa sua linha em 1. Você só precisa aninhar IF
declarações dentro da outra com alguma ajuda do INDEX
declaração.
=IF(INDEX(A1:A11,IF(A1>A13,0,MATCH(A13,A1:A11)))=A13, IF(A1>A13,0,MATCH(A13,A1:A11)), IF(A1>A13,0,MATCH(A13,A1:A11))+1)
Então, isso basicamente fará com que agora seja arredondado para cima e não para baixo.
O último passo é fazer com que você obtenha o valor da segunda coluna em vez da primeira. Você tinha isso correto com a declaração INDEX
, só precisamos colocá-los todos juntos.
= INDEX(B1:B11,IF(INDEX(A1:A11,IF(A1>A13,0,MATCH(A13,A1:A11)))=A13, IF(A1>A13,0,MATCH(A13,A1:A11)), IF(A1>A13,0,MATCH(A13,A1:A11))+1) )
E isso dá exatamente os resultados que você queria na sua pergunta. Desculpe pela fórmula longa, mas você queria algo mais ou menos complicado.