Best way to summarise this data / best table format

wheatley

New Member
Joined
May 9, 2020
Messages
15
Office Version
  1. 365
Platform
  1. Windows
  2. MacOS
Hi there,

Am trying to create a mark book/tracking workbook for my students. I have a sheet set up as per the attached screenshot.

I want a summary tab to see just the percentage column across the assessments so I can easily do a graph/work out averages etc. What's the best way to do this so it's up to date regardless of how many extra assessments I add through the year? Thanks.
 

Attachments

  • Screenshot 2020-05-09 at 17.35.21.png
    Screenshot 2020-05-09 at 17.35.21.png
    169.6 KB · Views: 8

Excel Facts

Create a chart in one keystroke
Select the data and press Alt+F1 to insert a default chart. You can change the default chart to any chart type
I would set up a sheet named "Summary" that looks like this;
Student IDFamily NameFirst NameAssess. 1 %Assess. 2 %Assess. 3 %Assess. 4 %Assess. 5 %Assess. 6 %
1aaa
2bbb
3ccc
4ddd
5eee
6fff
7ggg


Then I would run this macro each time you want to update the Summary sheet. Change the sheet names (in red) to suit your needs.
Rich (BB code):
Sub UpdateSummary()
    Application.ScreenUpdating = False
    Dim LastRow As Long, srcWS As Worksheet, desWS As Worksheet, lCol As Long, lCol2 As Long, x As Long, y As Long: y = 4
    Set srcWS = Sheets("Data")
    Set desWS = Sheets("Summary")
    LastRow = srcWS.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    lCol = srcWS.Cells(2, Columns.Count).End(xlToLeft).Column
    lCol2 = desWS.Cells(1, Columns.Count).End(xlToLeft).Column
    If desWS.Range("D2") <> "" Then
        desWS.Range("D2", Range("D" & Rows.Count).End(xlUp)).Resize(, lCol2 - 3).ClearContents
    End If
    For x = 5 To lCol Step 3
        desWS.Cells(2, y).Resize(LastRow - 2).Value = srcWS.Cells(3, x).Resize(LastRow - 2).Value
        y = y + 1
    Next x
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
Sorry. Try this revised version:
Rich (BB code):
Sub UpdateSummary()
    Application.ScreenUpdating = False
    Dim LastRow As Long, LastRow2 As Long, srcWS As Worksheet, desWS As Worksheet, lCol As Long, lCol2 As Long, x As Long, y As Long: y = 4
    Set srcWS = Sheets("Data")
    Set desWS = Sheets("Summary")
    LastRow = srcWS.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    lCol = srcWS.Cells(2, Columns.Count).End(xlToLeft).Column
    LastRow2 = desWS.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    lCol2 = desWS.Cells(1, Columns.Count).End(xlToLeft).Column
    If desWS.Range("D2") <> "" Then
        desWS.Range("D2:D" & LastRow2).Resize(, lCol2 - 3).ClearContents
    End If
    For x = 5 To lCol Step 3
        desWS.Cells(2, y).Resize(LastRow - 2).Value = srcWS.Cells(3, x).Resize(LastRow - 2).Value
        y = y + 1
    Next x
    Application.ScreenUpdating = True
End Sub
 
Upvote 0

Forum statistics

Threads
1,214,980
Messages
6,122,563
Members
449,088
Latest member
Motoracer88

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top