I'm a teacher trying to create a database of grades. I'm trying to figure out if Google Sheets and Google Forms is sufficient for my task or if I need a real database solution. I need some tables:

STUDENT INFO: Student Name / Student ID Number* / Section Number / Virtual Class Name

WEEKLY GRADE RECORD: Student ID Number* / Week Number / Assignment Grade (I'm simplifying here a bit. The assignment grade is broken down into three independent categories of grade which remain constant for each week, but I'm just sketching things out).

WEBAPP VIRTUAL CLASS: Virtual Teacher/ Virtual Class Name*

SECTION: Period Number / Section Number*

That means essentially the form I will be filling out regularly will be the weekly grade record while the other forms I will need to fill out once.

I need to create two kinds of reports: a) I need to combine all the weekly grade records for one student so that the results appear in a single report. b) I need to create aggregate totals per week by period number.

I know how to create the forms and to import data from one table into another on Google Sheets. But I don't know how to select all weekly grade records for one student and dump it into a single report for that student. I have about 200 students, so it would be time-consuming to manually create reporting tables in Google Sheets for each student.

Can you give me some general advice for what I'm looking for and whether a Google Docs solution is ideal for this kind of task. I know what databases can do and perhaps that is what I need (I might be able to use MS Access --ugh), but I am open to suggestions.

UPDATE: Maybe my needs are best served with a web database. Like Ragic, etc? Still deciding.

  • reporting tables in Google Sheets for each student could be generated using option 'save answers in separate sheets', other option - to use scripting for generating pages in sites.google.com – AndriuZ Aug 31 '17 at 12:31

I make extensive use of Forms and Sheets and it is really convenient for a number of reasons. One of my uses is for budget tracking and it's great because I have a shortcut to the form right on my phone homescreen and I can easily enter purchases and have all my sheets update. All of the built in capabilities such as sharing and the ability to script against it with Google Apps script are great as well.

I think the reporting requirement is where this solution would fall apart. Unlike an actual database where you can easily select a row where studentid = x, searching for all student records within the Google sheet would either require you to filter the sheet you are currently on or to use apps script to look at every row in the sheet and see if the studentid matches.

Another hurdle to consider is that Sheets lacks an actual static identifier on records. You are making use of a studentid, which is great, but if the table doesn't have a studentid you can't rely on the row number as an ID. If a row above the record is deleted, all of the row numbers below change.

All-in-all, what you want to do is definitely possible, but I think once you've used it for a while you will want to look for a better solution.


Yes, Google Forms & Sheets could be used together as simple database as the include several functions and tools that could help teachers to create grade reports. Actually is a very popular topic. Just take a look to https://www.google.com.mx/search?q=google+sheets+gradebook.

It's worth to say that Google Forms & Sheets could even being extended with add-ons and Google Apps Scripts to add more features. For a demo, see Awesome Table - Forms. To have a complete CRUD the missing feature in the referred demo is Delete, but it could be easily performed directly in the spreadsheet.

Other features that are implied in the question is analysis and reporting.

Spreadsheets, in general are strong tools for analysis, not very strong for reporting but this task could be achieved with a relative small effort for simple reports.


Disclaimer: I work for Ragic.

I agree that manually creating tables in Google Sheets would be very time consuming for you even though it might be a good idea for simpler tables. At Ragic you can simply build these forms and reports, you can start by following the normal process of developing a sheet.

If you need help, just ask our friendly support staff, and we'll do our best to help you create this application.

Not the answer you're looking for? Browse other questions tagged or ask your own question.