Skip to main content Skip to footer

Go Further with Advanced JavaScript Spreadsheet Calculations and Formulas


One of the most significant benefits of using spreadsheets in your JavaScript applications is the extensive support of the calculation engine features. SpreadJS provides the most comprehensive formula support for your most demanding calculation needs to help create analysis, budgeting, dashboard, data collection and management, scientific, and financial applications. SpreadJS offers a complete function library that includes Database, Date and Time, Engineering, Financial, Information, Logical, Lookup, Math and Trigonometry, Statistical, Text and Volatile functions, dynamic arrays and custom user defined functions that are optimized for big data, complex calculations, and advanced Excel models.

JavaScript Spreadsheet Calculation Features

Iterative Calculations

Iterative calculations can help with finding solutions to certain calculations by running them over and over using the previous result. For example, you can perform what-if analysis with the CalcEngine.goalSeek function or find the future value of an investment at a certain month. 

View Demo

500+ Built-In Functions

Build advanced formulas using Spread's powerful calculation engine. SpreadJS supports over 500 functions. You can use A1 Notation, R1C1 Notation, or Relative/Absolute referencing.

View Demo

Excel-Like Indirect Function

The INDIRECT function returns the reference specified by a text string. INDIRECT supports A1-style reference, R1C1-style reference, named reference, or a reference to a cell as a text string.

View Demo

Dynamic and Spilled Arrays

The dynamic array support is used to replace the array formula. Formulas with the potential to return multiple results refer to a dynamic array formula. Formulas currently returning many results are referred to as spilled array formulas.

View Demo

Language Packages

SpreadJS provides localized calculation engine language packages that allow the user to enter formulas in their local languages. For example, 'SUM' will change to 'SOMME' in French.

View Demo

Wildcard Functions

SpreadJS supports the use of wildcards in functions “*” substitutes any number of characters, “?” represents/substitutes one character, and “~” identifies a literal question mark or asterisk character in the text string itself.

View Demo

Custom Functions

In addition to the 500+ built-in functions, the SpreadJS Calc Engine also allows you to create your own custom functions for specific business use cases. They can be defined and called as you would any of the built-in functions.

View Demo

Formula Auditing

SpreadJS provides extensive support for formula auditing, allowing users to display relationships between formulas and cells by tracing the precedent and dependent cells in the worksheet.

View Demo

Array Formulas

Array formulas, often referred to as CSE (Ctrl+Shift+Enter) formulas, accept array arguments and return array values.

View Demo

Aggregate Function

The AGGREGATE function supports 19 aggregate calculation and function options, including AVERAGE, COUNT, COUNTA, MAX, MIN, PRODUCT, SUM, VAR.S, VAR.P, MEDIAN, MODE.SNGL, LARGE, SMALL, PERCENTILE.INC., and more.

View Demo


Use the built-in Excel-like filter dialog to allow your users to automatically filter their data or take advantage of creating custom filters to show and hide the relevant data as per your applications needs.

View Demo


The RANDARRAY function returns an array of random numbers. Users can specify the number of rows and columns to fill, minimum and maximum values, and whether to return whole numbers or decimal values.

View Demo


The SEQUENCE function generates a list of sequential numbers in an array, such as 1, 2, 3, 4.

View Demo

SORT Function

The SORT function returns a sorted array of the elements in an array. The returned array is the same shape as the provided array argument.

View Demo

SORTBY Function

The SORTBY function sorts the contents of a range or array based on the values in a corresponding range or array.

View Demo

UNIQUE Function

The UNIQUE function returns a list of unique values in a list or range. For example

=UNIQUE(array, by_col?, occurs_once?).

View Demo

RegEx Functions

RegEx functions, short for regular expression functions, are powerful tools that enable users to search for and manipulate text based on a specified pattern. The SpreadJS's RegEx functions REGEXEXTRACT, REGEXMATCH, and REGEXREPLACE helps easily automate tasks, validate user input, and perform complex text manipulation operations.

View Demo

@ Implicit Intersection Operator

The intersection operator returns the value from an array that intersects with the cell using the operator.

View Demo

Execute Asynchronous Functions

Use the AsyncFunction to evaluate long-running asynchronous functions such as Web API calls to retrieve or update external data. You can also perform complex financial model calculations.



View Demo

Create Formula Text Boxes

Give your users the ability to view and edit the formulas in your workbooks with a formula text box. Users can create formulas and select ranges to be referenced with the range selector button.


View Demo
Formula Editor Panel - Handle Complex Excel Formulas in an Angular Application

Formula Editor Panel

Effortlessly manage long, complex formulas with SpreadJS's Formula Editor Panel plugin. The Formula Panel provides a flexible, formatted, outline view to collapse and expand formulas. Edit, debug, and optimize lengthy formulas seamlessly with flexible outline views, syntax highlighting, tooltip function information, and more.

Learn More View Demo