Skip to main content

Current formula limitations in Dashpivot

A complete reference of what Dashpivot formulas don't support, what behaves differently from Excel, and how to work around common constraints.

Written by Nina Yang

Dashpivot formulas are powered by HyperFormula and cover most common use cases — but there are constraints to know before you build. This article covers unsupported functions, calculation behaviours that differ from Excel, and how to work around them.

For a full overview of how formulas work in Dashpivot, see Dashpivot Formulas Overview.

Quick reference

Limitation

Summary

Nested parentheses

Max 6 levels

VLOOKUP / MATCH

Exact match not supported

Volatile functions (RAND, RANDBETWEEN)

Recalculate on every edit — cannot be frozen

Division by zero

Silently accepted; no result at runtime

Cross-table references

#REF! if table deleted, renamed, or cell is blank

Unsupported field types

Attachment, photo, signature return null

Unsupported functions

Engineering, statistical, financial, some math

1. Nested parentheses limit

Dashpivot supports up to 6 levels of nested parentheses in a formula. Formulas with 7 or more levels will return an error.

Example of an unsupported formula (7 levels):

=IF(A1>0, IF(B1>0, IF(C1>0, IF(D1>0, IF(E1>0, IF(F1>0, IF(G1>0, 1, 0), 0), 0), 0), 0), 0), 0)

Workarounds:

  • Break the formula into separate calculations across multiple table cells.

  • Remove unnecessary parentheses where possible.

  • Use IFS() instead of deeply nested IF() logic, for example:

=IFS(Condition1, Value1, Condition2, Value2, Condition3, Value3)

2. VLOOKUP and MATCH exact match limitation

Dashpivot does not currently support exact match lookups with VLOOKUP() or MATCH() in templates using table cross-referencing. When building templates that rely on lookups, consider simplifying logic or restructuring data to avoid exact-match dependencies.

3. Unsupported functions

The following function categories are not available in Dashpivot formulas:

Category

Unsupported functions

Engineering

BIN2DEC, BIN2HEX, BIN2OCT, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, COMPLEX, DEC2BIN, DEC2HEX, DEC2OCT, ERF, ERFC, HEX2BIN, HEX2DEC, HEX2OCT, all IM* functions (e.g. IMABS, IMSUM, IMPOWER), OCT2BIN, OCT2DEC, OCT2HEX

Statistical

NORM.DIST, NORM.INV, T.TEST, CHISQ.TEST, F.TEST, BINOM.DIST, POISSON.DIST, WEIBULL.DIST, GAMMA.DIST, BETA.DIST, LOGNORM.DIST, and all related distribution/inverse functions

Financial

PMT, PV, FV, RATE, IPMT, PPMT, MIRR, DB, DDB, SYD, CUMIPMT, CUMPRINC, EFFECT, RRI, FVSCHEDULE, TBILLEQ, TBILLPRICE, TBILLYIELD

Math

ACOS, ACOSH, ACOT, ACOTH, ASIN, ASINH, ATAN, ATAN2, ATANH, COSH, COTH, EXP, FACT, FACTDOUBLE, MULTINOMIAL, ROMAN, SUMX2MY2, SUMX2PY2, SUMXMY2

Other

ARRAYFORMULA, ARRAY_CONSTRAIN, WORKDAY.INTL, CHAR, MMULT, ISBINARY, SHEET, SHEETS

4. Dashpivot-specific functions

The following custom functions are available in Dashpivot and are not part of the standard formula library:

DATEDIF(Date1, Date2)

Returns the absolute difference in whole days between two date values.

TIMEDIF(A1, B1)
Returns the difference in hours between two time values.

5. Field types that cannot be used in formulas

Not all field types can be used as formula inputs. Referencing an unsupported type returns null — no error is shown.

Field type

Can be used in formulas?

Number

✅ Yes

Formula

✅ Yes

Date / Date (plain)

✅ Yes

Time / Time (plain)

✅ Yes

List

✅ Yes (in IF() statements only — treated as text)

List Property

✅ Yes (text, number, or date properties only)

Text / Prefilled Text

❌ No

Photo / Image

❌ No

Attachment / File

❌ No

Signature

❌ No

Location / Latitude / Longitude

❌ No

Map

❌ No

Person

❌ No

6. Cross-table reference rules

When referencing cells from another table in a formula:

  • The table being referenced must exist in the template. Referencing a deleted or renamed table will produce a #REF! error. Update the formula to point to the correct table name.

  • References to blank or empty cells in another table will also produce a #REF! error.

  • Cross-table formulas use the format =TableName!ColumnLetter (e.g. =Table1!A1).

For more on cross-table referencing, see How to Cross-Reference Tables in Formulas on Dashpivot Web.

7. Division by zero

Dividing by zero (#DIV/0!) does not surface as an error in the template editor — it is silently accepted. However, the formula will not return a valid result at runtime if the divisor evaluates to zero.

Where possible, use an IF() guard to handle zero denominators:

=IF(B1=0, 0, A1/B1)

8. Volatile functions always recalculate (RAND, RANDBETWEEN)

RAND() and RANDBETWEEN() are volatile functions — they generate a new value every time any field in the same table is edited, or when a row is added, deleted, or reordered. This is how Dashpivot's formula engine (HyperFormula) works: any change to a non-formula cell triggers a full recalculation across the sheet, including all volatile functions.

What this means in practice:

  • A random number generated for a table row will change whenever a user edits any field in that table — even an unrelated column or a different row.

  • There is no way to lock or freeze a formula-generated value once it has been calculated. Moving a form to a different workflow stage does not freeze formula values.

Workarounds:

Approach

How it works

Trade-off

Export to PDF

Captures all current values at export time

Values are fixed in the PDF only; the live form continues to recalculate

Manual entry

Type the value directly into the cell instead of using a formula

Requires users to enter values manually; no calculation errors

Deterministic substitute

Replace RAND()/RANDBETWEEN() with a formula derived from a stable input field (e.g. extracting digits from a date value)

Produces a stable result tied to that field — but requires careful design and does not produce true randomness


Frequently Asked Questions (FAQs)

Why is my formula showing a #REF! error?
A #REF! error usually means your formula is referencing a table that has been deleted or renamed, or is pointing to a blank cell in another table. Check that the table name in your formula matches exactly what appears in the template editor, and that the referenced cell contains a value.

Why isn't my formula function working in Dashpivot?
Dashpivot does not support all HyperFormula functions. Engineering, statistical distribution, and most financial functions are not available. If a function isn't working, check the unsupported functions list above. For date and time calculations, use Dashpivot's custom DATEDIF() and TIMEDIF() functions instead of standard alternatives.

How many levels of nested IF statements can I use?
Dashpivot supports up to 6 levels of nested parentheses. If you need more complex logic, break the formula into smaller parts across multiple cells, or use IFS() to flatten nested IF() chains into a single formula.

Can I stop a formula from recalculating after it's been generated?
No. Dashpivot formulas recalculate automatically whenever any field in the table is edited, or when a row is added or removed. Volatile functions like RAND() and RANDBETWEEN() are particularly affected — they return a new value on every recalculation. There is no lock or freeze option for end users. To preserve a value, either export to PDF, enter the value manually, or replace the volatile function with a deterministic formula derived from a stable input field.

What Dashpivot-specific formula functions are available?
Dashpivot includes two custom functions not in standard Excel: DATEDIF(Date1, Date2) returns the absolute difference in whole days between two dates, and TIMEDIF(A1, B1) returns the difference in hours between two time values.

Did this answer your question?