Excel Formulas for Matching Partial Text with Wildcard Characters

📅 Aug 20, 2026 📝 Sarah Miller

Reconciling inconsistent data in Excel often frustrates analysts who require precise reporting but face messy, partial text entries. While standard exact-match functions like VLOOKUP serve as traditional data-retrieval foundations, they fail when faced with incomplete strings. Integrating wildcard characters into your formulas grants unparalleled flexibility, bypassing rigid formatting constraints. As an important stipulation, however, wildcards natively require text-formatted fields to function. For example, deploying =XLOOKUP("*Widget*", A:A, B:B, , 2) successfully matches "Widget Corp" and "Deluxe Widget." Below, we will demonstrate how to construct these partial-match formulas to elevate your data reconciliation workflow.

Excel Formulas for Matching Partial Text with Wildcard Characters

Excel Formula to Match Partial Text Using Wildcard Characters

In the real world, data is rarely pristine. You might import a list of client names where one sheet lists "Microsoft" and another lists "Microsoft Corp." or "Microsoft Corporation." If you attempt a standard exact-match lookup in Excel under these conditions, your formulas will return frustrating #N/A errors. This is where partial text matching becomes an indispensable skill.

By leveraging Excel's wildcard characters, you can instruct your formulas to search for patterns rather than exact matches. This guide will walk you through the logic of wildcard characters and demonstrate how to integrate them into Excel's most powerful lookup and analysis formulas.

Understanding Excel's Wildcard Characters

Before writing formulas, you must understand the three wildcard characters available in Excel. These special characters act as placeholders in your text search criteria:

Wildcard What It Represents Example Match
Asterisk (*) Any number of characters (zero or more). *east* matches "Northeast", "Eastern", and "Southeast region".
Question Mark (?) Exactly one single character. sm?th matches "smith" or "smyth", but not "smooth".
Tilde (~) Escapes a wildcard character, allowing you to search for literal asterisks, question marks, or tildes. what~? matches "what?".

1. Partial Matching with VLOOKUP

The VLOOKUP function is the classic choice for data extraction. To use wildcards with VLOOKUP, you must concatenate the asterisks to your lookup value using the ampersand (&) operator. This allows you to dynamicize the search term based on a cell reference.

The Formula Syntax

=VLOOKUP("*" & lookup_value & "*", table_array, col_index_num, FALSE)

Step-by-Step Example

Imagine you have a list of transaction descriptions in column A (e.g., "TXN-9482-AMAZON") and you want to look up the department in a table where "Amazon" maps to "Office Supplies".

If your search term "Amazon" is in cell D2, and your lookup table is in range A2:B10, your formula will be:

=VLOOKUP("*" & D2 & "*", $A$2:$B$10, 2, FALSE)

How it works: The expression "*" & D2 & "*" evaluates to "*Amazon*". Excel searches down the first column of your table array until it finds a value that contains the word "Amazon" anywhere within its text string. It then returns the corresponding value from the second column.

2. Modern Partial Matching with XLOOKUP

If you are using Excel 365 or Excel 2021, the modern XLOOKUP function is a far more robust alternative to VLOOKUP. By default, XLOOKUP performs an exact match, but you can explicitly enable wildcard matching via its fifth argument (match_mode).

The Formula Syntax

=XLOOKUP("*" & lookup_value & "*", lookup_array, return_array, [if_not_found], 2)

Notice the number 2 in the fifth argument. This tells XLOOKUP to interpret wildcard characters in your search parameter.

Practical Application

Suppose you have partial serial numbers in column D, and you want to match them to a full master database of inventory parts in column A, returning the warehouse location in column B.

=XLOOKUP("*" & D2 & "*", $A$2:$A$100, $B$2:$B$100, "Not Found", 2)

