Can I use these functions without a license? ▼
Yes. Every function in this add-on works on ranges of 30 cells or fewer without a Pro license — no sign-up required.
For ranges larger than 30 cells, an active Pro license is required. New users automatically receive a 7-day free trial with full access to all functions on unlimited ranges.
If a formula exceeds the free limit, the cell will show an error message explaining how to activate a license.
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.
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 (Pro 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.
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.
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)
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
colorFromCell 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.