Google Sheets Template Library
Free, ready-to-use templates for students. Copy them into your Google Drive and start using them immediately.
How it works:
- Open Google Sheets at sheets.google.com
- Create a blank spreadsheet
- Follow the setup instructions for each template
- The template is yours — edit it freely!
Student Grade Tracker
Student LifeTrack grades across all your courses, calculate your current GPA, and see what score you need on finals to hit your target grade.
Preview:
| Course | Credits | Midterm | Final | Assignment Avg | Final Grade | Grade Points |
|---|---|---|---|---|---|---|
| Math 101 | 3 | 85 | 92 | 88 | A | 4.0 |
| English 1A | 3 | 78 | 82 | 80 | B | 3.0 |
| History 1 | 3 | 91 | 89 | 93 | A | 4.0 |
| GPA | 3.67 |
Key Formulas:
=AVERAGE(C2, D2, E2) ← weighted average of all score components
=IF(H2>=90,"A",IF(H2>=80,"B",IF(H2>=70,"C",IF(H2>=60,"D","F")))) ← letter grade
=IF(I2="A",4,IF(I2="B",3,IF(I2="C",2,IF(I2="D",1,0)))) ← grade points
=SUMPRODUCT(B2:B10,J2:J10)/SUM(B2:B10) ← GPA
📋 Step-by-Step Setup Instructions
- Open sheets.google.com and create a blank spreadsheet. Name it "Grade Tracker [Semester]".
- In Row 1, type these headers starting in A1:
Course•Credits•Midterm %•Final %•Assignment Avg•Weighted Score•Letter Grade•Grade Points - Enter your courses in column A (rows 2 onward) and credit counts in column B.
- In the Weighted Score column (F2), enter your weighted formula. For equal weights across 3 components:
=AVERAGE(C2,D2,E2)
Or for custom weights (e.g., midterm 30%, final 40%, assignments 30%):
=C2*0.30 + D2*0.40 + E2*0.30 - In the Letter Grade column (G2), paste:
=IF(F2>=90,"A",IF(F2>=80,"B",IF(F2>=70,"C",IF(F2>=60,"D","F")))) - In the Grade Points column (H2), paste:
=IF(G2="A",4,IF(G2="B",3,IF(G2="C",2,IF(G2="D",1,0)))) - Copy rows F2:H2 down for each course you have.
- For your GPA, click a blank cell below the data and paste:
=SUMPRODUCT(B2:B10,H2:H10)/SUM(B2:B10)(adjust the row range to match your course count). - Optional: Select the Letter Grade column, go to Format → Conditional formatting, and set rules: text is "A" → green fill; "B" → light green; "C" → yellow; "D" or "F" → red.
Monthly Budget Tracker
Personal FinanceTrack income and expenses monthly, see where your money goes, and stay on top of your budget with automatic status indicators.
Preview:
| Category | Budgeted | Actual | Difference | Status |
|---|---|---|---|---|
| Income | $1,200 | $1,150 | -$50 | ⚠️ |
| Rent / Housing | $600 | $600 | $0 | ✅ |
| Food & Groceries | $200 | $245 | -$45 | ❌ |
| Transportation | $100 | $85 | +$15 | ✅ |
| Entertainment | $50 | $75 | -$25 | ⚠️ |
| Savings | $100 | $50 | -$50 | ❌ |
| Total Expenses | $1,050 | $1,055 | -$5 |
Key Formulas:
=B2-C2 ← Difference (Budgeted minus Actual)
=IF(D2>=0,"✅",IF(D2>=-20,"⚠️","❌")) ← Status indicator
=SUM(C3:C8) ← Total actual expenses
=C9/B2*100 ← Savings rate (% of income saved)
📋 Step-by-Step Setup Instructions
- Open a blank Google Sheet. Name it "Budget — [Month Year]" (e.g., "Budget — May 2026").
- In Row 1, type headers:
Category•Budgeted•Actual•Difference•Status - In A2, type
Income. In rows 3 onward, list your expense categories (Rent, Food, Transportation, Phone, Entertainment, Savings, etc.). - Fill in your Budgeted amounts in column B. Format the column as currency: select column B, go to Format → Number → Currency.
- Each month, fill in your Actual amounts in column C as you spend.
- In the Difference column (D2), paste:
=B2-C2and copy down for all rows. - In the Status column (E3), paste:
=IF(D3>=0,"✅",IF(D3>=-20,"⚠️","❌"))and copy down for expense rows. (Skip the Income row — higher is better there.) - At the bottom, add a Total Expenses row using:
=SUM(C3:C8)(adjust range). Repeat for column B. - Add a Savings Rate cell below:
=C9/B2*100— format it as a percentage to see how much of your income you saved.
Research Source Tracker
Data & ResearchKeep all your research sources organized with notes, quotes, and citation info in one place. Perfect for papers, essays, and literature reviews.
Preview:
| # | Author(s) | Year | Title | Type | Key Argument | Useful Quote | Page | Quality (1–5) | Relevance |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Johnson, M. | 2022 | Social Media & Teens | Journal | Social media increases anxiety | "The data suggest..." | 45 | ⭐⭐⭐⭐⭐ | Supports main claim |
| 2 | Chen & Park | 2021 | Mental Health Trends | Book | Adolescents are at risk | 112 | ⭐⭐⭐⭐ | Background context | |
| 3 | CDC | 2023 | Youth Mental Health Data | Website | National statistics | N/A | ⭐⭐⭐ | Statistics support |
Key Formulas & Notes:
=COUNTA(A2:A100) ← Count total sources collected
=COUNTIF(E2:E100,"Journal") ← Count by source type
=AVERAGE(I2:I100) ← Average quality score across all sources
No complex formulas needed — this is an organizational tool.
📋 Step-by-Step Setup Instructions
- Open a blank Google Sheet. Name it "[Paper Topic] — Sources".
- In Row 1, type these headers:
#•Author(s)•Year•Title•Source Type•Key Argument•Useful Quote•Page #•Quality (1–5)•APA Citation•Relevance to Paper - Bold row 1 and freeze it: View → Freeze → 1 row. This keeps headers visible as you scroll.
- Set up color coding by source type: Select the Source Type column, go to Format → Conditional formatting. Add rules:
- Text is "Journal" → Blue fill (#E3F2FD)
- Text is "Book" → Green fill (#E8F5E9)
- Text is "Website" → Yellow fill (#FFFDE7)
- In the Quality column, rate each source 1–5 using the CRAAP criteria: Currency, Relevance, Authority, Accuracy, Purpose. 5 = excellent, 1 = weak source.
- Add a data validation dropdown for Source Type: select the column, go to Data → Data validation, choose "List of items," and enter:
Journal, Book, Website, Report, Thesis, News. - Use column J for full APA citations. You can generate these at citationmachine.net or use AI tools to format them.
- When you start writing, use Ctrl+F (or Cmd+F) to search your source table by keyword to find relevant quotes quickly.
Weekly Study Planner
Planning & OrganizationPlan your study sessions for the week, track time spent per subject, and balance your workload so nothing falls through the cracks.
Preview — Weekly Calendar:
| Time Block | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
|---|---|---|---|---|---|---|---|
| 8–9 am | Math HW | English reading | |||||
| 9–10 am | Stats lab | Stats lab | Review | ||||
| 10–11 am | Class | Class | Class | Class | Class | ||
| 2–3 pm | English draft | Math review | Math HW | Office hours | Stats review | ||
| Subject | Hours Planned | Hours Actual | Difference |
Key Formulas:
=COUNTIF(B3:H12,"Math HW")*1 ← Count hours spent on a subject (each cell = 1 hour)
=COUNTIF(B3:H12,"<>") ← Total filled study blocks in the week
=SUM(B14:B18) ← Total planned hours for the week
=C14-B14 ← Difference: actual vs. planned per subject
📋 Step-by-Step Setup Instructions
- Open a blank Google Sheet. Name it "Week of [Date] Study Plan".
- In Row 1, type:
Time Blockin A1, thenMondaythroughSundayin B1–H1. - In column A (rows 2 onward), fill in your time blocks:
8–9 am,9–10 am,10–11 am, etc. through the end of your day. Include as many rows as you have available study hours. - Fill in the calendar cells with short subject names or tasks (e.g.,
Math HW,English reading,Study). Keep names consistent — the COUNTIF formula depends on exact matches. - Leave a few blank rows after the calendar. Create a Summary table with columns:
Subject•Hours Planned•Hours Actual•Difference - For each subject row in the summary, use:
=COUNTIF($B$3:$H$12,"Math HW")to count how many blocks are labeled with that subject. Adjust the range to match your calendar rows. - After the week, fill in your actual hours in the Actual column and calculate the difference:
=C14-B14to see where you overestimated or underestimated. - Optional: Use background colors to code different subjects. Select the calendar area, use Format → Conditional formatting with color rules per subject.
Daily Expense Tracker
Personal FinanceLog every expense as it happens. Great for spotting spending patterns, identifying leaks, and building better money habits over a month.
Preview — Log:
| Date | Description | Category | Amount | Payment Method | Notes |
|---|---|---|---|---|---|
| 4/1 | Coffee | Food | $4.50 | Card | |
| 4/1 | Bus pass | Transport | $3.50 | Cash | Monthly |
| 4/2 | Textbook rental | School | $45.00 | Card | Rented, due back May |
| 4/3 | Groceries | Food | $38.20 | Card | |
| Total | $91.20 |
Preview — Summary by Category:
| Category | Total Spent | % of Spending |
|---|---|---|
| Food | =SUMIF(C:C,"Food",D:D) | =E2/SUM(D:D)*100 |
| Transport | =SUMIF(C:C,"Transport",D:D) | =E3/SUM(D:D)*100 |
| School | =SUMIF(C:C,"School",D:D) | =E4/SUM(D:D)*100 |
| Total | =SUM(D2:D4) |
Key Formulas:
=SUMIF(C:C,"Food",D:D) ← Total spent in a category
=E2/SUM($D$2:$D$1000)*100 ← Category as % of total spending
=SUM(D2:D1000) ← Running total of all expenses
=SUMIF(C:C,"Food",D:D)/SUM(D:D)*100 ← One-formula category percentage
📋 Step-by-Step Setup Instructions
- Open a blank Google Sheet with two tabs: rename Tab 1 to
Logand Tab 2 toSummary. - In the Log tab, Row 1 headers:
Date•Description•Category•Amount•Payment Method•Notes - Set up a dropdown for Category: select column C from row 2 down, go to Data → Data validation → Dropdown, and enter your categories:
Food, Transport, School, Housing, Entertainment, Health, Personal, Other - Format column D as currency. Add a Total row at the bottom using:
=SUM(D2:D1000)(the large range ensures new entries are always included). - In the Summary tab, create a table with columns:
Category•Total Spent•% of Spending - In each row of the Summary table, use SUMIF to pull from the Log:
=SUMIF(Log!C:C,"Food",Log!D:D)— replace "Food" with each category. - For percentage:
=B2/SUM($B$2:$B$10)*100— adjust the range to cover all your category rows. - Optional: Highlight column D and insert a chart (Insert → Chart) using the Summary table. A pie or bar chart will show your spending breakdown visually.
Survey Data Collector
Data & ResearchSet up a clean data entry sheet for survey responses. Includes Likert-scale analysis formulas. Perfect for research projects and class assignments.
Preview — Likert Survey (Student Satisfaction, 5 Questions):
| Respondent ID | Q1: Clear instructions? | Q2: Helpful feedback? | Q3: Felt supported? | Q4: Would recommend? | Q5: Overall satisfied? | Row Average |
|---|---|---|---|---|---|---|
| R001 | 5 | 4 | 5 | 4 | 5 | 4.6 |
| R002 | 3 | 3 | 4 | 3 | 4 | 3.4 |
| R003 | 4 | 5 | 4 | 5 | 4 | 4.4 |
| R004 | 2 | 3 | 2 | 3 | 2 | 2.4 |
| Column Average | 3.5 | 3.75 | 3.75 | 3.75 | 3.75 | 3.7 |
Key Formulas:
=AVERAGE(B2:B21) ← Average rating per question (20 respondents)
=MODE(B2:B21) ← Most common response for a question
=COUNTIF(B2:B21,5) ← How many people gave a rating of 5
=AVERAGE(B2:F2) ← Average score across all questions for one respondent
=MEDIAN(B2:B21) ← Median rating for a question
📋 Step-by-Step Setup Instructions
- Open a blank Google Sheet with two tabs: name them
Raw DataandAnalysis. - In the Raw Data tab, Row 1 headers:
Respondent ID, then one column per survey question (e.g.,Q1: Clear instructions? (1–5)). Add a final column forRow Average. - Format the rating columns (B onward) with Data validation: select the columns, go to Data → Data validation, choose "Number between 1 and 5" to prevent invalid entries.
- In the Row Average column (e.g., G2), enter:
=AVERAGE(B2:F2)and copy down for all respondent rows. - Freeze row 1 (View → Freeze → 1 row) so headers stay visible as you scroll.
- In the Analysis tab, create a summary table with rows for each question and columns:
Question•Mean•Median•Mode•Count (5s)•Count (1s) - Fill in analysis formulas referencing the Raw Data tab:
Mean:=AVERAGE('Raw Data'!B2:B100)
Mode:=MODE('Raw Data'!B2:B100)
Median:=MEDIAN('Raw Data'!B2:B100) - To link Google Forms: Create a Form at forms.google.com, click the Responses tab, then click the Sheets icon to auto-send all new responses to your spreadsheet. Your Raw Data sheet will fill automatically.
Semester Goal Tracker
Planning & OrganizationSet goals for the semester — academic, personal, financial — and track progress milestone by milestone. Checkboxes update your progress percentage automatically.
Preview:
| Goal | Category | Target Date | Milestone 1 | Milestone 2 | Milestone 3 | Progress % | Notes |
|---|---|---|---|---|---|---|---|
| Get B+ in Stats | Academic | May 15 | ✅ Study M/W/F | ⬜ Office hours 2x | ⬜ Practice tests | 33% | |
| Save $500 | Financial | Jun 1 | ✅ Open savings acct | ✅ Auto-transfer | ⬜ Reach $500 | 67% | On track |
| Read 3 books | Personal | May 31 | ✅ Finish book 1 | ⬜ Finish book 2 | ⬜ Finish book 3 | 33% | |
| Overall Completion | 44% |
Key Formulas:
=COUNTIF(D2:F2,"✅")/3*100 ← Progress % for one goal (3 milestones)
=AVERAGE(G2:G10) ← Overall completion % across all goals
=DAYS(C2,TODAY()) ← Days remaining until target date
=IF(G2=100,"Done! 🎉",IF(DAYS(C2,TODAY())<7,"⚠️ Due Soon","In Progress"))
📋 Step-by-Step Setup Instructions
- Open a blank Google Sheet. Name it "Semester Goals — [Year]".
- In Row 1, type headers:
Goal•Category•Target Date•Milestone 1•Milestone 2•Milestone 3•Progress %•Status•Notes - In rows 2 onward, write out each of your goals. Break each goal into exactly 3 concrete milestones.
- Add a Category dropdown: select column B, go to Data → Data validation → Dropdown, and enter:
Academic, Financial, Personal, Health, Career - For the Milestone columns, type your milestone text. When a milestone is done, add ✅ at the start (e.g.,
✅ Finish chapter 1). Not started: use ⬜ or leave blank. - In the Progress % column (G2), paste:
=COUNTIF(D2:F2,"✅*")/3*100. The asterisk (*) matches any text starting with ✅. Copy down for all goal rows. - For Overall Completion at the bottom:
=AVERAGE(G2:G20)(adjust range). Format as a percentage. - For a Status column:
=IF(G2=100,"Done! 🎉",IF(DAYS(C2,TODAY())<7,"⚠️ Due Soon","In Progress")) - Optional — Color coding: Select the Progress % column, use Conditional formatting: 100 = green fill; 50 to 99 = yellow fill; below 50 = no fill (or light red).
Research Data Collection Sheet
Data & ResearchA clean two-tab sheet for collecting observational or interview data. Tab 1 holds your raw data; Tab 2 automatically calculates summary statistics for every variable.
Preview — Tab 1: Raw Data
| ID | Date | Participant Group | Age | Score (Var 1) | Rating (Var 2) | Hours (Var 3) | Notes |
|---|---|---|---|---|---|---|---|
| P001 | 4/1/26 | Treatment | 21 | 78 | 4 | 2.5 | |
| P002 | 4/1/26 | Control | 19 | 65 | 3 | 1.0 | |
| P003 | 4/2/26 | Treatment | 22 | 84 | 5 | 3.0 | Outlier check |
| P004 | 4/2/26 | Control | 20 | 71 | 3 | 1.5 |
Preview — Tab 2: Summary Stats
| Statistic | Age | Score (Var 1) | Rating (Var 2) | Hours (Var 3) |
|---|---|---|---|---|
| Count | =COUNTA(Data!D2:D50) | =COUNTA(Data!E2:E50) | ... | ... |
| Mean | =AVERAGE(Data!D2:D50) | =AVERAGE(Data!E2:E50) | ... | ... |
| Median | =MEDIAN(Data!D2:D50) | =MEDIAN(Data!E2:E50) | ... | ... |
| Std Dev | =STDEV(Data!D2:D50) | =STDEV(Data!E2:E50) | ... | ... |
| Min | =MIN(Data!D2:D50) | =MIN(Data!E2:E50) | ... | ... |
| Max | =MAX(Data!D2:D50) | =MAX(Data!E2:E50) | ... | ... |
Key Formulas (all reference the Data tab):
=COUNTA(Data!E2:E50) ← Count of responses for a variable
=AVERAGE(Data!E2:E50) ← Mean
=MEDIAN(Data!E2:E50) ← Median
=STDEV(Data!E2:E50) ← Sample standard deviation
=MIN(Data!E2:E50) / =MAX(Data!E2:E50) ← Range
=COUNTIF(Data!C2:C50,"Treatment") ← Count by group
📋 Step-by-Step Setup Instructions
- Open a blank Google Sheet. Create two tabs: name Tab 1
Dataand Tab 2Summary Stats. - In the Data tab, Row 1 headers:
ID•Date•Group/Condition• then one column per variable you are measuring (e.g.,Age,Test Score,Rating). Add aNotescolumn at the end. - Freeze row 1: View → Freeze → 1 row. This keeps headers visible as your dataset grows.
- Add a Group dropdown if using experimental vs. control groups: select the Group column, go to Data → Data validation, and enter your group names.
- In the Summary Stats tab, create rows for each statistic:
Count,Mean,Median,Std Dev,Min,Max. Each column matches one variable from your Data tab. - Fill in each cell with a formula referencing the Data tab. Example for Mean of variable in column E:
=AVERAGE(Data!E2:E50)
Use row 50 as the upper bound — expand it if you collect more than 49 observations. - To protect the Summary Stats formulas from accidental edits: select all cells in the Summary Stats tab, right-click, choose Protect range, and set a description like "Summary formulas — do not edit."
- For group comparisons, add additional rows:
Treatment Mean:=AVERAGEIF(Data!C2:C50,"Treatment",Data!E2:E50)
Control Mean:=AVERAGEIF(Data!C2:C50,"Control",Data!E2:E50) - Optional: Select your Summary Stats table and insert a bar chart (Insert → Chart) to visually compare means across variables or groups.