How to Create an Automated Meal Planner and Shopping List in Excel
Question details
The user wants to build an automated meal planner that uses lookups to dynamically generate a flexible shopping list from selected recipes.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Planning weekly meals and automatically consolidating a shopping list based on the ingredients required for the chosen recipes.
- Observed behavior
- The user needs to extract multiple matching ingredient rows for specific meals using lookup functions and summarize them efficiently for grocery shopping.
Before building your planner, gather your recipes and create a master list of ingredients categorized by grocery store aisles or shopping areas.
Build the Meal Planner Using the FILTER Function and PivotTables
Combine expanding Excel Tables with the FILTER function and drop-down lists to dynamically generate and organize your shopping list.
Traditional lookup functions like VLOOKUP only return the first match, making them unsuitable for recipes with multiple ingredients. The modern FILTER function solves this by returning an array of all rows that match your selected meal.
Using Excel Tables ensures your data ranges automatically expand as you add new recipes, while PivotTables help summarize duplicate ingredients and organize them by shopping area.
Create separate lists for your Meals and Ingredients. Select your data range and press Ctrl+T (or go to Insert > Table) to format them as Excel Tables. This allows them to expand automatically when new items are added.
On your planner sheet, select the cells where you want to choose meals. Go to Data > Data Validation, choose 'List' from the Allow criteria, and select the meal names from your Meal table as the source.
In your shopping list area, type the formula =FILTER(IngredientsTable, IngredientsTable[Meal]=A2, "No ingredients found") (assuming A2 is your drop-down selection cell). This will instantly pull all ingredient rows associated with the selected meal.
To combine duplicate ingredients and group them by aisle, select your filtered data range and go to Insert > PivotTable. Place 'Shopping Area' and 'Ingredient' in the Rows section, and 'Quantity' in the Values section.

Create Your Meal Planner Easily in WPS Spreadsheet
WPS Spreadsheet provides seamless support for dynamic array functions like FILTER, powerful Data Validation, and intuitive PivotTables, making it incredibly easy to build your automated meal planner.
- 1. Open WPS Spreadsheet: Launch WPS Office and create a new blank workbook to serve as your meal planner.
- 2. Format Data as Tables: Input your recipe and ingredient data, select the ranges, and click 'Format as Table' from the Home tab.
- 3. Apply Data Validation: Use the 'Data Validation' tool under the Data tab to set up drop-down lists for selecting your meals.
- 4. Use the FILTER Function: Type =FILTER() in your designated shopping list sheet to automatically pull the necessary ingredients for your planned menu.

Frequently Asked Questions
Why is the FILTER function better than VLOOKUP for a meal planner?
VLOOKUP only returns the first matching record it finds. Since a single meal requires multiple ingredients, the FILTER function is necessary because it extracts all matching ingredient rows at once and spills them into adjacent cells.
How do I consolidate duplicate ingredients in my shopping list?
After pulling your ingredients with the FILTER function, insert a PivotTable based on that data. Put the 'Ingredient' in the Rows area and 'Quantity' in the Values area. The PivotTable will automatically sum the quantities of duplicate items.
Will my drop-down lists update automatically if I add new meals?
Yes, as long as your source meal list is formatted as an Excel Table (using Ctrl+T). The Data Validation list referencing the table column will dynamically expand when new meals are added to the bottom.




