The short answer.
- Select a range of AI functions and press Generate, and Google Sheets fills only the first 350 cells. This is documented behaviour, not a bug or a temporary throttle.
- It is not raisable. There is no plan, setting, or support request that lifts it.
- There is a second, separate ceiling: short-term and long-term generation limits that can stop Generate from working at all for up to 24 hours.
- Chunking by hand works up to a few thousand rows. Past that, the work has to leave the AI function.
You wrote one good prompt, filled it down a column of 4,000 leads, selected the lot, and pressed Generate. Roughly the top of the column filled in. The rest sat there. Nothing said why.
Here is exactly what happened, what else is going to stop you, and the four things you can do about it, ranked by how far each one actually gets you.
What the limit actually says
From Google's own documentation for the AI function in Sheets:
You can select multiple cells with AI functions and generate outputs; however, only the first 350 selected cells with AI functions will be generated.
Three details in that sentence matter more than the number.
It counts cells containing AI functions, not cells in your selection. Selecting an entire column of 10,000 rows where 4,000 hold an =AI() formula gives you 350 results, not 350 rows of the selection.
It is per generate action. The cap is not daily and not per file. Press Generate again on the next block and you get another 350, subject to the other limits below.
Nothing tells you it happened. There is no warning, no partial-completion notice, and no marker on the 351st cell. If your column is long enough that you do not scroll to the bottom, the natural reading is that the run succeeded.
The limit you will hit second
The 350-cell cap is the one people find first. The one that ends the session is different. Google documents it separately:
The AI function has short term and long term generation limits. If you reach a long term limit, you temporarily can't click 'Generate.' You can wait for 24 hours and then try again.
This is the reason the obvious workaround decays. Chunking 4,000 rows into twelve selections of 350 is tedious but fine. Chunking 40,000 rows into 115 selections is not a workflow, and somewhere in the middle of it the Generate button stops responding and your options become "wait until tomorrow".
Google does not publish the short-term and long-term numbers, and they are described as tied to your Workspace or Google AI plan, so the ceiling you hit is not necessarily the one a colleague hits.
The other constraints worth knowing before you plan around them
From the same documentation, and each one has bitten somebody:
- Responses are limited to text. No images, no files, no structured objects.
- Embedded AI functions are not supported. You cannot nest
=AI()inside another formula and expect it to evaluate, which rules out the usual spreadsheet trick of wrapping a call inIFERRORorARRAYFORMULAto control it. - The function cannot see your spreadsheet or your Drive. It only receives what you pass into the prompt, so "summarise the sheet" is not a thing it can do.
- It does not work outside Google Drive. If you open Sheets through Box, Dropbox, or Egnyte, generation is unavailable.
- Availability depends on your plan, your admin, and your language setting. Any of the three can make the feature simply absent, which is a different problem with the same symptom.
The four ways past it, ranked by how far they get you
| Approach | Realistic ceiling | What stops you |
|---|---|---|
| Select and Generate in 350-cell blocks | ~1,000 to 3,000 rows | Manual effort, then the long-term generation limit |
| Apps Script custom function calling an API | Low hundreds of rows per run | Custom functions get 30 seconds; a full script gets 6 minutes |
| A third-party Sheets add-on using your own API key | Thousands, provider-dependent | Your provider's rate limits, and per-seat pricing |
| Run the batch off the spreadsheet entirely | Tens of thousands | Cost per row, not a cell cap |
The Apps Script route deserves a warning, because it is the one people reach for and it fails in a way that looks like flakiness. A custom function (one you call as =MYPROMPT(A2)) gets 30 seconds of runtime. A model call that takes two seconds is fine for one row and guarantees a timeout when Sheets recalculates 300 of them. Writing it as a menu-driven script instead buys you 6 minutes per execution, which is a real improvement and still not enough for a long list. Both numbers are hard ceilings on every plan, including Workspace.
How to tell which limit you are actually hitting
The three failure modes look similar in the sheet and have nothing to do with each other.
- Exactly 350 cells filled, rest untouched, Generate still works. The per-action cap. Select the next block.
- Generate does nothing at all, no error. A long-term generation limit. Wait 24 hours.
- The function is not offered, or returns nothing anywhere. Not a limit. That is availability rather than throughput: plan, admin policy, account language, or opening the file through a storage provider other than Drive. None of those are fixed by batching.
When the answer is to stop using a cell function
There is a point where the honest advice is that a per-cell formula is the wrong shape for the job. A spreadsheet function runs when the sheet recalculates, in the foreground, tied to a browser tab. Anything with a few thousand rows and a per-row API call wants a queue, retries, and somewhere to put failures, and none of those are things a cell can have.
That is the gap ReplyLabs was built for: you keep the sheet, select a column, write the prompt once, and the run happens on our infrastructure with retries and per-row error reporting, then writes back into the cells. There is no 350-cell action cap, and you are charged only for rows that succeed. If you want the arithmetic before you commit, the cost calculator takes a row count and a model and gives you a number.
If you would rather stay entirely inside Google's tooling, that is a legitimate choice and the honest version is: plan for roughly 350 cells per action, expect to be locked out for a day if you push hard, and keep the lists small.
Related reading
- Running one prompt across thousands of rows
- How to write an AI formula in Google Sheets
- AI in Google Sheets: the full guide
Limits quoted from Google's AI function documentation, checked August 2026. Google changes these without notice; if you find a number here that no longer matches, we would rather know.