1

У меня есть база данных Access, созданная на основе опроса студентов университетов. Среди прочего, есть поля для указания того, сколько часов в неделю студенты посвящают чтению материалов в классе, и, если у них есть работа, сколько часов в неделю они работают.

Что мне нужно сделать, это создать таблицу. В каждом столбце таблицы должен быть указан диапазон часов обучения. Например, в столбце 1 будет "до 5 часов", в столбце 2 "от 5 до 10 часов" и т.д. Ряды должны быть одинаковыми, но с рабочим временем. Идея состоит в том, что, например, можно спросить: «Из студентов, которые очень мало учатся, сколько из них делают это, потому что у них нет времени, потому что они работают?", а затем вы проверяете столбец" До 5 часов обучения в неделю "и видите, сколько студентов не работают, сколько работают и сколько работают.

Я понимаю, что это может быть не очень понятно, поэтому, возможно, поможет приблизительное представление таблицы (цифры составлены):

             |   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  |
-------------+-----+------+-------+-----+

Здесь мы видим, что очень немногим удается учиться и много работать, в то время как у многих есть много времени, но они мало учатся.

Мне нужен способ создать такую таблицу, используя Access или Excel, если она лучше подходит для этого. Я знаю немного SQL, так что можно использовать его для этого.

1 ответ1

1

Есть несколько способов сделать это. Самый простой способ - преобразовать ваши данные в эти метки и сделать из них сводную таблицу.

Так загрузите ваши данные в Excel в таблицу с studentName, hoursStudy, hoursWork

Затем я выбил "быстрый" макрос VBA. Я в основном парень C3, но я был удивлен тем, как трудно было найти достойное руководство по Excel VBA. Все они были для непрограммистов, и ни один не был для программистов, которые просто не знали, как ориентироваться в Excel. Поэтому я прошу прощения, если это не сработает в первый раз. , ,

Запустите редактор VBA, вставьте и запустите его. , ,

' 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

Вы должны быть в состоянии изменить эту таблицу. Просто используйте столбец B для столбцов. Столбец C для строк Перейдите ко второй электронной таблице и вставьте таблицу. Следует выделить все данные и превратить их в таблицу. Добавьте соответствующие ярлыки "Часы обучения" и "Часы работы". Далее нажмите Сводная таблица.

  • Перетащите "Часы обучения" в поле "Метки".
  • Перетащите "Часы работы" на метки строк.
  • Перетащите "Часы обучения" в значения SUM(Sigma). Убедитесь, что написано COUNT, а не SUM.
  • Сделайте то же самое с "Часами работы"

Надеюсь, что это работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .