Outdated Excel Functions (and What to Use Instead)

Mynda Treacy

May 13, 2025

Excel is always evolving, and so should your formulas. While classic functions like VLOOKUP, MATCH, and OFFSET were once essential, today we have better, more reliable, and more efficient options.

This post walks you through modern replacements that simplify your work and future-proof your spreadsheets.

I've also included downloadable examples and reference tables to help you make the switch confidently.

Watch the Outdated Excel Functions Video

Subscribe YouTube
 

Get the Excel Example File

Enter your email address below to download the sample workbook.



By submitting your email address you agree that we can email you our Excel newsletter.

Outdated Excel Functions – Step-by-step

If you prefer a written tutorial on Outdated Excel Functions with examples and comparison tables, continue reading.

1. VLOOKUP / HLOOKUP → XLOOKUP

The VLOOKUP function has long been a go-to lookup tool, but it has serious limitations — it only looks right, it breaks when you insert columns, and it returns approximate matches unless you specify otherwise.

Better Alternative: XLOOKUP

Syntax: =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
FeatureXLOOKUPVLOOKUP / HLOOKUP
Search directionAny direction (left, right, up, down)Top to bottom (VLOOKUP) or left to right (HLOOKUP) only
Lookup column/row positionLookup can be in any column or rowMust be first column (VLOOKUP) or first row (HLOOKUP)
Exact match by default✅ Yes (default is exact match)❌ No (default is approximate which is error prone)
Approximate match✅ Yes (optional)✅Yes (default)
Return multiple columns/rows✅ Yes (can return multiple columns/rows easily)❌ No (one value only)
Insert/delete column or row issues✅Doesn't break because lookup and return arrays are separate❌ Breaks if columns/rows are inserted or deleted
Error handling (custom messages)✅Built-in with the optional [if_not_found] argument❌ Need to wrap with IFERROR manually
Support for dynamic arrays (spilled arrays)✅Yes❌ No
Search from first or last match✅ Yes (search_mode option)❌ No

Taking the data below, you can see the comparative formulas on rows 18 and 19:

vlookup vs xlookup, which is better?

Check out the deep dive XLOOKUP function tutorial.

2. CONCATENATE / CONCAT → TEXTJOIN

Combining text from multiple cells used to require clunky formulas — and blank cells would result in unwanted double spaces or missing separators.

Better Alternative: TEXTJOIN

Syntax: =TEXTJOIN(delimiter, ignore_empty, text1,...)
FeatureTEXTJOINCONCATCONCATENATE
Skip blanks✅ Yes (ignore_empty)❌ No❌ No
Separator support✅ Built-in❌ No❌ No
Combine ranges directly✅ Yes✅ Yes❌ No (must list each cell)
Supports array formulas✅ Yes✅ Yes❌ Limited
Accepts ranges✅ Yes✅ Yes❌ No
Available in Excel 365/2019+✅ Yes✅ Yes⚠️ Deprecated

Example: column E below shows the limitation of the CONCAT function when handling empty cells, with a double space between ‘Emily Johnson’ in cell E11, whereas TEXTJOIN in cell F11 handles it with ease:

CONCAT vs TEXTJOIN, which is better?

TEXTJOIN can also create lists in a single column and skip any blanks:

why use TEXTJOIN instedead of CONCATENATE?

For more on the TEXTJOIN function and workarounds for earlier versions of Excel, check out the TEXTJOIN tutorial here.

3. MATCH → XMATCH

MATCH helps find the position of a value in a list - often used with INDEX. But it’s limited in direction and requires manual match type setup.

Better Alternative: XMATCH

Syntax: =XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
FeatureXMATCHMATCH
Search directionTop-to-bottom or bottom-to-topOnly first match (top to bottom)
Exact match✅ Yes (default)✅ Yes
Approximate match✅ Yes (simpler options)✅ Yes (needs setting 1 or -1)
Wildcards support (e.g., * or ?)✅ Yes✅ Yes
Find next larger or smaller item✅ Yes (easier options)✅ Yes
Return position from bottom✅ Yes (search_mode)❌ No
Supports Regex Match✅ Yes (native support)❌ No

Example: In the example below, rows 14 and 15 show equivalent formulas. XMATCH doesn’t need the additional match mode argument because an exact match is the default. In row 16 you can see the search from bottom capabilities of XMATCH.

XMATCH or MATCH, which is better?

Step 4: Add Notes and Bank Details

4. SUBTOTAL → AGGREGATE

SUBTOTAL is great for calculating only visible rows, but it falls short when errors are present in the data and has limited aggregation options.

Better Alternative: AGGREGATE

