7 Google Sheets Formulas for Reading Logs

7 Google Sheets Formulas for Reading Logs

Your reading log does not need another column where you type “finished” and then immediately forget the book existed. Google Sheets formulas for reading logs can calculate the nerdy bits for you: pages read, monthly totals, average ratings, and whether your TBR is a peaceful hobby or a federally concerning situation.

The goal is not to turn reading into homework. The goal is to make the spreadsheet do the homework while you rate a book 5 stars because the morally gray man had one decent conversation.

Set up your reading log before you summon formulas

Formulas work best when each row represents one book and each column has one job. Start with columns for Title, Author, Status, Start Date, Finish Date, Start Page, End Page, Total Pages, Pages Read, Percent Read, Rating, Format, Genre, and Finished Month.

You can absolutely customize this. Add Spice Level, Series, Source, BookTok Made Me Buy It, or “Why Did I Purchase This at 1:14 a.m.?” if that serves your truth. Just keep dates as actual dates and page counts as numbers. Google Sheets cannot help you if you enter “last Tuesday-ish” in a date cell. It is a spreadsheet, not a psychic.

For the examples below, assume your first book is on row 2:

  • Start Date is D2 and Finish Date is E2
  • Start Page is F2 and End Page is G2
  • Total Pages is H2
  • Pages Read is I2
  • Percent Read is J2
  • Rating is K2
  • Finished Month is N2
Enter a formula in row 2, then drag the little blue square at the bottom-right corner of the cell down the column. Congratulations: you have delegated labor to the grid.

7 Google Sheets formulas for reading logs

1. Calculate pages read without doing tiny sad math

In I2, use:

`=IF(OR(F2="",G2=""),"",MAX(0,G2-F2))`

This subtracts your starting page from your ending page while leaving the cell blank until both numbers exist. The `MAX(0,...)` part stops a typo from giving you negative 200 pages read, which is only possible if you read the book backward through a portal.

For books you began on page 1, enter 1 in Start Page and your final page number in End Page. For ebooks, use location or percentage only if you are consistent. Mixing Kindle locations and print pages will make your stats look like they were assembled during a power outage.

2. Show your percent read

In J2, use:

`=IFERROR(I2/H2,"")`

Then format the column as Percent. This gives you a clean progress marker for current reads, DNFs, rereads, and the 800-page fantasy novel currently judging you from the nightstand.

`IFERROR` keeps the cell blank when Total Pages is empty. Without it, Sheets will throw an error message around like it pays rent there.

3. Calculate your reading pace

If you want to know how many pages per calendar day you read, use this in a spare column, such as O2:

`=IF(OR(D2="",E2="",I2=""),"",ROUND(I2/MAX(1,E2-D2+1),1))`

This divides pages read by the number of days between your start and finish dates. The `+1` counts a same-day read as one day instead of zero, and `MAX(1,...)` prevents a divide-by-zero tantrum.

This is useful for spotting patterns, not prosecuting yourself. A weekend romance binge and a three-week literary-fiction crawl are both valid. Your pace depends on book length, life chaos, whether the book is actually good, and how often someone dared to schedule obligations during your reading time.

4. Create a finished-month label

In N2, use:

`=IF(E2="","",TEXT(E2,"mmmm yyyy"))`

Now every finished book gets a label like “July 2026.” That little label makes monthly dashboards, filters, and end-of-month bragging much easier.

You could group by the Finish Date directly, but month labels are friendlier when you want to glance at your log and see where you had your peak reading era. Use Finish Date rather than Start Date for monthly wrap-ups unless you specifically want to track books you started. A book finished in July belongs in July’s victory pile, even if you spent June avoiding it.

5. Count books finished in a month

On a dashboard sheet, put the first day of the month you are tracking in B2, such as `7/1/2026`. Then use:

`=COUNTIFS(ReadingLog!$E$2:$E,">="&B2,ReadingLog!$E$2:$E,"<"&EDATE(B2,1))`

Replace `ReadingLog` with the name of your actual log tab. This counts books with a Finish Date during the selected month. `EDATE(B2,1)` creates the first day of the following month, so the formula catches every date in the current one without you manually changing a date range.

This is the formula behind the deeply satisfying “I read 12 books this month” stat card. Or “I finished two books and survived a family event,” which also deserves a badge, frankly.

6. Add up pages finished each month

Using that same dashboard month in B2, use:

`=SUMIFS(ReadingLog!$I$2:$I,ReadingLog!$E$2:$E,">="&B2,ReadingLog!$E$2:$E,"<"&EDATE(B2,1))`

This totals Pages Read for books finished that month. It is a better measure than book count when your reading life includes both 200-page novellas and doorstop fantasies with maps, glossaries, and a family tree that requires its own family tree.

Want a monthly page-goal bar? Put your page goal in B3, then divide your monthly-pages result by it:

`=IFERROR(B4/B3,"")`

Format it as Percent. Here, B4 is the cell containing your monthly page total. Your dashboard can celebrate 100% instead of pretending that a 1,100-page read counts exactly the same as a 120-page novella. No shade to novellas. They are tiny, mighty, and usually emotionally catastrophic.

7. Find your average rating for the month

If ratings are in column K, use this dashboard formula:

`=IFERROR(ROUND(AVERAGEIFS(ReadingLog!$K$2:$K,ReadingLog!$E$2:$E,">="&B2,ReadingLog!$E$2:$E,"<"&EDATE(B2,1)),2),"")`

This returns your average rating for books finished in the chosen month, rounded to two decimal places. It ignores blank rating cells, so you do not have to decide whether an unrated book is a zero-star crime against your data.

Your average rating is not objective literary criticism. It is evidence. If your average goes up every time you read monster romance, the spreadsheet is not judging you. It is simply presenting the facts with both hands.

Make the formulas useful, not just decorative

The best reading log has a clear distinction between books you own, books on your TBR, books currently reading, finished books, and DNFs. Use a dropdown for Status instead of typing random variations like “done,” “Done!!,” and “technically done but emotionally processing.” Your formulas can only sort the chaos you give them.

Also decide what counts as a reread. Some readers log every reread as a new row because it reflects a real reading event and improves yearly stats. Others keep one book row and add a reread count. Neither method is wrong, but do not mix them halfway through the year unless you enjoy confusing your future self for sport.

If formulas feel intimidating, begin with Pages Read, Percent Read, and one monthly total. That is enough automation to make your log feel alive. Once the basics work, add dashboards, genre breakdowns, series trackers, and the kind of beautifully petty stats that make you whisper, “Oh. So that is where my money went.”

A polished tracker like I Am Bookish can save setup time if you want the formulas, dashboard, and aesthetic drama already handled. But whether you build from scratch or use a template, make the system fit your actual reading habits. The perfect log is the one you will open after finishing a book, smugly enter five stars, and use again tomorrow.

Back to blog

Leave a comment