Situation
We know that VLOOKUP formula is useful to fetch the first matching item from a list. So what would you do if you need 2nd (or 3rd etc.) matching item from a list?
For eg. If you have below data, and you want to find out how much sales John made 2nd time, then VLOOKUP formula becomes quite useless. Or is it?!?
Data:

Solution
A simple solution to this problem would be sorting our data on sales person’s name. That way all Johns would line up one beneath another. And we just have to find the first John’s position and add 1 to it to get to 2nd occurrence. Like this =MATCH("John", C5:C17, 0) + 1
But sorting is not an option all the time. So there should be a better way to do this?
Well, there is. We just add a helper column before the sales person name and fill it with sales-person’s name & occurrence. (see the below data table).
For this we can use COUNTIF() Formula, like this: =C5&COUNTIF($C$5:C5,C5). Notice the $C$5:C5?, well the mix of absolute & relative references does the trick here and gets John1, John2… etc.
Now, to lookup 2nd occurance of John, all we do is, simply write =VLOOKUP("John2",...) and we are done.

Sample File
Download Example File – Getting the 2nd matching item from a list using VLOOKUP formula
The file includes few examples on how to fetch 2nd, 3rd etc. matches using lookup formulas. It also has some interesting (and challenging) home work for you. Download & play with it.















8 Responses to “What is LAMBDA? 4 Practical examples to REALLY understand it”
Thanks so much for this, it's utterly brilliant!
Silly question - I assume LAMDA will work with dynamic arrays?
Very much so. Many of the new functions like MAP only make sense in the context of dynamic arrays and Lambda functions.
As usual, very informative material. Easy to understand and apply!
Thanks for making everyone awesome!
Easy to understand Lambda function through this tutorial. Thanks Chandoo.
I have Officce 365 (updated), but I can't see LAMBDA function. 🙁
I dont see "Office Insider" option in my excel 365.
Another option for First Monday...
=LAMBDA(anydate,WORKDAY.INTL(EOMONTH(anydate,-1),1,"0111111"))
Loving the binary options in WORKDAY.INTL David...