For a very long time, Excel introduced new functions at a leisurely pace.

Every few years, a handful of new functions would appear, most aimed at technical and edge-case problems.

Most users greeted these new functions with a yawn, if they noticed at all.

REGEXEXTRACT function example

You might not know it, but Excel now has nearly 50 new functions!

At the same time, Microsoft overhauled Excel’s formula engine to handle array formulas natively.

Need a list of unique values from 10,000 rows?

REGEXEXTRACT function example

The UNIQUE function will do it in one step.

Want to display all orders over $100?

With the new FILTER function.

REGEXEXTRACT function example

Even better, because these are formulas, results are dynamic.

When data changes, you see the latest immediately.

This is not your Dad’s Excel anymore.

REGEXEXTRACT function example

Many complicated formulas will become obsolete, replaced by compact and elegant alternatives.

If you use Excel frequently, this is a change you should understand and embrace.

Here’s how it works.

REGEXEXTRACT function example

For the advanced Excel user, this function is amajorupgrade.

REGEXEXTRACT not only saves time but also reduces errors created by complicated workarounds.

Learn more about the REGEXEXTRACT function.

REGEXREPLACE function example

REGEXREPLACE function

The REGEXREPLACE function replaces text matching a specific regex pattern in a given text string.

you might think of REGEXREPLACE as a much more powerful version of the simplistic SUBSTITUTE function.

This function is a major upgrade to Excel’s rather primitive text-replacement functions.

REGEXTEST function example

Learn more about the REGEXREPLACE function.

REGEXTEST function

REGEXTEST brings the power of regular expressions to ordinary Excel formulas.

It tests whether a text string matches a specific pattern, returning TRUE or FALSE.

GROUPBY function example

REGEXTEST opens up new possibilities for data validation and text analysis directly within Excel formulas.

Learn more about the REGEXTEST function.

Learn more about the GROUPBY function.

PIVOTBY function example

PIVOTBY function

Like the GROUPBY function, PIVOTBY can create a Pivot Table with a formula.

It’s an excellent tool for creating dynamic, formula-based summaries that update automatically when source data changes.

Learn more about the PIVOTBY function.

PERCENTOF function example

PERCENTOF function

PERCENTOF calculates the percentage of a subset of data relative to all data.

This function is useful in any scenario where it’s crucial that you express a part-to-whole relationship.

Learn more about the PERCENTOF function.

BYCOL function example

The concept may seem abstract, but in practice, BYCOL is quite useful.

For instance, assume you have 6 columns of numbers in C5:H14.

BYCOL runs on every column, returning a single result for each.

BYROW function example

Since it can apply custom LAMBDA logic, BYCOL can perform operations far beyond simple sums or averages.

Learn more about the BYCOL function.

BYROW function

BYCOL is the companion to the BYROW function.

CHOOSECOLS function example

If BYROW is given an array with 100 rows, BYROW will return 100 results.

The calculation performed on each row is flexible.

The result is all 9 maximum values in one step.

CHOOSEROWS function example

BYROW runs on each row, returning a single result for each.

Learn more about the BYROW function.

CHOOSECOLS function

CHOOSECOLS selects specific columns from an array or range by position.

DROP function example

The columns to return are provided as numbers.

CHOOSECOLS is particularly useful when working with structured data where row positions have specific meanings.

One interesting use of CHOOSECOLS is to create amini-dashboard.

EXPAND function example

The result from CHOOSECOLS is always a single array that spills onto the worksheet.

Learn more about the CHOOSECOLS function.

CHOOSEROWS function

CHOOSEROWS works like theCHOOSECOLSfunction.

FIELDVALUE function example

However, whereas CHOOSECOLS fetches specific columns, CHOOSEROWS fetches specific rows.

The result from CHOOSEROWS is always a single array that spills onto the worksheet.

Learn more about the CHOOSEROWS function.

HSTACK function example

Rows and columns can be dropped from the start or end of the given array.

Learn more about the DROP function.

Learn more about the EXPAND function.

IMAGE function example

As implied by the name, FIELDVALUE returns a specific field value from a Data pop in.

FIELDVALUE is an alternative to the “dot” syntax: =A1.

[Previous close].

ISOMITTED function example

Learn more about the FIELDVALUE function.

HSTACK function

HSTACK combines arrays or ranges horizontally into a single array.

Each subsequent array is appendedto the rightof the previous array.

LAMBDA function example

The output from HSTACK is fully dynamic.

If data changes, the result from HSTACK will be updated immediately.

HSTACK is closely related toVSTACK.

MAKEARRAY function example

Use HSTACK to combine ranges horizontally and VSTACK to combine ranges vertically.

Learn more about the HSTACK function.

Of course, you could manually insert an image into a cell anytime, so why use IMAGE?

MAP function example

Learn more about the IMAGE function.

ISOMITTED function

ISOMITTED is a specialized function designed to work with LAMBDA functions.

Its purpose is to provide a way to make LAMBDA arguments optional.

REDUCE function example

