
Sou professor e minha turma fez um teste. Eu tenho algumas análises de seu desempenho em cada questão. Quero pesquisar o maior valor na coluna B (melhor pergunta) e retornar o número da pergunta (Coluna A) para isso.
Isso funciona bem.
Em seguida, tento o mesmo, mas para encontrar a pior pergunta e recebo a resposta #N/A. Eu não entendo muito bem o porquê.
Os dados são os seguintes:
A B
1 Q Score
2 1 1.13
3 2 1.13
4 3 -0.94
5 4 -1.29
6 5 -1.34
7 6 -0.67
8 7 0.11
9 8 0.91
10 9a -0.88
11 9b -1
12 10ab 0.93
13 10c -1.21
14 11 -1
15 12 0.88
16 13 -0.83
17 14 0.94
18 15 -0.88
19 16 -0.13
20 17 0.72
21 18 -0.85
22 19 0.2
23 20 -1.32
24 21 1.19
25 22 -0.06
26 23 1.15
27 24 -0.48
28 25 0.31
29 26 1.15
30 27 0.5
31 28 1.41
A consulta =LOOKUP(MAX(B2:B31),B2:B31,A2:A31)
retorna 28, como deveria, mas =LOOKUP(MIN(B2:B31),B2:B31,A2:A31)
retorna #N/A
.
Algum conselho?
Responder1
Se seus dados não estiverem classificados como no exemplo acima, você pode usar:
=OFFSET(A1,MATCH(MIN(B2:B31),B2:B31,0),0)
=OFFSET(A1,MATCH(MAX(B2:B31),B2:B31,0),0)
Mesmo para o Max, sua fórmula resultará em N/A se o máximo não estiver no final da coluna.
Teylyn está certo se os dados não estiverem classificados, o resultado correto é pura sorte, e se você usar Vlookup com False, os dados na coluna A (coluna de resultado) devem estar à direita da coluna B (pontuação na primeira coluna e Q depois).
Com Match e Offset, não há necessidade de classificação, basta escrever 0 em Match para obter a correspondência exata.
Responder2
A pesquisa requer que os dados sejam classificados em ordem crescente. O fato de a variante Max da fórmula retornar o resultado correto é pura sorte.
Uma pesquisa em um intervalo classificado funciona assim:
- Corte o intervalo de dados pela metade e observe odurarvalor do primeiro semestre
- se o valor de pesquisa for menor que isso, prossiga com a primeira metade dos dados, caso contrário, prossiga com a segunda metade dos dados
- repita as etapas anteriores até que reste apenas um valor
Um artigo mais abrangente da pesquisa de correspondência aproximada pode ser encontrado aquiVlookup – por que preciso de VERDADEIRO ou FALSO?.
Se os dados não forem classificados, qualquer resultado correto será pura sorte.
Editar:
Uma solução com Offset, sugerida em outra resposta, é volátil e pode ser a causa de pastas de trabalho lentas. Se a ordem de classificação do intervalo não puder ser alterada, então Index/Match será a alternativa não volátil.
=Index(A2:A31,MATCH(MIN(B2:B31),B2:B31,0))
=Index(A2:A31,MATCH(MAX(B2:B31),B2:B31,0))