You have 500 customer reviews in column A. You need to pull out the top complaint from each one, categorize it, and put the results into separate cells you can filter and sort. With =AITEXT(), you would get a block of text back in one cell. That is useful, but it is not structured.
=AILIST() and =AILISTH() fix this. Instead of returning one blob of text, they split the AI's response into individual cells. One item per cell, spread vertically or horizontally. The output is already structured. No parsing, no =SPLIT(), no regex.
AILIST vs AILISTH: vertical and horizontal
The two formulas do the same thing. They generate a list from a prompt. But they spread the results in different directions.
=AILIST("List the 5 most common complaints in this batch of reviews:", A2)Returns 5 items vertically, one per cell, spreading downward from the formula cell.
=AILISTH("List the 5 most common complaints in this batch of reviews:", A2)Returns 5 items horizontally, spreading across columns in a single row.
When to use which:
| Formula | Direction | Best for |
|---|---|---|
=AILIST() | Vertical (down) | Lists you want to filter, sort, or process further in a column |
=AILISTH() | Horizontal (across) | Headers, categories, or data that belongs in a single row |
Extracting structured data from unstructured text
This is the main use case. You have messy, unstructured text and you need clean, structured fields out of it.
Customer reviews to categorized insights
You have reviews in column A. You want each review broken into three parts: sentiment, main topic, and a one-line summary. Each one goes in its own cell.
=AILISTH("Analyze this customer review. Return exactly 3 items: 1) Sentiment (Positive/Neutral/Negative), 2) Main topic in 2-3 words, 3) One-sentence summary. No labels, just the values.", A2)Returns 3 values horizontally in B2, C2, and D2. Each review gets its own row of structured data.
What A2 might contain:
"Loved the app but the onboarding was confusing. Took me 20 minutes to figure out where to find my API key. Once I got past that, everything worked great and saved me hours."
What appears in B2, C2, D2:
| B2 | C2 | D2 |
|---|---|---|
| Positive | Onboarding UX | User loved the product but struggled to locate API key settings during initial setup. |
Drag the formula from B2 down to B500 and every review gets the same structured treatment. No manual reading. No tagging. No spreadsheet of checkboxes.
Use =AILISTH() when you want each extracted field in its own column (like the example above). Use =AILIST() when you want a single review broken into a vertical list of bullet points or themes.
Support tickets to action items
Support tickets are messy by nature. Customers describe problems in paragraphs, mix multiple issues together, and bury the actual request in the middle. =AILISTH() pulls out exactly what your team needs.
=AILISTH("From this support ticket, extract: 1) Product area (Billing/Technical/Account/Other), 2) Urgency (Low/Medium/High), 3) The specific action the customer is requesting. Return only the 3 values.", A2)Turns a rambling support ticket into three clean fields: category, urgency, and action requested.
Emails to contact records
Parsing emails for names, companies, and phone numbers is a classic regex headache. With =AILISTH(), you skip the regex entirely.
=AILISTH("Extract from this email: 1) Sender full name, 2) Company name, 3) Phone number (or N/A if not found), 4) Main request in under 10 words. Return only the values.", A2)Extracts structured contact data from raw email text. Each field lands in its own cell.
Compare this to the regex approach:
Name: =REGEXEXTRACT(A2, "(?:From|Best|Regards|Cheers),?\s*\n?\s*([A-Z][a-z]+ [A-Z][a-z]+)")
Phone: =REGEXEXTRACT(A2, "(\+?\d[\d\s\-\(\)]{7,}\d)")
Company: =REGEXEXTRACT(A2, "(?:at|@)\s+([A-Z][A-Za-z\s&]+?)(?:\s*[,\.\n]|$)")
Three brittle regex patterns that break whenever the email format changes. One =AILISTH() formula handles all three fields and adapts to any email format automatically.
Generating lists from scratch
=AILIST() is not just for extraction. It is just as useful for generating structured lists from a prompt alone. No input data required.
Content ideation
=AILIST("Generate 10 blog post titles about email marketing for e-commerce brands. Focus on specific, actionable topics. No generic titles.")Returns 10 titles in separate cells, ready to be assigned, prioritized, or turned into content briefs.
Each title lands in its own cell. Add a column next to it with =AITEXT("Write a 2-sentence content brief for this blog post:", B2) and you have a content calendar with briefs in minutes.
Keyword research expansion
=AILIST("List 15 long-tail keyword variations for: "&A2&". Focus on buyer-intent phrases. One keyword per line, no numbering.")A2 contains your seed keyword. Returns 15 variations you can feed into SERP analysis.
Follow up with =SERP() on each keyword to check search volume and competition. See the complete guide to AI formulas for how to chain these together.
Competitive feature comparison
=AILIST("List the top 8 features that users care about when comparing "&A2&" tools. Be specific -- no generic items like price or support.")Generates a feature comparison framework from a product category. Use the output as column headers for a comparison matrix.
Batch processing: structured extraction at scale
The pattern for processing hundreds of rows is the same as any SheetMagic formula. Write it once, drag it down.
Put your raw data in column A
Paste your reviews, tickets, emails, or any unstructured text into column A. One item per row.
Write your AILISTH formula in B2
Design your extraction prompt. Be clear about the number of fields, their order, and format rules. Test on a single row first.
=AILISTH("Extract from this text: 1) Category, 2) Sentiment, 3) Key issue in under 10 words. Return only the 3 values, no labels.", A2)Test this on row 2 first. Check that the output spreads into B2, C2, D2 correctly.
Review the output
Check that each field landed in the right column. If the AI is adding labels ("Category: Technical") or combining fields, tighten your prompt. Try adding "Return only the raw values, no labels, no prefixes."
Drag down to cover all rows
Grab the fill handle on B2 and drag it down to B500 (or however many rows you have). Each row processes on its own using its own data from column A.
Add headers and filter
Add headers in B1, C1, D1 matching your extracted fields. Turn on Google Sheets filters (Data > Create a filter) and you can now sort and filter 500 reviews by category, sentiment, or any other field you extracted.
Each =AILISTH() call uses AI tokens. Processing 500 rows fits easily within paid plan limits (Solo gets 3M tokens/month). The free tier's 3,000 one-time tokens will cover a handful of test extractions so you can see how it works. Test your prompt on a few rows first, then pick a plan when you are ready to scale.
Tips for clean list output
Specify the exact number of items. "List 5 items" gives more consistent results than "list some items." The AI knows exactly how many cells to fill.
Say "no labels, no numbering." Without this, the AI often returns "1. First item" or "Category: Technical." That adds noise to your cells. Be clear: "Return only the values."
Use AILISTH for fixed-width extraction. When every row should produce the same number of fields (like sentiment + topic + summary), =AILISTH() keeps your columns aligned. If the AI returns 4 items instead of 3, it pushes into an extra column. Catch this early by testing on one row.
Combine with AITEXT for follow-up analysis. Extract the data with =AILISTH(), then use =AITEXT() on the extracted fields for deeper analysis. For example, extract sentiment with =AILISTH(), then use =COUNTIF() on the sentiment column to tally the distribution. No AI tokens needed for the aggregation part.
Add fallback instructions. "If no phone number is found, return N/A" prevents the AI from guessing or leaving cells empty. This keeps your data consistent across hundreds of rows.
What to build next
You now know how to turn unstructured text into structured, filterable spreadsheet data with a single formula. The next step is combining list extraction with other SheetMagic features:
- How to use AI formulas in Google Sheets - the complete formula reference, including prompt engineering techniques that work great with
=AILIST()prompts - Getting started with AI in Google Sheets - installation walkthrough and five ready-to-use workflows
- How to generate AI images in Google Sheets - use
=AIIMAGE()to generate visuals alongside your extracted data
You can try all of this on the free tier. You get 3,000 AI tokens and 10 integration credits (one-time trial) to get started. That is enough to test list extraction and see how it fits your workflow. No credit card needed. Install SheetMagic free and try =AILIST("List 5 ways to use AI in a spreadsheet") in any cell.
Have questions? Visit the FAQ for answers about AI formulas, list extraction, and billing.

