Meds — medication schedule and refills

Pro workbook: Schedule, Supply, Log, Setup, Formulas. Sample data, real formulas.

Medication schedule
One row per medicine, the times of day you take it, and how many doses you actually took each day.
Week starting21 Sep
Medicines10
21222324252627
MedicineStrengthDoseMorningNoonEveningNightPer dayMoTuWeThFrSaSuTakenDueAdherenceMissed
Metformin500 mg1 tablet08:0020:0022221222131492.9%1
Lisinopril10 mg1 tablet08:001111111177100.0%
Atorvastatin20 mg1 tablet22:0011111116785.7%1
Levothyroxine75 mcg1 tablet06:301111111177100.0%
Vitamin D1000 IU1 capsule08:001111115771.4%2
Sertraline50 mg1 tablet08:001111111177100.0%
Omeprazole20 mg1 capsule07:301111111177100.0%
Amlodipine5 mg1 tablet20:0011111116785.7%1
Salbutamol100 mcg2 puffs08:0020:0022222212131492.9%1
Ferrous sulfate65 mg1 tablet13:001111115771.4%2
Doses that day12111110101111768490.5%8
Week adherence90.5%of the doses due
Type a time in Morning, Noon, Evening or Night — anything in the cell counts as a dose. 'Per day' is how many of the four are filled, and 'Due' is that times seven.
In the week grid put how many doses you took that day: green when it matches the plan, yellow when it's short, red when the day is blank.
A tracker, not medical advice: doses, times and refills come from your prescription and your pharmacist.
Refill planner
How long what you have lasts, the day it runs out and the day to order so it doesn't.
MedicinePer dayUnits per doseOn handUsed per dayDays leftRuns outLead daysOrder byStatus
Metformin214222112 Oct57 OctOK
Lisinopril11181189 Oct54 OctOK
Atorvastatin112712718 Oct513 OctOK
Levothyroxine116016020 Nov713 NovOK
Vitamin D119019020 Dec317 DecOK
Sertraline1141425 Sep520 SepOrder now
Omeprazole11141145 Oct530 SepOK
Amlodipine113013021 Oct516 OctOK
Salbutamol2212043021 Oct714 OctOK
Ferrous sulfate112112112 Oct39 OctOK
Ordering next4days is the shortest supply you have
To order now1medicines are inside their lead time
Used per day = doses a day × units per dose, so a two-puff inhaler twice a day eats four units, not two.
Days left is whole days only — half a tablet left is not a day. Order by is the run-out date minus the lead days you put on Setup.
A tracker, not medical advice: doses, times and refills come from your prescription and your pharmacist.
Dose log
One line per dose, for the weeks you want a record rather than a tick: what, when, taken or skipped.
Doses logged12
Taken11
Skipped1
Taken %91.7%
DateMedicineSlotTaken?NoteMedicineTakenSkippedLast taken
2026-09-21MetforminMorningTakenMetformin5123 Sep
2026-09-21MetforminEveningTakenLisinopril323 Sep
2026-09-21LisinoprilMorningTakenAtorvastatin323 Sep
2026-09-21AtorvastatinNightTakenLevothyroxine
2026-09-22MetforminMorningTakenVitamin D
2026-09-22MetforminEveningTakenSertraline
2026-09-22LisinoprilMorningTakenOmeprazole
2026-09-22AtorvastatinNightTakenAmlodipine
2026-09-23MetforminMorningTakenSalbutamol
2026-09-23MetforminEveningSkippedFerrous sulfate
2026-09-23LisinoprilMorningTaken
2026-09-23AtorvastatinNightTaken
Setup
The week, and every medicine with its times, what's in the box and how long a repeat takes.
Week starting2026-09-21Any Monday
MedicineStrengthDoseMorningNoonEveningNightUnits per doseOn handLead days
Metformin500 mg1 tablet08:0020:001425
Lisinopril10 mg1 tablet08:001185
Atorvastatin20 mg1 tablet22:001275
Levothyroxine75 mcg1 tablet06:301607
Vitamin D1000 IU1 capsule08:001903
Sertraline50 mg1 tablet08:00145
Omeprazole20 mg1 capsule07:301145
Amlodipine5 mg1 tablet20:001305
Salbutamol100 mcg2 puffs08:0020:0021207
Ferrous sulfate65 mg1 tablet13:001213
Sixteen rows. Leave the spares empty — every count on the other sheets ignores blanks.
Leave a slot empty when there's no dose then: 'Per day' on Schedule counts the filled ones, and everything due is worked out from that.
Units per dose is what comes out of the box each time — two puffs, half a tablet as 0.5 — so the refill maths matches the packet.
A tracker, not medical advice: doses, times and refills come from your prescription and your pharmacist.
How the formulas work
Every formula in this workbook, in plain words. No macros, nothing hidden. Formulas are shown without the leading = sign.
WhereFormulaWhat it does
Schedule · Per dayIF($A8="",0,SUMPRODUCT((D8:G8<>"")*1))How many of the four time-of-day cells are filled. Put a time, an x or a dose in each slot you take it — the count is what everything due is built on. COUNTA would be wrong here: a cell holding a formula that returns nothing still counts as filled, and on the Pro sheet every cell holds one.
Schedule · DueIF($A8="",0,H8*7)Doses a day times seven days. Change the grid to a fortnight and this is the only number to change.
Schedule · AdherenceIF(Q8=0,0,P8/Q8)Doses taken over doses due. Guarded against a zero denominator so an empty row shows 0 %, not an error.
Schedule · day colourConditional format: =AND($A8<>"",$H8>0,I8>=$H8)Green when the day's count reaches the plan, yellow when it's short, red when the day is blank. The $ on the columns keeps the rule reading the same two columns as it moves right.
Supply · Used per dayB8*C8Doses a day × units per dose. A two-puff inhaler twice a day uses four units, not two — this is where most refill maths goes wrong.
Supply · Days leftIF($A8="","",IF(E8=0,0,INT(D8/E8)))Whole days the box lasts. INT rounds down: a part day is not a day you can take. An empty row gives nothing rather than 0, so the shortest-supply MIN below doesn't pick up the spare rows.
Supply · Order byIF($A8="","",G8-H8)Run-out date minus the lead days for a repeat. Dates are numbers, so subtracting days is plain arithmetic.
Supply · StatusIF(F8<=H8,"Order now",IF(F8<=H8*2,"Soon","OK"))Inside the lead time it's already late, within twice the lead time it's next week's job. Two nested IFs, no macro.
Log · TakenSUMPRODUCT(($B$8:$B$127=$G8)*($D$8:$D$127="Taken"))Counts rows where both things are true at once: this medicine, and taken. Multiplying two TRUE/FALSE columns is the AND.
Log · Last takenSUMPRODUCT(MAX(($B$8:$B$127=$G8)*($D$8:$D$127="Taken")*$A$8:$A$127))Multiplies medicine × taken × date and keeps the largest — the most recent taken dose, with nothing sorted. SUMPRODUCT is what makes MAX read the whole array.