Why XLOOKUP is superior: Unlike VLOOKUP, XLOOKUP does not require your return column to be to the right of your lookup column. It can look to the left, gracefully handles errors via the fourth argument (returning "Not Found" instead of #N/A), and defaults to exact matching when wildcards are not specified.

3. Flexible Lookups with INDEX & MATCH

For legacy versions of Excel where XLOOKUP isn't available, the INDEX and MATCH combo is the industry standard for advanced, flexible lookups. Like VLOOKUP, the MATCH function natively supports wildcards when its third argument (match_type) is set to 0 (exact match).

The Formula Syntax

=INDEX(return_range, MATCH("*" & lookup_value & "*", lookup_range, 0))

Why Use INDEX/MATCH for Wildcards?

If your database structure changes and you insert columns between your lookup and return ranges, a VLOOKUP formula will break or return incorrect data because its column index is hardcoded. An INDEX and MATCH formula is fully dynamic; it tracks column movements automatically while effortlessly executing your wildcard searches.

4. Counting and Summing with Partial Criteria

Wildcards are not restricted to lookup functions. They are equally powerful when summarizing data using conditional logic functions like COUNTIF, SUMIF, and AVERAGEIF.

Using COUNTIF to Track Substrings

If you want to count how many orders in a list came from a specific company branch, and the branch location is embedded in the transaction ID (e.g., "ORD-TX-993", "ORD-NY-120"), you can run a quick count:

=COUNTIF(A2:A50, "*-TX-*")

This counts every cell in range A2:A50 that contains "-TX-" flanked by any characters on either side.

Using SUMIF to Aggregate Partial Matches

To sum the sales revenues associated with all products classified under "Electronics" when the product names are written as "Electronics - Phones", "Electronics - TVs", etc.:

=SUMIF(A2:A100, "Electronics*", B2:B100)

This formula checks range A2:A100 for any text starting with "Electronics", and sums the corresponding values in column B.

5. Advanced Boolean Matching: ISNUMBER & SEARCH

Sometimes you don't want to return a value from another column, but simply check if a cell contains a specific substring. You can achieve this using the SEARCH and ISNUMBER functions in tandem.

The SEARCH function returns the starting character position of a substring within a larger string (and is case-insensitive). If the text isn't found, it returns a #VALUE! error. Wrapping this in ISNUMBER converts the result into a clean TRUE or FALSE.

The Formula Syntax

=ISNUMBER(SEARCH(substring, text))

Why This is Useful

  • Conditional Formatting: You can apply this formula as a custom rule to highlight rows containing specific keywords (e.g., highlighting all rows containing "Urgent" anywhere in a notes column).
  • Nested IF Statements: You can place this logical test inside an IF function:
    =IF(ISNUMBER(SEARCH("Refund", A2)), "Debit", "Credit")

Important Pitfalls and Best Practices

While wildcards are incredibly powerful, they can lead to unexpected results if not used carefully:

  • Case Sensitivity: Excel's lookup functions (VLOOKUP, XLOOKUP, MATCH) and math criteria functions (COUNTIF, SUMIF) are inherently case-insensitive. Searching for "*apple*" will match "APPLE", "Apple", and "aPpLe". If you require a case-sensitive partial match, you must use a formula combining FIND with INDEX/MATCH.
  • Order of Precedence: When performing a partial match search, Excel stops at the first match it encounters. If your range has both "Microsoft Corporate" and "Microsoft Support", searching for "*Microsoft*" will always return the data for whichever entry appears first in your list. Sort your data strategically if this presents an issue.
  • Literal Wildcard Searches: If you are looking up values that naturally contain asterisks or question marks (such as product models like "Model*X"), you must precede the wildcard with a tilde (~) in your lookup value so Excel treats it as text rather than a operator instruction.

Conclusion

Mastering partial text matching with wildcards elevates your capacity to handle real-world, unorganized datasets. Whether you are patching database inconsistencies using a wildcard-enabled XLOOKUP, grouping categories with SUMIF, or applying conditional formats with ISNUMBER(SEARCH), these formulas save hours of manual data alignment and data cleaning.

Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.