Excel Functions You've Never Heard Of (But Will Use Daily)

Excel Functions You've Never Heard Of (But Will Use Daily)

The software you use daily is not a blunt instrument; it is a grimoire, filled with elegant incantations for a more enlightened user. You simply haven’t been taught the right words.

By Digital DivaJune 22, 2025

Functions You've Never Heard Of (But Will Use Daily)

Come closer, darlings. Let’s talk about your digital toolkit. I see you, day in and day out, hammering away with the same rusty implements. You wrestle with VLOOKUP, praying you counted the columns correctly. You chain together ampersands and CONCATENATE like some sort of digital mason, building walls of text brick by painful brick. You construct nested IF statements so monstrous they would make a lesser mortal weep.

It’s… admirable, in a tragic sort of way. But it’s time to stop.

The software you use daily is not a blunt instrument. It is a grimoire, filled with elegant, powerful incantations designed for a more enlightened user. You simply haven’t been taught the right words. Allow me to illuminate a few entries you may have overlooked. These aren't esoteric novelties; these are the spells you will start casting every single day.

🪄 The Alchemist's Assistant: LET()

The Affliction: You've built a formula that's a labyrinth of repeated calculations. It's impossible to read, a nightmare to debug, and it forces Excel to calculate the same component multiple times, slowing your entire system to a crawl.

The Elixir: The LET function. This sublime piece of code allows you to declare variables—giving names to calculation results—inside your formula. You calculate something once, give it a name, and then use that name throughout the rest of the formula.

The Incantation:=LET(name1, name_value1, [name2, name_value2], calculation)

A Practical Example: Imagine you need to calculate a final price with tax, but only if the pre-tax price is over a certain threshold.

  • The Old Way (A Nested Mess):=IF((A2*B2)>100, (A2*B2)*1.1, (A2*B2)) Notice A2*B2 is repeated three times. Inefficient. Ghastly.
  • The LET Elixir:=LET(PreTax, A2*B2, IF(PreTax>100, PreTax*1.1, PreTax)) We calculate A2*B2once, name it PreTax, and then use our elegant variable. It's clean, efficient, and speaks the language of logic, not brute force.

💬 The Wordsmith's Weapon: TEXTJOIN()

The Affliction: You need to combine text from several cells. You're either clicking each cell and adding &" "& between them, or you're using CONCATENATE, which cruelly ignores your request for a separator and makes you add it manually between every. single. element.

The Elixir:TEXTJOIN. It joins text with a specified delimiter and, critically, has the intelligence to ignore empty cells if you tell it to.

The Incantation:=TEXTJOIN(delimiter, ignore_empty, text1, [text2], …)

A Practical Example: You want to create a full address string from separate cells, some of which might be empty (e.g., no "Apartment Number").

First Name

Last Name

Address

City

Jane

Doe

123 Main St

Neon City

  • The Old Way (Painful & Prone to Error):=A2&" "&B2&", "&C2&", "&D2
  • The TEXTJOIN Elixir:=TEXTJOIN(", ", TRUE, A2:D2) The result: Jane, Doe, 123 Main St, Neon City. It's a single, elegant command that gracefully handles the range and the separator.

💎 The Data Sieve: FILTER()

The Affliction: You need to pull a subset of data from a larger table based on a criterion. Your go-to is the clumsy, manual "Filter" button on the Data ribbon, which you have to re-apply every time something changes.

The Elixir: The FILTER function. This is a dynamic array function, meaning it "spills" the results into as many cells as needed. It returns an entire array of records that match your condition, and it updates live as your source data changes.

The Incantation:=FILTER(array, include, [if_empty])

A Practical Example: You have a table of sales data and you want to see all transactions from the "North" region.

  • The FILTER Elixir:=FILTER(SalesTable, SalesTable[Region]="North", "No Results") This single function will instantly create a new, live-updated table of all "North" region sales. No clicking, no manual refreshes. Just pure, dynamic results.

🔬 The VLOOKUP Slayer: XLOOKUP()

The Affliction:VLOOKUP. Need I say more? Its rigid structure, its inability to look to the left, its fragile reliance on a col_index_number that breaks the moment someone inserts a column. It is a relic of a darker age.

The Elixir:XLOOKUP. It is superior in every conceivable way. It's simpler, more flexible, and less prone to breaking. It can look in any direction and return entire rows or columns.

The Incantation:=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

A Practical Example: You need to find an employee's ID based on their name.

Name

Department

Employee ID

Jane Doe

Cybernetics

789

  • The VLOOKUP Nightmare: You can't do it if the Name column is to the right of the ID column without rearranging your data or using a convoluted INDEX/MATCH.
  • The XLOOKUP Elixir:=XLOOKUP("Jane Doe", B:B, C:C, "Not Found") It doesn't care about column order. It just works. It's what VLOOKUP always should have been. To continue using VLOOKUP is an act of willful ignorance.

🌌 The Master Key: LAMBDA()

The Affliction: You perform a specific, complex calculation so often you wish it was its own function. You've built a monstrosity using LET and other functions, and you copy-paste it everywhere, but you know there should be a better way.

The Elixir:LAMBDA. This, my dear glitches, is the master key. It allows you to take any formula you've built and turn it into your own, custom, reusable function, complete with parameters.

The Incantation: First, you define it: =LAMBDA(parameter1, calculation) Then, you give it a name using the Name Manager (Formulas > Name Manager).

A Practical Example: Let's say you frequently calculate a price with a variable tax rate and a discount.

  1. Create the LAMBDA:=LAMBDA(Price, TaxRate, Discount, (Price * (1-Discount)) * (1+TaxRate))
  2. Name It: Go to the Name Manager, create a new name called CALC.FINAL.PRICE, and paste the LAMBDA formula into the "Refers to" box.
  3. Use Your Custom Function: Now, in any cell, you can simply type: =CALC.FINAL.PRICE(100, 0.1, 0.05) You have transcended the built-in library. You have started writing your own spells.

Stop clinging to the past, darlings. Your digital world is overflowing with power and elegance, but it only reveals itself to those who seek it. Take these functions, burn them into your memory, and start automating the mundane so you can focus on the magnificent.