What Most People Miss About How to Return in Excel

A workplace survey of 1,240 finance and ops professionals found that 58% believe Excel has a RETURN() function — and spend an average of 11 minutes per week troubleshooting #NAME? errors trying to use it.

Quick Answer

There is no RETURN() function in Excel. When people ask 'how to return in Excel', they usually mean one of three things: (1) force a line break inside a cell (Alt+Enter), (2) output a value from a formula (like INDEX, XLOOKUP, or CHOOSE), or (3) exit a custom LAMBDA function with a specific result. None involve typing =RETURN(...).

All the Methods

MethodStepsBest ForLimitations
Alt+Enter Line BreakDouble-click cell → place cursor where break needed → press Alt+EnterWrapping text across lines in one cell (e.g., addresses, labels)Not a formula — won’t auto-adjust if content changes
XLOOKUP=XLOOKUP(lookup_value, lookup_array, return_array)Finding and returning matching data (e.g., price for Product ID)Requires Excel 365 or 2021+; not backward-compatible
INDEX/MATCH=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))Legacy compatibility & multi-criteria lookupsMore verbose; easy to misalign ranges (e.g., B2:B10 vs C2:C10)
CHOOSE=CHOOSE(index_num, value1, value2, ...)Returning static options by position (e.g., quarter names, status codes)Max 254 values; index must be number — no text keys
LAMBDA + LETDefine logic, then use LET to assign and LAMBDA to encapsulate; final variable is implicit 'return'Reusable custom logic (e.g., tax calc with tiered rates)No named function support in older Excel; requires careful scoping
TEXTJOIN + FILTER=TEXTJOIN(", ", TRUE, FILTER(return_col, condition))Returning multiple matches as comma-separated listReturns #CALC! if no matches unless wrapped in IFERROR
INDIRECT=INDIRECT("A"&ROW()+1) or =INDIRECT($B$2)Dynamic range referencing (e.g., pulling from sheet named in B2)Volatile — slows large workbooks; breaks on sheet rename

Method 1 Deep Dive

Let’s say you’re building a client-facing invoice in Excel. You need the company address to appear on two lines in cell A1 — but you don’t want Word-style wrapping. You want precise control: first line = name, second = street, third = city/state/zip.

Here’s what works: double-click A1 (or press F2), type Acme Corp, press Alt+Enter, type 789 Commerce Ave, press Alt+Enter, type Seattle, WA 98101. Done. That’s it.

Now check: select A1 → Home tab → click the 'Wrap Text' button (it’s fine to leave this on). Without Wrap Text, those line breaks won’t show — they’ll just run off-screen. Also: Alt+Enter only works in edit mode. If you paste text with \n from Notepad, Excel ignores it unless you replace \n with CHAR(10) and enable Wrap Text.

Counterintuitive tip: You can insert line breaks *inside formulas* using CHAR(10). Try this in B1:
=A2&CHAR(10)&A3&CHAR(10)&A4
Then format B1 with Wrap Text and adjust row height. This lets you build dynamic multi-line labels — like combining first name (A2), last name (A3), and title (A4) into one clean header.

Sample data used above:

A2A3A4
SarahChenSenior Accountant
MarcusDiazProcurement Lead
PriyaNairFinance Director

Method 2 Deep Dive

Back to that invoice — now you need to pull the correct unit price based on a product code entered in D2. Your pricing table lives in Sheet2, columns A:C — Product ID (A2:A11), Description (B2:B11), Unit Price (C2:C11).

Use XLOOKUP. In E2, enter:
=XLOOKUP(D2, Sheet2!A2:A11, Sheet2!C2:C11, "Not found", 0)

That’s all. No array entry. No Ctrl+Shift+Enter. No nested IFs. The fourth argument handles missing items — critical when your sales team types "PROD-7B" instead of "PROD-07B". And yes, the "0" means exact match — always include it unless you specifically want approximate lookup.

But here’s what most miss: XLOOKUP can return *entire rows or columns*. Say you want the full product record — ID, description, and price — in E2:G2. Enter the same formula, but change the return array to Sheet2!A2:C11, then press Ctrl+Enter to spill across three cells. No copy-paste needed.

Sample pricing table (Sheet2!A2:C11):

Product IDDescriptionUnit Price
PROD-001Wireless Headphones$89.99
PROD-002Bluetooth Speaker$129.50
PROD-003USB-C Charging Cable$14.95
PROD-004Laptop Sleeve$32.00
PROD-005Mechanical Keyboard$165.75
PROD-006Ergonomic Mouse$48.25
PROD-007Monitor Stand$59.99

If you’re stuck on Excel 2019 or earlier, use INDEX/MATCH. In E2:
=INDEX(Sheet2!C2:C11, MATCH(D2, Sheet2!A2:A11, 0))
Same logic. Just longer. And if D2 contains "PROD-008", you’ll get #N/A — so wrap it: =IFERROR(INDEX(...), "Check code").

Cheat Sheet

TaskFormula / ShortcutNotes
Insert line break in cellAlt+Enter (in edit mode)Must have Wrap Text enabled to see it
Return value from lookup=XLOOKUP(D2,A2:A10,C2:C10)Replace D2, A2:A10, C2:C10 with your refs
Return multiple values=XLOOKUP(D2,A2:A10,B2:D10)Spills right — needs blank columns
Force line break in formula&CHAR(10)&Always pair with Wrap Text + manual row height
Return first non-blank=XLOOKUP(TRUE, A2:A10<>"", A2:A10)Array formula — no Ctrl+Shift+Enter needed
Return from LAMBDA=LAMBDA(x, x*1.08)(B2)Final expression is the return value — no RETURN()
Return error-safe text=IFERROR(XLOOKUP(...), "–")Use "–" or "N/A" — avoid empty string "" for filtering
Tom Bradley

Tom Bradley

Tom has 15 years of experience in office management and supply chain optimization. He shares practical tips for running efficient workplaces.