Learn how to construct a case-sensitive exact match by combining the XLOOKUP and EXACT functions.
The XLOOKUP function is not case-sensitive by default. We will use “Bob” as a lookup value in the example. XLOOKUP returns with “BOB,” which does not meet our criteria.

So, if you want to construct a case-sensitive lookup, you need to use a helper array with logical expression.
Workaround with case sensitive match (XLOOKUP & EXACT)
Before we take a deep dive, here is a piece of advice:
If you are working with complex formulas, it is worth following a simple rule: evaluate the formula from the inside out!
Formula:
=XLOOKUP(1, –EXACT(B3:B13, “Bob”), B3:H13)
The EXACT function returns an array that contains TRUE or FALSE values using our data set range B3:B13.

If the value is TRUE in the return array, we have the right position for the lookup value, “Bob”. In this example, it is row 13. Using the Boolean logic, we can construct an array that contains 0/1 values. To do that, use a double negative!
Apply two minuses (-) signs before start typing the EXACT function.
–EXACT(B3:B13, “Bob”)

The last record in the array = 1, where the name is “Bob”. From now, we can use the value as a first argument (lookup array) of the XLOOKUP function.
Based on the above mentioned logic, the simplified formula looks like:
=XLOOKUP(1, {0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1}, B3:B13)
Result:

Extract multiple records using FILTER function
What if you want to need multiple matches? Use the FILTER function to return the case and non-case-sensitive records.