Syntax: =AGGREGATE(function_num, options ref1,...)
FeatureAGGREGATESUBTOTAL
Basic aggregations (SUM, AVERAGE, COUNT, etc.)✅ Yes✅ Yes
Option to ignore nested SUBTOTAL/AGGREGATE results✅ Yes✅ Yes
Option to ignore hidden rows✅ Yes (with options)✅ Yes (function numbers 1–11)
Option to ignore errors✅ Yes❌ No
Supports more functions (e.g., LARGE, SMALL, MEDIAN)✅ Yes (19 total functions)❌ No (only 11 functions)
Built-in error handling✅ Yes (ignore #DIV/0!, etc.)❌ No

Examples: In the examples below, we can see that while SUBTOTAL fails when there are errors in the range (row 14), AGGREGATE handles it with ease (row 15). Additionally, AGGREGATE can perform tasks like returning the second largest visible sales value (row 16):

SUBTOTAL or AGGREGATE, which is a better function in Excel?

For more innovative solutions, check out the deep dive tutorial on the AGGREGATE function.

5. LEFT, MID, FIND, LEN → TEXTAFTER, TEXTBEFORE

Extracting parts of text used to require multi-layered formulas that were difficult to build and troubleshoot.

Better Alternative: TEXTAFTER, TEXTBEFORE

Syntax:

=TEXTBEFORE(text,delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
=TEXTAFTER (text,delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
FeatureTEXTAFTER / TEXTBEFORELEFT + MID + FIND + LEN
Syntax complexityLow (simple and readable)High (need nested formulas)
Handles first occurrence easily✅ Built-in⚠️ Only with careful FIND setup
Handles second, third, nth occurrence✅ Simple (with instance_num argument)❌ Hard (needs complex nesting)
Easy to extract before/after a delimiter✅ Yes (direct)❌ No (manual calculation needed)
Dynamic delimiter support✅ Built-in⚠️ Possible but messy
Error handling for missing delimiter✅ Optional fallback value❌ No (Requires IFERROR)

Examples:

how to extract text strings using TEXTAFTER and TEXTBEFORE in Excel?

There’s also a sibling function called TEXTSPLIT that enables you to split by multiple delimiters across columns or rows. Check out the deep dive TEXTBEFORE, TEXTAFTER and TEXTSPLIT tutorial here.

6. INDIRECT → SWITCH or XLOOKUP

INDIRECT was a clever trick to create dynamic references, but it’s volatile and fragile.

Better Alternatives: SWITCH or XLOOKUP

Syntax: =SWITCH(expression, value1, result1, [default_or_value2], [result2],...)
Syntax: =XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
Old Use of INDIRECTWhy People Used ItBetter Modern Solution
Dynamic named ranges (e.g., changing the range based on input)Let users select a range to use (e.g., "Q1Sales", "Q2Sales")✅ CHOOSE, XLOOKUP, or SWITCH can now map names directly without needing volatile references
Selecting columns dynamicallyBuild a reference like A:A or B:B based on a cell✅ Use INDEX(array, , column_number) instead - much faster and non-volatile
Building dynamic ranges for SUMIFS etc.Create flexible ranges without manual editing✅ Use dynamic arrays (e.g., FILTER, SEQUENCE, INDEX), or structured tables with better formulas
Referencing spilled array results indirectlyPoint formulas at spill ranges✅ Use # spill references directly now, e.g., =A2#
Making validation lists dynamicBuild dropdown lists that grow automatically✅ Use dynamic arrays with UNIQUE, SORT, or Excel Tables (structured references)
Pulling data from different tables dynamicallyChoose which table or range to pull from✅ Use CHOOSE, SWITCH, or structured tables
Dynamic sheet references (e.g., build a reference like 'Sheet2'!A1)Needed to reference different sheets based on a cell value❌ No true alternative yet for dynamic sheet names - still need INDIRECT (or VBA / LAMBDA hacks)

Examples: Return a dynamic range based on the drop-down list in cell G6 that toggles between the different table (TblSales) columns (C & D):

Why use SWITCH or XLOOKUP instead of the INDIRECT function in Excel instead of XLOOKUP?

Check out the deep dive tutorials:

7. OFFSET → Trim Ref Dot Operator or Excel Tables

OFFSET helped create dynamic ranges, but it’s another volatile function that can slow your workbook.

Better Alternatives: Trim Ref Dot Operator or Excel Tables

FeatureOFFSETDot RefExcel Tables
Volatile✅ Yes❌ No❌ No
Dynamic range support✅ Yes✅ Yes✅ Yes
Spill compatibility❌ No✅ Yes✅ Yes
Auto-expanding formulas❌ No✅ Yes✅ Yes

Trim Ref Dot Operator Example: Column E below contains a dynamic range using OFFSET, compared to column F which uses the trim ref dot operator which is simply a dot after the colon in the first argument C10:.C30:

Why OFFSET function is no longer required in Excel?

Excel Table Structured Reference Example: In column E, the Category column, the formula uses the table structured references. These automatically include any new data added to the table, without the need for complex formulas like OFFSET:

how to use TRIMRANGE or Trim Ref Dot Operator in Excel?

Note: Dot references work well for formulas that spill arrays; Tables are ideal for structured data and auto-filling.

Check out the deep dive tutorials:

Want to Go Deeper?

If you'd like help writing cleaner formulas and mastering all the new Excel tools, check out my Advanced Excel Formulas Course. I’ll walk you through step-by-step lessons with examples you’ll actually use at work.

AUTHOR Mynda Treacy Co-Founder / Owner at My Online Training Hub

CIMA qualified Accountant with over 25 years experience in roles such as Global IT Financial Controller for investment banking firms Barclays Capital and NatWest Markets.

Mynda has been awarded Microsoft MVP status every year since 2014 for her expertise and contributions to educating people about Microsoft Excel.

Mynda teaches several courses here at MOTH including Excel Expert, Excel Dashboards, Power BI, Power Query and Power Pivot.

2 thoughts on “Outdated Excel Functions (and What to Use Instead)”

  1. Thanks for all your content, advice and examples, because i work in a large corporation my MS Channel means I wont get the latest Excel functions for a while yet but thanks to your website I am ready to go when they arrive!!

    Reply

Leave a Comment

Current ye@r *