No questions match “”.
Can I use these functions without a license? ▼
Some of them. COUNTSTYLE is free on any range, and ISFONTCOLOR, ISBGCOLOR, ISFONTSTYLE and ISCOLORANDSTYLE are free when they point at a single cell — no sign-up required.
Every other function — counting or summing by colour, the averages / max / min / median, cross-sheet, and the FILTER functions — needs an active plan. New users can start a 14-day free trial — no card needed — from the sidebar (Extensions → Custom Count & Sum → Open sidebar), which unlocks all 38 functions.
If a formula needs a plan you don't have, the cell shows an error message explaining how to start the trial or activate a plan.
Every formula runs on Google's servers as a custom function; the paid plans cover the running costs and keep the add-on maintained.
A formula that used to work now shows an error asking for a plan. ▼
The free tier is now function-based rather than range-size based. COUNTSTYLE stays free on any range, and ISFONTCOLOR, ISBGCOLOR, ISFONTSTYLE and ISCOLORANDSTYLE stay free on a single cell.
Every other function — counting or summing by colour, the averages / max / min / median, cross-sheet, and the FILTER functions — now needs an active plan after a 14-day free trial. If you were relying on the old 30-cell free limit, that limit is gone: those functions now need the trial or a plan at any size.
To get the formula working again: open the sidebar (Extensions → Custom Count & Sum → Open sidebar) and click Start free trial — no card needed. If your trial has already ended, pick a plan from the same panel.
How do I get autocomplete and formula hints for these functions? ▼
These functions support Google Sheets' built-in formula
autocomplete. Start typing
= followed by the function name —
matching suggestions appear in a dropdown automatically.
Once you select a function and type the opening parenthesis
(, a tooltip appears showing the
expected arguments in order.
For the full description and parameter list, open the formula help panel:
PC Shift + F1 | Mac Shift + Fn + F1
If autocomplete doesn't show the add-on functions, the add-on may not be installed or enabled for this spreadsheet.
Why do ranges have to be typed as strings? ▼
Reading cell colors requires a Range object (e.g.
range.getBackgrounds()). The only
way to pass a range to a custom function is as a quoted string
— without quotes, Google Sheets passes the values of
that range instead, making it impossible to read formatting.
I share this sheet with colleagues — do they need to install Custom Count & Sum too? ▼
Yes — unlike an add-on that runs on a trigger, this is a
custom function (=COUNTBACKGROUNDCOLOR(...)
and the rest), and custom functions are evaluated separately for each person
viewing the sheet, in their own account's set of installed add-ons. A colleague
who opens the sheet without having installed Custom Count & Sum themselves
will see #NAME? instead of a result — installing it
(and having an active free-tier use, trial, or licence) is what makes the
formula resolve for them specifically.
The one exception: a domain admin can install the add-on domain-wide from the Google Workspace Marketplace admin console, which makes the functions available to everyone on that Workspace domain without each person installing it by hand — see team & domain licensing for what that does and doesn't cover.
The formula doesn't recalculate when I change a cell. ▼
These functions use memoization: as long as the arguments stay the same, the spreadsheet engine returns cached results without re-running the function.
The easiest fix is the Recalculate all formulas button in the sidebar (Functions tab → bottom of the page). It forces an immediate refresh of all custom functions across all sheets — useful after any formatting change.
To trigger recalculation automatically when a value in the range changes, pass the range a second time as an extra argument without quotes. The function ignores it, but its presence triggers re-evaluation:
=COUNTBACKGROUNDCOLOR("B2:B21", "B2", B2:B21)
Note: there is currently no automatic way to trigger recalculation when a color (background or font) changes — this is a Google Sheets limitation. Use the Recalculate button instead.
I'm getting a #NAME? error. ▼
A #NAME? error means Google Sheets can't find the function. Double-check the spelling. Use the formula help box to verify the function is recognized:
PC Shift + F1 | Mac Shift + Fn + F1
If the function never appears in autocomplete, the add-on may not be installed or enabled for this spreadsheet.
I'm getting a formula parse error — the formula won't be accepted. ▼
The most common cause is the argument separator,
which depends on your spreadsheet's locale. Spreadsheets set to a
locale that uses a comma as the decimal mark (most of continental
Europe) separate function arguments with a
semicolon ;, not a
comma ,. Formulas copied from the
add-on or this website are written with commas, so they fail to
parse until you swap them.
=COUNTBACKGROUNDCOLOR("A1:A40", "A1")
→ parse error
=COUNTBACKGROUNDCOLOR("A1:A40"; "A1")
→ correct
Fix: replace the commas between arguments with semicolons. You can also change the file's locale under File → Settings → Locale, but that changes number and date formatting for the whole file too, so swapping the separators is usually simpler.
I'm getting "<range> cannot be coerced to a range-object." ▼
This means the range argument isn't a valid A1 reference on this spreadsheet anymore. The most common cause is a renamed or deleted sheet tab — the formula still points at the old tab name.
Fix: open the formula and update the sheet name in the
range to match the current tab name, e.g.
'New tab name'!A1:B10.
This can also happen if the range argument accidentally contains plain text instead of a cell reference (e.g. a value copy-pasted into the formula instead of an actual A1 range).
Two other common causes, both from typing or pasting the
formula: a stray space inside the range
(e.g. "B: B" instead of
"B:B", often introduced by
autocorrect), or curly/smart quotes
('/') around a sheet name instead of a straight apostrophe
' — common when pasting from
Word or Google Docs. Both look correct at a glance but Apps
Script rejects them.
I'm getting "…refers to more than one cell. The color-source argument must be a single reference cell or a hex color string." ▼
The color functions
(COUNTBACKGROUNDCOLOR,
SUMFONTCOLOR,
AVERAGEBACKGROUNDCOLOR, …) take
two things: the range to scan as the first
argument, and which color to match as the
second. That second argument must be a
single reference cell or a
hex color string — not a range.
This error means you passed a multi-cell range like
"C3:C20" as the second argument.
Point it at one cell that already has the color you want to
count:
=COUNTBACKGROUNDCOLOR("C3:C20", "C3")
…or pass the color directly as a 6-digit hex code:
=COUNTBACKGROUNDCOLOR("C3:C20", "#ffff00")
The add-on rejects a multi-cell reference on purpose — Google Sheets would otherwise silently use only the top-left cell's color and give you a wrong count with no warning.
I'm getting "You do not have permission to access the requested document." ▼
This is a Google Sheets sharing/permission error, not an add-on bug. It usually means the person the formula is running for only has Viewer access to the spreadsheet, or their access was recently changed or removed.
Fix: ask the file owner to grant Editor (or at least Commenter) access, or check whether sharing settings changed recently.
I'm getting "the JavaScript engine reported an unexpected error. Error code INTERNAL." ▼
This is a generic, transient error from Google's own Apps Script runtime infrastructure — not something the add-on's code causes or can catch. It shows no stack trace pointing into any add-on file.
Fix: it usually resolves itself. Use the Recalculate all formulas button in the sidebar, or just try again — if it persists on the same formula, contact us.
I'm getting "We are sorry, but you do not have access to this Addon." ▼
This message comes from Google itself, before the add-on even loads — it's not something the add-on controls. It means your Google Workspace organization is blocking access to it.
Fix: contact your Google Workspace administrator and ask them to approve or install Custom Count and Sum via Admin console → Apps → Google Workspace Marketplace apps, for your organizational unit or the whole domain.
A formula shows a timeout error or takes very long to calculate ▼
Google imposes a 30-second execution limit per custom function call. If a formula exceeds this, it returns an error like "Service Spreadsheets timed out" or "Exceeded maximum execution time".
Common causes:
-
Whole-column ranges —
"A:A"scans every row in the sheet (up to 10 million cells). Always use a bounded range like"A1:A500". -
Cross-sheet functions on large workbooks —
SUMALLSHEETSetc. read the same range on every sheet. Exclude irrelevant sheets using theexcludedargument, or reduce the number of sheets. - Many formulas recalculating simultaneously — see the tip above about consolidating with SUMPRODUCT.
See also: Google Apps Script quotas and best practices for custom functions.
My *ALLSHEETS formula still includes sheets I put in the
excluded list.
▼
The excluded argument of
SUMALLSHEETS,
COUNTALLSHEETS,
AVERAGEALLSHEETS,
MAXALLSHEETS,
MINALLSHEETS and
MEDIANALLSHEETS is a
comma-separated list of sheet names. Each name must match the
tab name exactly and is
case-sensitive:
=SUMALLSHEETS("B2:B50", "Summary,Archive")
The most common reason a name doesn't match: on a
non-English spreadsheet the default tabs are
localised — Blad1 (Dutch),
Feuille1 (French),
Hoja1 (Spanish),
Tabelle1 (German)… — not
Sheet1. Copy the name straight from
the tab at the bottom of the sheet.
If a name matches no sheet, that one name is skipped. If you list two or more names and none of them match, the formula returns an error instead of silently aggregating every sheet.
I'm getting "There are too many scripts running simultaneously for this Google user account." ▼
Google limits how many Apps Script executions one Google account can run at the same time (roughly 30). It's a Google account limit — not something the add-on sets, and it can't be raised.
Every custom-function cell is its own execution, so a sheet
packed with COUNTSTYLE,
SUMFONTCOLOR and similar formulas
can hit the ceiling all at once — when you open the file,
change a value, or press Recalculate.
It's temporary and only affects your account:
the cells show #ERROR! or a loading
state and clear on the next recalculation once the other
executions finish. Other people's spreadsheets are unaffected.
How to avoid it:
-
Consolidate — one formula over a whole
range instead of the same formula repeated in dozens of
cells (use the SUMPRODUCT /
IS*pattern above — note that IS… on a multi-cell range is a paid feature; a single-cell IS… is free). - Freeze finished results — copy the cells and paste them back as Values only when they no longer need to stay live.
-
Bounded ranges and the
excludedargument on cross-sheet functions, same as for timeouts. - Wait a few seconds and recalculate — short spikes clear on their own.
I can't drag formulas so ranges update automatically. ▼
Because ranges are passed as strings, they don't update when
you fill down or across. You can work around this with
ROW() to fill
vertically:
=SUMSTYLE("A"&ROW()&":J"&ROW(), "bold")
To fill horizontally, use
CELL("address", ...):
=COUNTBACKGROUNDCOLOR(CELL("address",A13)&":"&CELL("address",A25),
"A14")
See also this example spreadsheet.
My sheet has many formulas — or I need style/color checks across different columns ▼
Each formula requires a separate round-trip to the Apps Script server to read cell formatting. The IS* boolean functions (ISFONTSTYLE, ISBGCOLOR, ISFONTCOLOR, ISCOLORANDSTYLE) are useful in two situations:
1. Style/color check and values are in different columns. The scalar functions (SUMSTYLE, SUMFONTCOLOR…) can only sum the styled cells' own values. The IS* functions let you apply a style/color check from one column to values from another:
=SUMPRODUCT(ISFONTSTYLE("A2:A200","bold")*1)
=SUMPRODUCT(ISBGCOLOR("A2:A200","C1")*B2:B200)
=SUMPRODUCT(ISCOLORANDSTYLE("A2:A200","C1","bg","bold")*B2:B200)
Note that IS… on a multi-cell range is a paid feature; a single-cell IS… is free.
2. Consolidating many separate formulas on the same range. If you have many COUNTSTYLE/SUMSTYLE/… formulas covering the same range, you can replace them with one ISFONTSTYLE formula:
Other tips:
-
Use specific ranges (
"A1:A100") rather than whole columns ("A:A") — whole columns force the function to scan thousands of empty cells. - Avoid placing the same range formula in dozens of cells — consolidate into one formula where possible.
- Use the Recalculate button in the sidebar rather than relying on automatic recalculation after formatting changes.
See also: Google Apps Script quotas.
Can I pass a hex color directly instead of a cell reference? ▼
Yes. All color functions accept either a cell reference
or a hex color string as the
colorSource argument. Pass the
hex value as a quoted string starting with
#:
=SUMFONTCOLOR("A1:A100", "#ff0000")
=COUNTBACKGROUNDCOLOR("A1:A100", "#46bdc6")
This is useful when you know the exact color and don't want to maintain a reference cell in your sheet.
Can I use these functions inside MAP, BYROW or other LAMBDA functions? ▼
No. Google Sheets
does not allow custom functions to be called from within
LAMBDA-based functions
such as MAP,
BYROW,
BYCOL, or
REDUCE.
The reason is architectural: LAMBDA functions run entirely inside the Sheets calculation engine, which has no access to the Apps Script runtime. Custom functions need the Apps Script runtime to read cell formatting (colors, font styles), so the two environments are fundamentally incompatible.
There is currently no workaround for this limitation.
How do I cancel or manage my subscription? ▼
Open the sidebar's Account tab and click "Manage subscription →" — this opens Stripe's self-serve billing portal. See the pricing FAQ for details.
I uninstalled the add-on — does that cancel my subscription? ▼
No. Uninstalling only removes the add-on from your account — it doesn't cancel any active subscription or free up a team seat. Monthly and yearly plans keep renewing until you cancel them yourself via the Account tab's "Manage subscription" (or ask your domain admin to remove your seat for team licenses).
Do you offer licensing for a whole team or domain? ▼
Yes, for Google Workspace domains — this requires a Workspace admin console; a personal @gmail.com account has no domain to install across, so the team plan isn't available to it. Individual licenses are per user — installing the add-on domain-wide from the Google Workspace Marketplace does not give every domain user full access on its own.
If you want to cover a whole team or organization, see the team pricing — €10.99/seat/yr, minimum 5 seats (€54.95/yr total to start), billed yearly. Or contact us first if you have questions.
For domain admins, here's the full process:
- Purchase a team license first — this links a number of seats to your domain.
- Then install the add-on domain-wide from the Google Workspace Marketplace admin console — this gives people access to open the add-on itself.
- Seats are assigned automatically: the first people on your domain to open the add-on each claim a seat until they're all used. As the buyer, you can also pre-assign or remove specific teammates via "Manage team seats" in the sidebar's Account tab — and tick "Email them the install link" to send a new teammate the link straight away.
Need more (or fewer) seats later? Change the count under Seats on your plan in "Manage team seats". It shows the prorated amount before you confirm; the difference is added to (or credited on) your next invoice, and the new rate applies from then on.
⚠ Order matters: this also applies if you roll out the add-on domain-wide from the admin console before buying seats. Anyone who opens it first starts their own individual 14-day trial instead — and won't be picked up by the team license until that trial runs out. Buy the seats first, then roll out the install.
Tip: the email address you use on the Stripe payment page becomes the domain admin — make sure it matches the Google account you'll use to manage seats afterward via "Manage team seats".
Tip: to control who even sees the add-on in step 2, install it for specific organizational units or groups instead of the whole domain — pick this in the Google Admin console when installing (Apps → Google Workspace Marketplace apps → select the app → Install for specific OUs/groups).
On a shared spreadsheet, whose plan counts? ▼
The paid functions unlock per spreadsheet, based on who last opened the sidebar or a menu item in that file with a plan. A custom function can't tell who is reading the cell, so the add-on records one verdict for the whole document.
On a sheet several people edit:
- When someone with an active trial or plan opens the sidebar (or an add-on menu item), the paid formulas compute for everyone editing that sheet — for as long as that plan runs (subscriptions get a 14-day margin after each billing date).
- A colleague without a plan opening the add-on there does not switch it off.
- When that plan ends, the paid formulas show
#ERROR. Any plan holder then opens the sidebar once in that file — that re-licenses the document — and uses Recalculate all formulas at the bottom of the sidebar's Functions tab.
If you want every collaborator covered on their own plan rather than one person's, that's what the team plan is for.
Can I give up my Team seat myself? ▼
Yes — on the sidebar's Account tab, click Give up my seat. No admin involvement needed. Getting a seat back afterwards does require the domain admin to re-add you via "Manage team seats" — it's not automatic just by reopening the add-on again.