Explanation
XLOOKUP can handle arrays natively, which makes it a very useful function when constructing criteria based on multiple logical expressions.
In the example shown, we are looking for the order number of the first order to Chicago over $250. We are constructing a lookup array using the following expression and boolean logic:
(D5:D14="chicago")*(E5:E14>250)
When this expression is evaluated, we first get two arrays of TRUE FALSE values like this:
{FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE}
When the two arrays are multiplied by one another, the math operation results in a single array of 1's and 0's like this:
{0;0;0;0;0;0;0;1;0;0}
We now have the following formula, and you can see why we are using 1 for the lookup value:
=XLOOKUP(1,{0;0;0;0;0;0;0;1;0;0},B5:B14)
XLOOKUP matches the 1 in the 8th position and returns the corresponding 8th value from B5:B14, which is 0347.
With a single criteria
As seen above, math operations automatically coerce TRUE and FALSE values to 1's and 0's. Therefore, when using multiple expressions, a lookup value of 1 makes sense. In cases where you have only a single condition, say, "amount > 250", you can look for TRUE instead like this:
=XLOOKUP(TRUE,E5:E14>250,B5:B14)
Alternatively, you can force the TRUE FALSE values to 1's and 0's, and use 1 like this.
=XLOOKUP(1,--(E5:E14>250),B5:B14)