Attendance Tracker

Enter your roster and date range, pick your options, and download a polished Excel attendance sheet with formulas, dropdowns, and a summary — in under a minute.

What it does

Roster in any format

Type or paste names (one per line), use the structured table to add first name, last name, ID, and email separately, or upload a .csv file with a column-mapping step.

Smart date generation

Set a start and end date, pick which weekdays your class meets, choose weekly or biweekly frequency, and add skip dates for holidays. Or switch to manual mode and paste a custom date list.

Working Excel formulas

Every count column uses COUNTIF. The Attendance % column uses IFERROR to handle empty rows cleanly. All formulas recalculate the moment you fill in a status code.

Dropdown status codes

Each date cell has a data-validation dropdown listing your enabled status codes — P, A, L, E by default. Type the letter or pick from the list. Cells automatically change color.

Summary sheet

A second sheet shows each student's total attendance, per-code counts, Attendance %, and a color-coded status badge (Good, Watch, At Risk) based on configurable thresholds.

Privacy by design

Your roster never leaves your browser. All processing is client-side. The tool autosaves to localStorage and lets you export the config as JSON to reuse next term.

How to use Attendance Tracker

  1. 1
    Enter class details

    Fill in the class name (required), instructor, term, meeting time, and location. These appear in the Excel header.

  2. 2
    Add your roster

    Type or paste names, use the table to add IDs and emails, or upload a .csv file. The tool auto-detects columns and shows a preview before importing.

  3. 3
    Configure dates

    Set a start and end date, choose which weekdays the class meets, and add any skip dates (holidays, breaks). Or switch to Manual Dates and paste a custom list.

  4. 4
    Pick options and download

    Choose a template style (Standard, Simple, or Printable for B&W), toggle the summary sheet and notes column, then click "Download Excel." The .xlsx file opens in Excel, Google Sheets, or LibreOffice.

When to use this

Classroom teachers

A high school teacher sets up a MWF class roster for the fall semester. The download includes 60 date columns, color-coded cells for each attendance code, and a summary tab that flags students below 75%.

Sports coaches and club leaders

A soccer coach pastes 22 player names, picks Tuesday and Thursday practice dates, skips school holidays, and downloads a sheet to track who shows up each week.

Workshop and training organizers

A corporate trainer uses Manual Dates to list 8 specific workshop days spread across three months, then exports the config as JSON to reuse the same roster next quarter.

University TAs

A TA uploads a .csv export from their LMS, maps the Name and Student ID columns, and downloads a sheet pre-sorted by last name with ID and email columns included.

Common errors & fixes

No dates generated after setting a range
Check that at least one weekday is selected and that your weekday choices actually fall within the date range. For example, selecting only Wednesday for a one-day range that falls on a Monday produces zero dates.
Excel opens with a "Repair" prompt
This can happen when conditional formatting rules conflict. Try the "Simple" template style, which omits conditional formatting, to verify the base file is clean.
Formulas show #DIV/0! in the Attendance % column
This happens if the denominator is zero — usually when "Exclude Excused" is selected and all non-excused count cells are empty. The formula uses IFERROR so this should not appear in the generated file; if it does, check that your status codes include P, A, or L.
CSV import assigns names to wrong columns
Use the column-mapping step after upload to manually assign which CSV column maps to First Name, Last Name, ID, and Email.

Frequently Asked Questions

Does the generated Excel file work in Google Sheets?

Yes. The .xlsx file opens in Google Sheets, Excel on Windows and Mac, and LibreOffice Calc. Formulas, dropdowns, and conditional formatting all work. Frozen panes and merged header rows render correctly.

Is my roster stored or sent anywhere?

No. The entire tool runs in your browser. Your roster, dates, and settings are stored only in your browser's localStorage. Nothing is sent to any server.

Can I reuse the same setup next semester?

Yes. Click "Export config" to download a .json file with your class details, roster, and all options. At the start of next term, click "Import config" to restore everything in one click. Update the dates and download a fresh sheet.

How many students and dates are supported?

The tool warns at 200 students and 60 dates, but both are allowed. Performance depends on your browser. A 200-student × 60-date sheet generates in a few seconds on a modern laptop.

Can I add custom attendance codes?

Yes. In the Options step you can add up to 3 custom codes with a letter, label, and color. Custom codes appear in the dropdown list in Excel and are counted in their own column.

What does the Summary sheet show?

The Summary sheet lists each student with their total classes, per-code counts, Attendance %, and a status badge: Good (≥ 90%), Watch (75–90%), or At Risk (< 75%). Thresholds are configurable.

Can I print the sheet in black and white?

Yes. Choose the "Printable" template style in Options. This removes color fills and optimizes the layout for B&W printing. Status codes appear as letters without color.

Related Tools