HyperFormula 3.0: Introducing the XLOOKUP Function
We’re excited to introduce HyperFormula 3.0, a major release with significant new features and improvements. This update includes the powerful new XLOOKUP
function, better ES module compatibility, and improved documentation.
Please note that this version introduces breaking changes. Before upgrading, review the migration guide to ensure a swift transition.
New Feature: XLOOKUP
Function
The XLOOKUP
function is a powerful alternative to the well-known VLOOKUP
and HLOOKUP
, which makes searching and retrieving data easier and more intuitive. XLOOKUP
can locate values within a range and return corresponding results from another range, simplifying operations that previously required combining INDEX
and MATCH
functions.
With XLOOKUP
, you can:
- Perform both vertical and horizontal lookups in a single function.
- Avoid hardcoded column/row indexes and improve formula flexibility. Unlike
VLOOKUP
orHLOOKUP
, theXLOOKUP
function dynamically identifies the correct match. - Replace the
INDEX
+MATCH
combination with a cleaner, easier-to-maintain implementation.
By simplifying lookup operations, XLOOKUP
reduces the need for nested functions and manual adjustments, saving you time and effort – especially when working with complex spreadsheet logic. Additionally, implementing this function in an Excel-standard format ensures smoother imports of spreadsheets from both Excel and Google Sheets into HyperFormula.
For a quick XLOOKUP
example, try out our demo.
Big thanks to our community member – Selim Youssry – for contributing to this feature!
Updated ES Module Build
To improve compatibility with modern setups, we’ve changed our ES module build to use .mjs
files and updated the exports
property in package.json
. This update enables:
- Import of i18n files in Node.js environments.
- Better integration with modern ES module tooling.
Documentation Improvements
We’ve updated the documentation and demos to make them cleaner, more developer-friendly, and easier to navigate. This includes fixing minor bugs, refining examples, and improving clarity.
Special thanks to Kenton Gray for contributing to these improvements.
Configuration and API Updates
- Changed Default Value for
precisionRounding
: The default value of theprecisionRounding
configuration option is now 10, reducing the glitches caused by the floating-point numbers in your day-to-day calculations. See issue #1300 for more details. - Improved
simpleCellAddressToString
andsimpleCellRangeToString
: These methods have been reworked to provide you with a more logical and developer-friendly API. For details, see issue #1151. - Removed
binarySearchThreshold
: This version removes the deprecatedbinarySearchThreshold
configuration option. If your project still uses this option, please update your configuration accordingly. See issue #1439 for context.
For more information, check out the release notes and explore the updated documentation.
As always, we welcome your feedback and contributions on GitHub.