ISOMITTED checks whether an optional argument in a LAMBDA function has been provided or not.

Inside the LAMBDA, ISOMITTED checks for b.

If b is omitted, the formula returns a+ 10.

SCAN function example

If b is provided, the formula returns a + b.

Learn more about the ISOMITTED function.

For example, you could create a simple squaring function with =LAMBDA(x,x^2).

STOCKHISTORY function example

Once defined and named, a LAMBDA function can be used anywhere in your workbook.

LAMBDA functions can also appear inside many other new functions (i.e.

BYCOL, BYROW, MAP, SCAN, REDUCE, etc.)

TAKE function example

that loop over arrays and apply calculations.

Learn more about the LAMBDA function.

MAKEARRAY function

MAKEARRAY is a custom array generator.

TEXTAFTER function example

It creates an array with specified dimensions, filling it with values defined by a custom LAMBDA formula.

It’s particularly handy when you need arrays with calculated values that follow a specific pattern or rule.

Note the relatedRANDARRAYfunction can create a custom-sized array containing random numbers.

TEXTBEFORE function example

Learn more about the MAKEARRAY function.

MAP function

MAP brings a fundamental concept from functional programming to Excel.

It applies a custom operation to each cell in a range, and returns an array of results.

TEXTSPLIT function example

It’s a bit like a custom mini-function that runs on every cell.

Normally, functions like this break array formulas because they aggregate multiple values into a single value.

However, because MAP operates on one cell at a time, it works.

TOCOL function example

Learn more about the MAP function.

Learn more about the REDUCE function.

SCAN is similar toREDUCE, but instead of producing a single result, it returns anarray of intermediate results.

ROW function example

It’s like getting the play-by-play of a cumulative calculation at each step.

Learn more about the SCAN function.

Note that STOCKHISTORY only returns historical information recorded after the market closes.

ARRAYTOTEXT function example

It does not return real-time data.

Learn more about the STOCKHISTORY function.

It’s like a data slicer for ranges.

VALUETOTEXT function example

TAKE is also great for creating dynamic ranges that adjust based on the data.

Note that the TAKE function is related to theDROP function, whichremovesrows and/or columns from a range.

Learn more about the TAKE function.

VSTACK function example

It’s designed to work with structured text with a clear pattern and delimiter.

Compared to older, more complicated solutions, TEXTAFTER greatly simplifies the process of splitting text strings.

Learn more about the TEXTAFTER function.

WRAPCOLS function example

TEXTBEFORE function

TEXTBEFORE is the counterpart toTEXTAFTER.

It extracts the portion of a string that comesbefore a specified delimiter.

TEXTBEFORE can be configured to extract text after a specific instance of a delimiter (i.e.

WRAPROWS function example

after the second space).

it’s possible for you to even use TEXTBEFORE together with TEXTAFTER to perform more specific text extraction.

Like TEXTAFTER, it offers options for handling multiple delimiters and case sensitivity.

FILTER function example

Learn more about the TEXTBEFORE function.

The output from TEXTSPLIT is an array that will spill into multiple cells in the workbook.

Learn more about the TEXTSPLIT function.

LET function example

TOCOL function

TOCOL transforms a two-dimensional array into a single column.

It’s like flattening your datavertically.

Learn more about the TOCOL function.

RANDARRAY function example

TOROW function

TOROW is the horizontal counterpart toTOCOL.

It transforms a two-dimensional array into a single row, essentially flattening datahorizontally.

Like TOCOL, it offers options to scan by row or column and can ignore blanks or errors.

SEQUENCE function example

Learn more about the TOROW function.

But what if you want to show this syntax directly on the worksheet?

ARRAYTOTEXT is a utility function that lets you format the values in a range in array syntax.

SORT function example

It converts an array or range into a text string that can be displayed directly on the worksheet.

Learn more about the ARRAYTOTEXT function.

into their text representations.

SORTBY function example

By default, text values pass through unaffected, while other values are quoted.

However, in strict mode, text values are enclosed in double quotes ("").

Learn more about the VALUETOTEXT function.

UNIQUE function example

VSTACK function

VSTACK is the vertical counterpart to theHSTACKfunction.

While HSTACK stacks rangeshorizontally, VSTACK stacks rangesvertically,one on top of another.

It is also handy when you want to attach headers to calculation results inside a formula.

XLOOKUP function example

VSTACK can handle ranges of different widths, making it a flexible way to handle different data combination scenarios.

The output from VSTACK is dynamic and will immediately update if source data changes.

Learn more about the VSTACK function.

XMATCH function example

WRAPCOLS function

WRAPCOLS takes a one-dimensional array (i.e.

a single row or column) and wraps it into multiple columns based on a specified number of rows.

WRAPCOLS is useful when you gotta reshape linear data into a table working “by column”.

CONCAT function example

It can also be used to re-wrap data previously unwrapped by theTOCOLorTOROWfunction.

Learn more about the WRAPCOLS function.

WRAPROWS function

WRAPROWS is the row-wise version ofWRAPCOLS.

IFS function example

