Track · Dashboards · Inventory drills

Inventory drills: expired, no-movement and duplicate meds

12 Excel drills on one storeroom and cabinet snapshot: expired and expiring stock (30/60/90 days), stock with no movement in 90+ days, and duplicate records. Drug names and classes come from the PharmPrep drug list; every row is synthetic, for data practice, not clinical guidance.

  1. Pick dataset A, B or C (same drills, different drugs and numbers).
  2. Download inventory.csv (and drug_classes.csv when a drill asks for it).
  3. Open it in Excel. Each drill also has a Power Query and a pandas route in the hint.
  4. Type your answer and check it. Reviews come back on the next dataset.

As-of date for every drill: 2026-09-30. Use it instead of TODAY(). One row is one stock record: a bin at a location, with the nearest-expiring lot and the last date anything moved from it (blank = no movement on record). Product codes are made-up NDC-style numbers. ← Back to Dashboards · More practice: Practice lab · Power Query · Python

Dataset

🧠 Recall card:

🛠️ Build it: weekly stock action list

Turn X12 into a one-page dashboard your pharmacy manager can act on every Monday: KPI tiles for expired $, expiring within 30/60/90 days $, no-movement $ and duplicate records; a bar of flagged value by location; and the action list itself (record, flag, value, suggested owner). Build it in Excel (PivotTables and slicers on a Power Query table) or Tableau Public.