Habit Tracker Streak for Habits That Aren't Daily Google Sheets

crutty

New Member
I am building a habit tracker where my habits are the columns and each day is a row. Near the top, I have a 'streak' row which is meant to be how many days from today that I have successfully completed the habit. I have managed to figured out a way to calculate this field for habits that are daily. However, a couple of my habits are not daily. For example, they may be every Monday and Thursday, or only on Wednesdays, etc. If I complete say the 'every Wednesday habit' every Wednesday, I want the streak to reflect that I am doing it each time.

Additionally, I have another row that calculates overall percentage of habit completion. This one should be easier, but still might be more complicated for habits that aren't daily.

As someone who is familiar but by no means an expert at Excel, I'm not really sure where to start. Spent a couple hours googling with no success, so if you can help me out I'd greatly appreciate it!

(Note: I'm actually working this in Google Sheets so I will link an example, but I figure other than formatting the formula to be an array formula there should really be no difference.)


Here is the link. The cells in yellow are the one's I need help with! Thanks so much and let me know if I need to do anything else.

https://docs.google.com/spreadsheets/d/11m989S7Bvt7GmiRE8lFJUYtU1AbcGxOo8raqaoaz16Q/edit?usp=sharing
 

crutty

New Member
Re: Habit Tracker Streak for Habits That Aren't Daily

Just for reference, the formula I am using to calculate the streak for daily habits is (Example for cell C3):
=IFERROR(ARRAYFORMULA(MAX(IF(C5:C=TRUE,ROW(C5:C))))-ARRAYFORMULA(MAX(IF(C5:INDIRECT("C"&ARRAYFORMULA(MAX(IF(C5:C=TRUE,ROW(C5:C)))))=FALSE,ROW(C5:C),4))),0)

For the 'Overall %' row it is (Example for cell C4):
=IFERROR(COUNTIF(C5:C,TRUE)/COUNTA(C5:INDIRECT("C"&ARRAYFORMULA(MAX(IF(C5:C=TRUE,ROW(C5:C)))))))
 

Ynwaps

New Member
Re: Habit Tracker Streak for Habits That Aren't Daily

Hey crutty,
I was looking for a habit streak formula and found your thread here on google.
Anyway it worked very well so I have improved your sheet a bit:
https://docs.google.com/spreadsheets/d/1-2Oihk_aN13n6ZqEoyD0qBrlfPJtf17RpHKKNXpL438/edit?usp=sharing

The only thing that is not working yet is to calculate streaks on off gym days for example.
But the overall% is correct.

Anyway feel free to improve this sheet further. I only registered here to give back :)
Enjoy!
 

Some videos you may like

This Week's Hot Topics

Top