VLOOKUP the last value

Share

Facebook
Twitter
LinkedIn

VLOOKUP is one of the most useful Excel functions. So much so that I even wrote a book about it. But it has one serious limitation.

It looks up the first occurrence and returns corresponding data.

What if you want to find the last value?

Say, for example, you are looking at a task assignment list and want to know what is the last task assigned to employee Emp13?

vlookup-last-value

We want to extract the task “Make amazing workbook”. Of course our good old VLOOKUP stops once it finds Emp13 and returns the answer as “Create intuitive workbook”.

Let’s learn the formulas required to lookup last value.

VLOOKUP last value

Although I said VLOOKUP last value, we can’t use VLOOKUP formula to do this. Not unless we add a helper column to the original data (or come up with a long array formula version of VLOOKUP). So, instead we are going to use other Excel formulas to find the answer.

2 parts of the problem

There are 2 parts of the find last value problem.

  1. Find the position of last occurrence of given employee (for ex. Emp13’s position would be 5
  2. Return corresponding details (task description, due date or completion status)

Let’s attack each part.

1. Finding the last occurrence position

First take a look at the array formula.

=MAX(ROW(tasks[Employee])*(tasks[Employee]=lookup.value)) - ROW(tasks[[#Headers]])

Remember to press Ctrl+Shift+Enter after typing this.

This array formula returns the position of lookup.value in the list.

How does this formula work?

Let’s go inside out.

(tasks[Employee]=lookup.value) portion:

This will return a bunch of TRUE / FALSE values by checking each item of tasks[Employee] list against lookup.value.

For lookup.value=Emp13, we get below array:

{FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE; FALSE;FALSE;FALSE;FALSE;FALSE;FALSE; FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE; FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

ROW(tasks[Employee])  portion:

This will return a bunch of running numbers starting with row number of first item in the tasks[Employee] list.

For our data, we get this:

{5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34}

ROW(tasks[Employee])*(tasks[Employee]=lookup.value) portion:

This just multiplies the row number array with boolean values, returning an array with 0s for all row numbers except where we have lookup.value as Employee. For lookup.value=Emp13, we get this:

{0;0;0;8;9;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}

MAX (ROW(..) * (...)) portion:

This will tell us the maximum row number where lookup.value occurs in tasks[Employee] list.

So we get 9 as answer.

MAX (...) -  ROW(tasks[[#Headers]]) portion:

As our data doesn’t begin on row 1, we need to subtract the header row position from MAX(…) result. To get the header row number, we are using ROW(tasks[#Headers])

In the end we get the result as 5.

Let’s assume this result is in a cell named last.lookup

2. Return corresponding details

Now that we know the position of last lookup value, we can use INDEX formula to get corresponding details.

So to get the task description, we can use =INDEX(tasks[Task], last.lookup)

And to get the due date, we can use =INDEX(tasks[Due by date],last.lookup)

A twist – VLOOKUP latest value

Now, time for a twist. What if you want to find the latest value by looking at another column like Due by date. In other words, we want to find the latest task for Emp13.

That is your homework. Go ahead and figure out the formula. Once you have answer, post it in comments.

Download VLOOKUP last value example workbook

Please click here to download VLOOKUP last value example workbook. Examine the formulas to understand this technique.

PS: You can find one solution for this problem in downloadable workbook.

More creative ways to lookup your data

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

25 Responses to “Display Alerts in Dashboards to Grab User Attention [Quick Tip]”

  1. Alex Kerin says:

    I prefer the red,grey,light grey,black icon set. I've also used in-cell pie charts from Fabrice's Sparklines for Excel as an alert which could also provide another piece of information.

  2. Alex Kerin says:

    I prefer the red,grey,light grey,black icon set. I've also used in-cell pie charts from Fabrice's Sparklines for Excel as an alert which can also provide another piece of information.

    For Excel 2007, your formula should do the same as the Excel 2003 version, so that non-alert rows are blank - if they are 0, the unnecessary green icon will show

  3. Rohit1409 says:

    Hi Chandoo,

    Nice Post !! just to add something for EXL 2003, we can also 4 Ifs and link to the alert data

    For Ex: If we have alert data in Cell A2 and want to split in 4 orders namely <25%, 25-50%, 50-75% and 75%< then we can following formula and put fonts as you have suggested :

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    And then using Conditional Formating we can dashboard reflected on different COLOURS as per their respective alert.

    Best Regards
    Rohit1409

  4. Rohit1409 says:

    Hi Chandoo,

    Nice Post !!! just to add something for EXL 2003, we can also 4 Ifs and link to the alert data

    For Ex: If we have alert data in Cell A2 and want to split in 4 orders namely <25%, 25-50%, 50-75% and 75%< then we can following formula and put fonts as you have suggested :

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    And then using Conditional Formating we can dashboard reflected on different COLOURS as per their respective alert.

    Best Regards
    Rohit1409

  5. Rohit1409 says:

    The Complete formula [Don't Know how it got cut ]

    =IF(A2<0.25,CHAR(153),IF(A2<=0.5,CHAR(155),IF(A2=0.76,CHAR(152)))))

    PS : Use in single line [I have split it to avoid cuts 😉 ]

  6. Rohit1409 says:

    Hi Chandoo..

    why it is not displaying the complete formula..

    anyways here is the balance

    "=IF(A2<0.25,CHAR(153), IF(A2<=0.5,CHAR(155), IF(A2=0.76,CHAR(152)))))"

  7. Chandoo says:

    @Rohit... your formulas are fine. Just that the width of comment area is fixed and hence my website is cropping it at 640pixels. I just edited your formula and added few white spaces so that it wraps nicely.

    Very good idea btw.. kudos!

  8. Tom says:

    Hi,
    Maybe just go for 'bold' ; 'underline' or 'italic' to draw the users attention? Those methods (if those can be called methods) are used cross media type (books, journals, blogs, billboards, ...) to guide the readers eye to valuable information.
    Just a basic thought

  9. Chandoo says:

    @Tom.. good idea..

  10. [...] has a very nice writeup on how to add such alerts to dashboard sheets. Possibly related posts: (automatically generated)Divide your data set into workbooksHow to enforce [...]

  11. Ramesh Panakkal says:

    Hi Chandoo,

    You certainly grabbed my attention! although I wasn't sure what my brother (Suresh) and cousin (Shyam) were doing right, and I was doing wrong? 😉

    I love your blog btw - Many thanks for all your hard work in unravelling the secrets and mysteries of Excel!

    Best regards
    Ramesh

  12. Jeff Whitesel says:

    I thought I saw an advertisment for a book about learning excel called excel himalaya or something. It cost about 35.00 us money but seemed to have the things I need to have my admin assistant to start to use. I was hoping to start with this book and then send her to school if she shows some interest and aptitude. Any help on this would be appreciated. Thanks

    Great web site and information!!!!

  13. [...] There are lots of numbers in this dashboard. I would suggest adding few more visualizations like showing indicators or applying conditional formatting or replacing a table with a chart. This would reduce the [...]

  14. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  15. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  16. RROBBITT says:

    Hi Chandoo
    Firstly thanks for all the cool tips on how to use Excel better.

    I am new to the site and have a question which you may be able to assist with but dont know if these comment boxes are the best way of asking ?

    I am looking at assets and trying to calculate the depreciation total by taking a year (say 2010) adding the expected life of the asset (say 10 years) then comparing that to a future date (say 2015) using an IF statement. The calculation in normal is - IF((year in col B (2010) plus 10years)>year 2015, add a years depreciation, otherwise leave blank). The converted date value does not appear able to add 10 years in order to compare it to 2015. Am I missing something ?

  17. Rocky says:

    I use the “IF” Statement in conjunction with Conditional Formatting in MS Excel to give verbiage to alert one of a required action, dependant on a review date. This makes a visual stimulus, plus it clues one as to what the conditional format is trying to warn you about and what follow-up actions are required.

  18. Wow, I'm really impressed with dashboards. I had no idea this stuff was even possible with excel. I'd like to offer an interactive dashboard to my customers, showing analytics of their data. I have a .pdf file with the datapoints. I'd like them to enter the data on my website, and be able to see their data. Is something like that possible.

  19. Adam G says:

    Hi Chandoo,

    I've recently purchased the package for both templates.

    In the portfolio dashboard,under the calculations worksheet, I'm attempting to change the date range in the gantt chart to show only the range of the project that starts in late 2013.  How do I do this?

    Thanks
    Adam 

  20. [...] is the same technique as alert icons in dashboard. Just that I also showed green [...]

  21. Bianca says:

    Hi Chandoo,
    I'm new at Excel Dashboard and found your blog really useful and helpful! It's very nice of you that you dedicate your time to do this.
    Could you please explain how can I use Alerts based on dates on a Dashboar?
    For example, if a target date is coming closer to the actual date, the alert is yellow or red.
    I'd really appreciate some help!
    Thank you

  22. Marco says:

    Where can I download the file Excel of Averall Statistics ???
    Thanks a lot.

Leave a Reply