Docs/Guides/Refresh and recalculation

Refresh and recalculation

When a formula runs again, which runs actually cost credits, how lookups are batched and reused, and how to force a fresh answer — or freeze one so it never changes.

View as Markdown

A formula is not a subscription. It runs when the spreadsheet decides to recalculate it, and most of those runs cost nothing because the answer is already at hand. This page explains when a formula runs, when that spends credits, and how to make it fetch — or never fetch — again.

When a formula runs

Spreadsheets recalculate a custom function like =VERVE() at a few specific moments, not on a timer:

Google SheetsExcel
You enter or edit the formulaRunsRuns
A cell it points at changesRunsRuns
The file is openedSometimes — Sheets decidesSometimes — Excel decides
Full recalculation—Ctrl+Alt+F9 runs every formula
Clock time passingNeverNever

Formulas run while the file is open in a spreadsheet. Nothing runs in the background for a closed file, and a formula does not tick on its own — a cell showing the time in Tokyo shows the time of its last lookup until something makes it run again.

The recalculation setting does not apply

Google Sheets' File ▸ Settings ▸ Calculation interval ("on change and every minute") re-runs built-in volatile functions such as NOW() and RAND(). It does not re-run custom functions, so it will not refresh a =VERVE() cell.

What a run costs

A run spends credits only when it needs a new lookup — one that has not been answered recently for your account. Several things make a run free:

  • The same lookup within five minutes. Each answer is kept for five minutes and reused for every cell, column or formula that asks the identical question — same source, same inputs, same options. A column of 500 rows where the same 20 values repeat costs 20 lookups.
  • Duplicates inside one fill. A range formula or a Values fill looks up each distinct row once and copies the answer to its repeats.
  • Failures. A lookup that fails is not charged — a missing input, an unknown option, a source that could not be reached.
  • Blank rows. A row whose input is empty is skipped and stays empty. It is never sent.

Asking for a different "field" from the same lookup is also free within those five minutes: the whole answer is kept, and the field is read from it. That is why three columns over the same input cost about the same as one.

What does cost: a lookup with new inputs, and the same lookup again after five minutes have passed. A credit is spent per distinct lookup, whether it ran as one formula, a dragged column or a fill. Each source's price is on its page in all sources.

How lookups are batched

A column of answers does not mean a column of requests.

  • Google Sheets — a range argument, =VERVE("iplookup", A2:A100, "field", "country"), is one batched request for the whole column. A column of separate one-cell formulas is not batched: each one runs on its own. Prefer the range.
  • Excel — each cell runs its own formula, but cells that calculate together are gathered automatically into batched requests, up to 200 lookups each. A formula dragged down 500 rows becomes a handful of requests.

Batching changes the speed and the load on your rate limit, not the price: it is still one credit charge per distinct lookup.

A live range formula has a ceiling

Google Sheets stops any custom function after 30 seconds. To stay inside that, a single live range formula takes up to 200 distinct lookups. Past that the cell shows an error — hover it to read Too many unique lookups… — and the fix is to split the range or use the sidebar's Values fill, which is not bound by the 30-second limit.

Getting a fresh answer

Within five minutes of a lookup, every way of re-running it returns the same answer — that is the reuse doing its job. After five minutes, the next run fetches again.

To make that next run happen:

  • Excel: press Ctrl+Alt+F9. Every formula recalculates, and any answer older than five minutes is fetched fresh.
  • Google Sheets: change one of the formula's inputs, or edit the formula itself. Sheets re-runs a custom function when its text or its inputs change, and can otherwise keep showing the previous result.
  • Either: select the cells and run a Values fill from the sidebar. It writes the current answers over the selection, no matter how the cells were filled before.

In Excel, disconnecting and reconnecting also clears every kept answer, so the next run of each formula fetches fresh.

How current the answer itself is depends on the source. Exchange rates and metal prices move during the day, and the value is as of the source's last update — many sources return a field such as lastUpdated you can show next to it. A country record or a ZIP code barely changes in a decade, and re-fetching it only spends credits.

Freezing answers

A column you enrich once — email checks, IP locations, VIN details — should not stay live. Live cells can run again, a file full of them is slower to open, and someone else's edit can set them off. Turn them into plain values:

  • Values mode in the sidebar. Select the input column, pick the field, choose Values, and fill. The answers are written as static cells in one batched request, and are never charged again. Over 50 rows, it asks you to confirm and shows the credit estimate first.
  • Paste values over existing formulas. Select the filled cells, copy, and paste values only — Ctrl+Shift+V in Google Sheets, Paste ▸ Values in Excel. Same result, and it works on a range formula's whole spilled column.

A good rule: if the answer would be the same next month, it should be a value. If you want it to be current every time you open the file, keep it a formula.

When a run fails

Failures are remembered briefly, so a sheet that recalculates in a loop cannot hammer the source:

  • Most failures are repeated from memory for about 15 seconds. Re-running the cell sooner shows the same message without trying again.
  • A rate limit is remembered for as long as the source asked you to wait — usually a few seconds.
  • "Not connected" is never remembered. The moment you connect, the next run goes through.

So after fixing a cause — topping up, reconnecting, correcting an input — wait a few seconds, then re-run. If a whole column failed for one reason, refill the column once rather than editing cells one by one.

A pattern that works

For a sheet that mixes both:

  1. A few live cells for the numbers that should be current — a rate, a price, the weather at the office. Point their inputs at settings cells so changing one cell changes the board.
  2. Everything per-row as values — the enriched columns, filled once from the sidebar, then refilled deliberately when you actually want them updated.
  3. Calculations on top of both, written as ordinary formulas: =A2*$E$1, IF, SUM, a chart.

That sheet opens quickly, costs a handful of lookups each time it is used, and never surprises anyone with a bill.

Next

Recipes has ready-made formulas for both kinds of cell. The sidebar covers the Values fill in detail, and rate limits covers the per-minute ceiling that batching keeps you under.

Was this page helpful?

Last updated