Design your app as database. This way you don't need to design it anew whenever new courses, majors, or major levels are added. And you also will have the possibility to add other reports without any base design changes in future.
Attached is an example. There are some hidden columns on sheets, and a hidden sheet needed to get Tables on report sheet without row gaps.
When you need a table like in your example, then this will be another report.
|