Function Problems

How to Use XLOOKUP to Look Up Multiple Items in One Excel Cell

Adam DavisAdam Davis Nov 10, 2026 868 views

Question details

The user needs to perform a lookup on a single cell that contains multiple text values (e.g., "Apples and Oranges") and return the corresponding results for each individual item.

How to Use XLOOKUP for Multiple Items in One Cell
Product
Excel
Device & OS
not provided
Scenario
Attempting to use XLOOKUP to find matches for a cell containing a delimited string of multiple items instead of a single lookup value.
Observed behavior
XLOOKUP searches for the exact full string by default and fails to match the individual items contained within the cell.
Before you start

Ensure you are using Microsoft 365 or a recent version of Excel (or WPS Office) that supports dynamic array functions like TEXTSPLIT and XLOOKUP. Check the delimiter used in your cell (e.g., a comma or the word 'and') so you can split the text accurately.

Solution 1Recommended

Combine TEXTSPLIT, XLOOKUP, and TEXTJOIN to Retrieve Multiple Results

This method splits the cell's contents into an array, looks up each item individually using XLOOKUP, and then joins the results back into a single cell.

Because XLOOKUP cannot inherently parse multiple items grouped in a single text string, you must first break the string into an array. TEXTSPLIT handles the separation, XLOOKUP fetches the corresponding values, and TEXTJOIN compiles the results cleanly.

1
Split the lookup text

Identify the delimiter in your cell (e.g., " and " or ", "). Use the TEXTSPLIT function to break the text into an array. For example: TEXTSPLIT(A2, " and ").

2
Apply the XLOOKUP function

Wrap the TEXTSPLIT formula inside XLOOKUP to find the matching values in your lookup array. Format: =XLOOKUP(TEXTSPLIT(A2," and "), D2:D10, E2:E10, "").

3
Combine the results into one cell

To prevent the results from spilling into adjacent cells, wrap the entire formula in TEXTJOIN. Final formula: =TEXTJOIN(", ", TRUE, XLOOKUP(TEXTSPLIT(A2, " and "), D2:D10, E2:E10, "")). Press Enter to apply.

Combine TEXTSPLIT, XLOOKUP, and TEXTJOIN to Retrieve Multiple Results
Dynamic Arrays: Because XLOOKUP inherently supports arrays, it automatically processes the array created by TEXTSPLIT without requiring you to press Ctrl+Shift+Enter.
Advanced Spreadsheets

Handle Dynamic Arrays Seamlessly with WPS Spreadsheet

WPS Office Spreadsheet fully supports advanced dynamic array functions like XLOOKUP and TEXTJOIN. It is a powerful, lightweight, and free alternative that handles complex data processing just like Microsoft Excel.

  1. 1. Open WPS Spreadsheet: Launch WPS Office and create or open your existing .xlsx workbook.
  2. 2. Enter the formula: Click on the target cell and type your combined =TEXTJOIN(", ", TRUE, XLOOKUP(...)) formula.
  3. 3. Press Enter to execute: Hit Enter, and WPS Spreadsheet will dynamically split the text, look up each value, and combine the results instantly.
Fully compatible with Microsoft Excel formulas and file formats (.xlsx).Supports modern array functions including XLOOKUP, TEXTSPLIT, and TEXTJOIN.Lightweight installation with a clean, tabbed interface.Free to download and use for your daily productivity needs.
microsoft office alternative - wps office

Frequently Asked Questions

Why is my XLOOKUP returning a #NAME? error?

The #NAME? error typically occurs if your version of Excel does not support XLOOKUP or TEXTSPLIT. You must be using Microsoft 365 or a newer version (like Excel 2021) that includes these modern dynamic array functions.

Can I use XLOOKUP with multiple delimiters, like both commas and spaces?

Yes, TEXTSPLIT allows you to specify multiple delimiters using an array constant. For example, =TEXTSPLIT(A2, {","," and "}) will split the text at either a comma or the word 'and', which XLOOKUP can then process.

What happens if one of the multiple items is not found by XLOOKUP?

You can use the fourth argument in XLOOKUP (the [if_not_found] argument) to handle missing items. For instance, =XLOOKUP(TEXTSPLIT(A2,", "), D2:D10, E2:E10, "Not Found") will return 'Not Found' for the specific item that isn't in the lookup array.

How do I prevent the XLOOKUP results from spilling into multiple columns?

When XLOOKUP receives an array of lookup values from TEXTSPLIT, it spills the results into adjacent cells by default. To prevent this, wrap the XLOOKUP function in a TEXTJOIN function to combine all matched results into a single cell.