Listar em outras células os nomes dos alunos com notas maiores em cada avaliação


#1

Olá,

Tenho várias turmas na escola em que ensino e faço análises dos resultados manualmente. Já pesquisei em várias fórmulas como PROCV, PROCH, CORRESP, etc, mas nenhuma parece funcionar para o que desejo.

Tenho na primeira coluna uma lista com os nomes dos 25 alunos. Nas 3 colunas seguintes tenho as notas das três avaliações. Uso um filtro para não perder os dados de cada linha. O que pretendo fazer é criar nas colunas à frente dessas com as notas das avaliações, um quadro que mostre na primeira coluna os alunos que tiveram notas maiores que 90, na segunda os nomes dos alunos que tiveram notas entre 60 e 80, e na terceira coluna os nomes dos que tiveram notas abaixo de 60. Fazendo isso com cada uma das três avaliações, eu poderei fazer a contagem da quantidades de alunos em cada faixa e criar gráficos. Mais ou menos como mostra na imagem que enstou enviando:

Espero que alguém possa me ajudar com esse problema. Grato!


#2

@felypeforte, criei aqui o projeto que faz esta funcionalidade, mas não é simples:

image.

Estarei lhe enviando o arquivo.


#3

Realmente, muito complicado. Vou dar uma olhada para tentar entender! Muito Obrigado.


#4

Felipe, quais são as faixas, pois vc escreveu 90 e na planilha esta acima de 80 e não tem entre 71 e 79…
Bom, qual seriam as faixas:
maior ou igual a 71
61 a 70
menor ou igual a 60

No aguardo


#5

Olá,

Realmente existe esse erro na planilha. Me desculpe não ter checado antes.

As faixas de notas são: Menor ou igual a 59,99 - vermelho; entre 60 e 79,99 (inclusive) - amarelo; maior ou igual a 80 - verde. (


#6

Bom dia, não há por que se desculpar, acontece…
Fiz a seguinte rotina, crie um botão e jogue-a dentro.

Dim coluna, linha, x, y, z, j As Integer
j = 4
For coluna = 3 To 5              ' colunas de leitura das escolas
    j = j + 4
    x = 5: y = 5: z = 5          'linha inicial para jogar os alunos classificados
    For linha = 5 To 29          ' linha de leitura dos alunos

'        notas maiores ou iguais a 80
        If Cells(linha, coluna) >= 80 Then
            x = x + 1
            Cells(x, j) = Cells(linha, 2)

'        notas entre 60 e 70           60<= x <80
        ElseIf Cells(linha, coluna) >= 60 Then
            y = y + 1
            Cells(y, j + 1) = Cells(linha, 2)

'        notas menores ou iguais a 60
        Else
            z = z + 1
            Cells(z, j + 2) = Cells(linha, 2)
        End If
       
    Next
Next

Se a resposta lhe ajudou, clique no coração… É uma forma de agradecer aqui no grupo.

Qualquer coisa escreva aqui que eu dou uma olhada. Tentei usar as linhas que eu vi no print screen que vc mandou, e posso ter errado, pois tem um filtro na sua tela.

abs