SOLVED

New Contributor

Question XLOOKUP finding the next match row if blank

Hi, Question:

I have a data set which using XLOOKUP returns an email address for a customer number.

ON the email data set, there are multiple emails for each customer number.

How can I return the next email address using XLOOKUP if there are blanks in this email set?

Any clues?!

9 Replies
best response confirmed by aussieC (New Contributor)
Solution

Re: Question XLOOKUP finding the next match row if blank

That could be like this

Re: Question XLOOKUP finding the next match row if blank

that's brilliant - thank you!

Re: Question XLOOKUP finding the next match row if blank

@aussieC , you are welcome

Re: Question XLOOKUP finding the next match row if blank

@Sergei Baklan thank you so much.  I have learned something new with this, brilliant!

Re: Question XLOOKUP finding the next match row if blank

Each of us learns something new on this resource, I'm not an exception. Anyway, glad to know it helped you, thanks for sharing.

Re: Question XLOOKUP finding the next match row if blank

A couple of thoughts.  An alternative to searching for concatenated conditions is to simply strike out the customers that do not have declared email from consideration.  If there isn't an entry with an email, you could always relent and use the 'if not found' parameter to repeat the search to return such data that may exist.

``````= XLOOKUP( @selected, IF(email<>"", customer), email:phone )
or
= XLOOKUP( @selected, IF(email<>"", customer), email:phone,
XLOOKUP( @selected, customer, email:phone ) )``````

Re: Question XLOOKUP finding the next match row if blank

Thanks @Peter Bartholomew - very helpful! Cheers

Re: Question XLOOKUP finding the next match row if blank

Thanks Sergei this has worked great for me also!

On the xlookup what does the &1 mean also &-- In the formula?

Cheers

Rich

Re: Question XLOOKUP finding the next match row if blank

Rich, glad to help.

Here (C2:C7<>"") returns an array with TRUE or FALSE. Double dash converts them to 1 or 0 accordingly, thus --(C2:C7<>"") returns an array with 1 for non-empty cells and 0 for empty ones.

By & we concatenate B2:B7 with this array (for example ="a" & "b" returns "ab"). Resulting array will be {"f11", "f2", "f21", "f3",...}.

=D3&1 returns text "f21". Finally we try to find this text in above array and return related value from C2:C7.