Go Further with Advanced JavaScript Spreadsheet Calculations and Formulas
Overview
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.
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.
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.
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.
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.
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.
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.
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.
Array Formulas
Array formulas, often referred to as CSE (Ctrl+Shift+Enter) formulas, accept array arguments and return array values.
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.
RANDARRAY Function
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.
SEQUENCE Function
The SEQUENCE function generates a list of sequential numbers in an array, such as 1, 2, 3, 4.
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.
SORTBY Function
The SORTBY function sorts the contents of a range or array based on the values in a corresponding range or array.
UNIQUE Function
The UNIQUE function returns a list of unique values in a list or range. For example
=UNIQUE(array, by_col?, occurs_once?).
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.
@ Implicit Intersection Operator
The intersection operator returns the value from an array that intersects with the cell using the operator.
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.
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.
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.
What's New in SpreadJS v17.1
SpreadJS v17 SP1 is available! This release offers several great new enhancements and features including:
- Formula Performance Enhancements
- Right-to-Left Text Direction
- Chart Data Label “Value Of Cell”
- Custom Table Styles Enhancement
- Angular 17 & Next 14 Framework Support
- Custom Slicer Styles Enhancement
- Protected Sheets Hidden Option for Formulas
- Conditional Formatting Rules Manager Performance Enhancement
- And Much More!