It takes a one-dimensional array (i.e.

a single row or column) and wraps it into multiple rows based on a specified number of columns.

Learn more about the WRAPROWS function.

MAXIFS function example

The result from FILTER is an array of matching values from the original data.

The results from FILTER are dynamic.

If source data changes or if conditions are modified, FILTER will return new results.

MINIFS function example

This makes FILTER an excellent way to isolate and inspect specific data without altering the original dataset.

FILTER is highly versatile.

FILTER can even filter columns.

SWITCH function example

Learn more about the FILTER function.

LET function

LET brings local variables to Excel formulas.

These variables are temporary and live only in your formula.

TEXTJOIN function example

LET can significantly improve performance by eliminating redundant calculations.

LET can radically simplify more complex formulas that reuse intermediate results or ranges multiple times.

Learn more about the LET function.

REGEXEXTRACT function example

RANDARRAY function

RANDARRAY is an on-demand random number generator.

It creates an array of random numbers with specified dimensions.

RANDARRAY is useful for random sorts, random sampling, and for creating test data from randomly selected values.

REGEXREPLACE function example

Learn more about the RANDARRAY function.

SEQUENCE function

SEQUENCE is a function for generating sequential numbers.

SEQUENCE has options for the dimensions of the final array, and for the start value and step size.

REGEXTEST function example

Learn more about the SEQUENCE function.

SORT function

SORT brings the power of sorting directly into your formulas.

It can sort data in ascending or descending order and can sort by more than one column.

GROUPBY function example

The result is a dynamic array that updates automatically when source data changes.

Learn more about the SORT function.

This means you could sort using values that don’t appear in the final result.

PIVOTBY function example

Like the simpler SORT function, SORTBY can sort by more than one column in ascending or descending order.

This function is especially useful when you gotta sort data in acustom order.

Learn more about the SORTBY function.

PERCENTOF function example

UNIQUE function

The UNIQUE function is another game-changer, making many complex formulas of the past obsolete.

As the name suggests, UNIQUE extracts a list of unique values from a range or array.

It can also be used to generate the values used in dropdown lists.

BYCOL function example

Learn more about the UNIQUE function.

XLOOKUP function

XLOOKUP is a modern successor to VLOOKUP and HLOOKUP.

It is a flexible and versatile function that can be used in a wide variety of situations.

BYROW function example

Note: if you after multiple results, see theFILTERfunction.

Learn more about the XLOOKUP function.

XMATCH function

XMATCH is the modernized version of the MATCH function.

CHOOSECOLS function example

Learn more about the XMATCH function.

New 2019 functions

CONCAT function

CONCAT is a modernized version of the CONCATENATE function.

Like CONCATENATE, it can join text from multiple cells without a delimiter.

CHOOSEROWS function example

For these reasons, I recommend you ignore CONCAT and use theTEXTJOIN functioninstead, which is far more capable.

Learn more about the CONCAT function.

IFS function

IFS simplifies the process of testing multiple conditions in Excel.

DROP function example

It allows you to evaluate several logical tests and return a value corresponding to the first TRUE result.

Think of it as a more efficient alternative to nested IF statements.

IFS makes complex conditional logic more readable and manageable.

EXPAND function example

Learn more about the IFS function.

MAXIFS function

MAXIFS finds the largest value among cells that meet multiple criteria.

It’s like combining the MAX function with multiple condition checks.

FIELDVALUE function example

MAXIFS is a handy tool for all kinds of data analysis.

Learn more about the MAXIFS function.

MINIFS function

MINIFS is the counterpart toMAXIFS, finding the smallest value that meets multiple criteria.

HSTACK function example

Like MAXIFS, it combines the functionality of MIN with conditional filtering.

Learn more about the MINIFS function.

SWITCH function

SWITCH is like a streamlined IF-THEN-ELSE statement for Excel.

IMAGE function example

It compares a single expression against a list of values and returns the result corresponding to the first match.

Unrecognized ratings default to “???”.

Learn more about the SWITCH function.

ISOMITTED function example

TEXTJOIN function

TEXTJOIN is the sophisticated cousin ofCONCAT.

Because TEXTJOIN can ignore empty cells, it is more versatile than the CONCAT function.

This function is particularly useful for creating comma-separated lists and other delimited text strings.

LAMBDA function example

Learn more about the TEXTJOIN function.

MAKEARRAY function example

MAP function example

REDUCE function example

SCAN function example

STOCKHISTORY function example

TAKE function example

TEXTAFTER function example

TEXTBEFORE function example

TEXTSPLIT function example

TOCOL function example

ROW function example

ARRAYTOTEXT function example

VALUETOTEXT function example

VSTACK function example

WRAPCOLS function example

WRAPROWS function example

FILTER function example

LET function example

RANDARRAY function example

SEQUENCE function example

SORT function example

SORTBY function example

UNIQUE function example

XLOOKUP function example

XMATCH function example

CONCAT function example

IFS function example

MAXIFS function example

MINIFS function example

SWITCH function example

TEXTJOIN function example