Are you tired of manually planning your meals and figuring out what to buy each week? In this post, I’ll show you how I built a Shopping List Meal Planner in Google Sheets, powered by ChatGPT. This tool helps you:
- Generate a weekly menu
- Break down recipes into ingredients
- Automatically create a categorized shopping list
- Spot and fix inconsistencies in units or categories
Whether you’re cooking for a family or just want to eat more efficiently, this smart spreadsheet can simplify your life. Let’s dive in!
📋 Step 1: Create Your Google Sheet
Start by opening Google Sheets. You’ll need a Gmail account to access it.
Create a new blank spreadsheet and name it something like “Shopping List Planner.” In this file, you’ll be creating several sheets:
Shopping List
Weekly Menu
Recipes
ChatGPT Recipe
Ingredients Check
🛒 Shopping List Sheet
This is where your grocery list lives. Each row includes:
- Category (e.g. Dairy, Bakery)
- Ingredient
- Unit of Measure
- Total Quantity
To make shopping easy, items are grouped by category, so you can collect everything in one go while you’re in each store section. There’s even a checkbox column to mark off items as you shop—and a button to clear all the checked items.
📆 Weekly Menu Planner
This sheet is the heart of your weekly plan.
- Each day (Monday–Sunday) includes Breakfast, Lunch, and Dinner
- You select meals from a drop-down list that pulls from your Recipes sheet
- Add the number of servings for accurate ingredient calculation
Bonus: The search is smart! Even typing “chicken” will show matching recipes instantly.
🍽️ Recipes Sheet
This is your personal recipe database.
You can enter recipes manually or use ChatGPT to generate them (more on that soon). Each recipe includes:
- Meal Name
- Ingredients
- Quantity
- Unit
- Category (like Vegetables, Dairy, etc.)
This sheet feeds both the menu planner and the shopping list.
🤖 Using ChatGPT to Generate Recipes
Here’s the magic: I use ChatGPT to generate full family menus and recipe breakdowns.
Weekly Menu Prompt:
Ask ChatGPT something like:
“Weekly family menu plan for 5 people (2 parents and 3 children aged 3, 6, 10).”
Copy the meal names for breakfast, lunch, and dinner into the ChatGPT Recipe
sheet.
Recipe Breakdown Prompt:
Then, use this format:
Ingredients for [meal name] for 4 servings. Include ingredient, unit, amount, and supermarket category. Format for Google Sheets.
Paste ChatGPT’s response back into the sheet. I built formulas using MID
, TRIM
, and OFFSET
to extract ingredient data into the correct columns automatically.
⚙️ Cleaning Up the Data
Google Sheets formulas identify any errors or inconsistencies, like:
- Different units of measure (e.g. “each” vs. “medium”)
- Conflicting categories (e.g. “Granola” under both “Cereal” and “Snacks”)
- Capitalization issues (like “Yogurt” vs. “yogurt”)
These flags help you standardize ingredients and avoid duplicates in your shopping list.
🧠 Automating Cleanup with Apps Script
A simple Apps Script runs automatically when you change a recipe row in the ChatGPT Recipe
sheet. It clears old data and prepares the sheet for the new recipe. This avoids manual deleting and keeps your spreadsheet clean and fast.
javascriptCopyEditfunction onEdit(e) {
const sh = e.source.getActiveSheet();
if (sh.getName() === "ChatGPT Recipe" && e.range.getA1Notation() === "G2") {
sh.getRange("A6:A").clearContent();
}
}
✅ Final Step: Add the Recipe to the Database
Once your ChatGPT-generated recipe is cleaned and formatted, paste it into the Recipes sheet using Paste Special > Values only. It will now be available in your weekly menu dropdowns and the ingredient list.
🌟 Wrap-Up
This system makes meal planning easy, smart, and automated:
- ChatGPT generates meals and ingredients
- Google Sheets organizes them into a weekly plan
- A categorized shopping list is created instantly
- Inconsistencies are flagged and fixed
- App Script automates repetitive tasks
It’s like having a personal meal planner and assistant, all in one spreadsheet.