Como selecionar valores dentro de intervalos definidos e compará-los com outros?

Como selecionar valores dentro de intervalos definidos e compará-los com outros?

Tenho um banco de dados Access, construído a partir de uma pesquisa com estudantes universitários. Entre outras coisas, há campos sobre quantas horas semanais os alunos dedicam à leitura do material das aulas e, caso tenham emprego, quantas horas semanais trabalham.

O que preciso fazer é criar uma tabela. Cada coluna da tabela deve representar um intervalo de horas de estudo. Por exemplo, a coluna 1 seria “até 5 horas”, a coluna 2 deveria ser “entre 5 e 10 horas” e assim por diante. As linhas devem ser iguais, mas com horário de trabalho. A ideia é que, por exemplo, se pergunte “Dos alunos que estudam muito pouco, quantos o fazem porque não têm tempo porque trabalham?”, e depois você marca a opção “Até 5 horas de estude por semana" e você verá quantos alunos não trabalham, quantos trabalham um pouco e quantos trabalham muito.

Sei que isso pode não estar muito claro, então talvez uma representação aproximada da tabela ajudasse (os números são inventados):

             |   Hours of study         |
             | < 5 | 5-10 | 10-15 | 15+ |
-------------+-----+------+-------+-----+
Hours  <10   |  35 |  15  |   10  |  5  |
 of   10-40  |  30 |  18  |   7   |  2  |
work   40+   |  40 |  10  |   3   |  1  |
-------------+-----+------+-------+-----+

Aqui podemos perceber que poucos conseguem estudar e trabalhar muito, enquanto muitos têm bastante tempo mas não estudam muito.

O que preciso é de uma forma de construir uma tabela como esta, usando Access ou talvez Excel se for mais adequado para isso. Eu conheço um pouco de SQL, então não há problema em usá-lo para isso.

Responder1

Há algumas maneiras de fazer isso. A maneira mais fácil é converter seus dados para esses rótulos e criar uma tabela dinâmica com eles.

Então carregue seus dados no Excel em uma planilha comnome do aluno,horasEstudar,horasTrabalho

Então eu digitei uma macro VBA "rápida". Sou principalmente um cara do C3, mas fiquei surpreso com o quão difícil foi encontrar um tutorial decente do Excel VBA. Todos eles eram para não programadores e nenhum era para programadores que simplesmente não sabiam navegar no Excel. Então peço desculpas se isso não funcionar da primeira vez. . .

Abra o editor VBA, cole e execute-o. . .

' Takes your spreadsheet of hours in sheet 1 and turns them into your measured values
' Then simply take the second worksheet and turn it into a pivottable

Sub StudyAndWork()
    Dim i as Integer
    i = 0
    Do
        Select Case Worksheets(1).Range("B" & i).Value
            Case Is < 5
                Worksheets(2).Range("B" & i).Value = "<5"
            Case 5 To 10
                Worksheets(2).Range("B" & i).Value = "5 to 10"
            Case 10 To 15
                Worksheets(2).Range("B" & i).Value = "10 to 15"
            Case Else
                Worksheets(2).Range("B" & i).Value = ">15"
        End Select
    i = i + 1
    Loop Until IsNull(Worksheets(1).Range("B" & i).Value)

    i = 0
    Do
        Select Case Worksheets(1).Range("C" & i).Value
            Case Is < 10
                Worksheets(2).Range("C" & i).Value = "<10"
            Case 10 To 40
                Worksheets(2).Range("C" & i).Value = "10 - 40"
            Case Else
                Worksheets(2).Range("C" & i).Value = "40+"
        End Select
    i = i + 1
    Loop Until IsNull(Worksheets(1).Range("C" & i).Value)
End Sub

Você deve ser capaz de dinamizar a tabela. Basta usar a Coluna B para Colunas. Coluna C para Linhas Vá para a segunda planilha e insira a tabela. Deve selecionar todos os dados e transformá-los em uma tabela. Adicione os rótulos apropriados “Horas de estudo” e “Horas de trabalho”. Em seguida, clique em Tabela Dinâmica.

  • Arraste “Horas de estudo” para a caixa Rótulos de coluna.
  • Arraste “Horas de trabalho” para os rótulos das linhas.
  • Arraste "Horas de estudo" para os valores SUM(Sigma). Certifique-se de que diz COUNT e não SUM.
  • Faça o mesmo com "Horas de Trabalho"

Espero que funcione.

informação relacionada