Comments on: How to Vlookup multiple values in Excel with criteria

When using Microsoft Excel for data analysis, you may often find yourself in situations when you need to get all matches based on a specific id, name, email address or some other unique identifier. An immediate solution that comes to mind is using the Excel VLOOKUP function, but the problem is that it can only return a single match. Continue reading

Comments page 3. Total comments: 342

  1. Hi, Thanks for helping and passing on your knowledge. Based on the example given on the page it relates to a problem I am trying to resolve in Excel. Could you explain the calculation that would create a list of all the sellers that had sold Bananas as an example, many thanks for any assistance.

    1. Hi Chris,

      The formula is very similar to the one discussed in the first example. You just swap the lookup and return ranges:

      =IFERROR(INDEX($A$3:$A$13,SMALL(IF(D$2=$B$3:$B$13,ROW($B$3:$B$13)- MIN(ROW($B$3:$B$13))+1,""), ROW()-2)),"")

      Where:

      D$2 - lookup value (bananas)
      $A$3:$A$13 - return range (seller names)
      $B$3:$B$13 - lookup range (products)

  2. Hi, how can I get/find the number in column B from the given set of numbers in column A .
    Below is the small example of the numbers. Thank you.
    A B
    223 301
    224 304
    304 307
    310 310
    311 320
    312
    317
    318
    320
    321

      1. this formula doesn't work. it show nothing. please help me. below is my data.

        DATA
        Date Time
        01/06/2021 8:01:39
        01/06/2021 12:30:42
        01/06/2021 13:29:47
        01/06/2021 22:00:49
        02/06/2021 8:00:24
        02/06/2021 12:31:21
        02/06/2021 13:29:59
        02/06/2021 19:30:22
        03/06/2021 8:01:40
        03/06/2021 12:30:07
        03/06/2021 13:30:52
        03/06/2021 19:30:24
        04/06/2021 7:56:08
        04/06/2021 12:30:04
        04/06/2021 13:30:13
        04/06/2021 19:30:25
        08/06/2021 7:54:51
        08/06/2021 13:28:26
        08/06/2021 19:30:12
        09/06/2021 7:52:59
        09/06/2021 12:34:43
        09/06/2021 13:26:36
        09/06/2021 17:28:22
        09/06/2021 20:00:38
        11/06/2021 7:58:38
        11/06/2021 13:28:32
        11/06/2021 19:30:41
        12/06/2021 7:55:55
        12/06/2021 12:31:20
        12/06/2021 13:28:27
        12/06/2021 19:30:38

        OUTPUT
        DATE TIME1 TIME2 TIME3 TIME4 TIME5 TIME6
        01/06/2021 8:30:55 12:32:18 13:53:43 21:31:36
        02/06/2021 7:30:53 12:31:48 13:42:48 13:17:01 19:31:50 20:32:07
        03/06/2021 7:31:51 12:30:27 13:40:55 20:32:33
        04/06/2021 7:30:04 12:31:22 13:23:16 20:30:25
        05/06/2021
        06/06/2021
        07/06/2021
        08/06/2021 7:22:48 12:43:30 13:28:04 20:30:55
        09/06/2021 7:43:20 12:30:02 13:40:55 20:31:15
        10/06/2021 7:37:03 12:33:04 14:33:19 20:30:21
        11/06/2021 7:41:30 12:35:39 14:13:33 20:31:19
        12/06/2021 7:30:08 12:31:05 13:15:40 20:01:44

  3. Hi, I am trying to do a formula like this in a spreadsheet where I utilize multiple tabs to look up some info and yield multiple results in consecutive rows that fir the criteria. The primary tab that these lookup formulas would be in is called the Vacation Chart tab. in cell A8 of that tab would be a dropdown menu consisting of departments. Cell B8 would also be a dropdown menu conisting of shift codes. There are 3 columns I would be working with on this tab that I would want to yield multiple info from the lookups to other tabs: A11:A42 would list every employee number that matches the criteria in A8 and B8. B11:B42 would list names.

    The employee numbers can be found in a tab called New bid in A5 and onward, Names can be found in B5 and onward in the same tab. Additionally, The Dept codes assigned to those employees are contained in G5 and onward and the shift codes are in I5 and onward.

    So I want to be able to find for example a list of all the employees who are in a dept code called C61C with a shift code of 3.

    How could I do this?

    1. Hello!
      The examples in this article explain how to VLOOKUP multiple values with one or more criteria. Please check them out.

  4. Hi,

    Thanks for the clear explanation of these formula's!

    I got only a thing I trying to add to the formula, but I'm can't get it how I want it.

    If, for example, Adam sells two times banana's and one time apple, Banana's will stand two times in the data.
    And the result of the formula will be:

    Adam l Banana l Apple l Banana l

    But the result I want is that the duplicates are not showed.
    I know it is possible to remove duplicates with the remove duplicated button, but I was wondering if it's also possible within the formula.

  5. how can i add AND formula inside this
    IFERROR(INDEX(return_range, SMALL(IF(lookup_value = lookup_range , ROW(lookup_range) - MIN(ROW(lookup_range ))+1,""), ROW() - n)),"")
    like example
    C1 | F | D
    A1| B | C
    A2 | D | D
    B1 | E | C
    A3 | B |E
    A4 | B | D

    IFERROR(INDEX(A1:A6, SMALL(IF(AND(B = B1:B6,D= C1:C6), ROW(A1:A6)- MIN(ROW(A1:A6 ))+1,""), ROW() - n)),"")
    the result will show the A1| B | C
    that D = C1:C6 will take the data from the 1st line, not same line with B=B1:B6
    how can i solve it?

    1. Hello!
      If I understand your task correctly, the following formula should work for you:

      {=IFERROR(INDEX($A$1:$A$6,SMALL(IF(IF(($B$1:$B$6="B")*($C$1:$C$6="D")=1,TRUE),ROW($A$1:$A$6)- MIN(ROW($A$1:$A$6))+1,""), ROW()-1)),"")}

      This is the formula for cell E2.
      The AND and OR operators do not work with arrays.

  6. I'm getting #NUM error on the first compact formular (I took out the IFERROR statment to find out why it wasn't working):-

    =IFERROR(INDEX($B$3:$B$13, SMALL(IF(D$2=$A$3:$A$13, ROW($B$3:$B$13)-2,""), ROW()-2)),"")

    - any ideas on what the problem could be please?

    1. Hello!
      Unfortunately, without seeing your data it is difficult to give you any advice. I think the expression ROW()-2 gives a result less than 1.
      Check out the.

  7. I used the formulas mentioned on a second worksheet (to pull data from the first). The results step down a row with each new column. I didn't see anyone else with the same problem in the comments. Did I miss a step? I would like to send you my spreadsheet or screen share to show you the problem.

    1. Hello!
      Send us a small sample workbook with the source data and expected result to support@ablebits.com. Please shorten your tables to 10-20 rows/columns and include the link to your blog comment.

      We'll look into your task and try to help.

      1. I'm having the same issue the results step down a row.

        Did you figured out the issue?

        P.S. I like so much your very detailed posts for most issues i ever had

    2. Also, if i increase n by 1 for each new column it produces the correct result. Trying to understand why this works and find a solution to prevent having to change this value in multiple cells.

  8. Hi,
    Thanks for the formula, it has been really useful! I have a slightly complicated question related to it:

    I have an class attendance spreadsheet that is linked to another master workbook (of all students in the university). I have used formula 2 from above to get the names based on their class and year. So far the formula works great and does what I need it to.

    I then have an area where I mark down Y/N depending on the students' attendance. This works well too. My issue arises when a new student is added to the master spreadsheet. This addition is alphabetical. The formula therefore places the new student alphabetically in the list in my class attendance sheet. This means that if I have already marked a student present, but a new student joins the class late, the attendance will not necessarily reflect the correct student.

    Is there a way to ensure the students attendance stays linked to the students name?

    If needed I can send through my sheets to make it clearer!

    Thanks!

    1. Hello!
      I don't know which of the many formulas above you used. But to solve the problem of adding new students, I recommend converting your original data to an Excel table or using a dynamic named range.
      If you describe in detail the initial data, the desired result and your formula, I will try to give you a more accurate advice.

  9. Thank you so much. I had been trying to figure this out and I think I can do it now.

  10. Once entered the value in a cell in Excel , how to protect that particular row i.e) for ex once entered the value in a cell F4, how to protect that the row No.4 or protect A4 : F4

  11. Hi,
    I am using Formula 2, and it is great!!!
    How would I be able to search multiple worksheets for D3?
    Thank you for the wonderful work that you do!
    George

  12. Hi there I'd like to find

    I have a list of sizes S,M,L and widths S=50 M =100 and L=200

    I would like to test my width is greater than sizes and return options available for example

    width of 30 would return S,M,L
    width of 90 would return M,L
    width of 190 would return M,L
    width larger would return "message"

  13. Hello, I don't have further questions. I just want to thank you for putting this together. I learnt heaps! Emma

  14. Good day,
    I am facing difficulty on the following: I have table with sales values and customer names (one column each). On the sales column, there are values that are duplicate, and they belong to different customers. I am trying to pinpoint the top 10 of those and lookup the top 10 customers, but i get the same customer name, when it comes to duplicate values.
    Can you please assist me on this matter?

    Thank you

    1. Hello!
      Your question is too complicated and it will not work to explain it on the blog.
      Could you please describe your task in more detail and send us a small sample workbook with the source data and expected result to support@ablebits.com? Please shorten your tables to 10-20 rows/columns and include the link to your blog comment.

      We'll look into your task and try to help.

    2. One simple way :

      1. In the Costumer column apply Advanced Filter,check "Copy to another Location", check "Unique records Only".

      2. In a column next to the new Unique Customer column, put a column with a heading like Sum_of_sales,in the cells below, the formula: =SUMIF(costumer_range,J2,sales_range). Drag to the rest of Sum_of_sales column.

      3. Apply Autofilter to the resulting range(consisting of the 2 new columns), then filter the sum_of_sales column,sorting it in descending order.

  15. This is a solution involving vba.

    1. Name the range where the countries, and only the countries, are located as "Countries"( as global name). Do not include headings.

    2. Press ALT+F11 to open the VBA editor

    3. In the menu choose Insert ->Module

    4. Paste this code in the resultant window

    Public Function CollabCountries(strCountry As String) As String
    Dim rCountries As Range, cell As Range, dCollab As Object, _
    tmp As String, rRow As Range, IsInRow As Boolean, k, _
    result As String
    Set rCountries = ThisWorkbook.Names("Countries").RefersToRange
    Set dCollab = CreateObject("scripting.dictionary")
    For Each rRow In rCountries.Rows
    IsInRow = False
    For Each cell In rRow.Cells
    If cell.Value = strCountry Then IsInRow = True: Exit For
    Next cell
    If IsInRow Then
    For Each cell In rRow.Cells
    If cell.Value strCountry And _
    Len(cell.Value) > 0 Then _
    dCollab(cell.Value) = dCollab(cell.Value) + 1
    Next cell
    End If
    Next rRow
    For Each k In dCollab.keys
    If dCollab(k) > 0 Then
    result = result & k & "(" & dCollab(k) & ")"
    End If
    Next k
    CollabCountries = result
    End Function

    5. Next to each cell in a range containing th countries names , put the formula CollabCountries(cellAdress). For instance, if the the name USA is in cell B9,cell C9 will contain CollabCountries(B9), showing the countries collaborating with USA in common proyects. Then drag to the rest of countries.

    1. That was in response to Linda´s comment(# 56),above
      I did a mistake locating my message

      Forgot to say:
      6. Save the excel workbook with the .xslm extension

      The above code is not showing correctly in the line where appears the following:
      If cell.Value strCountry And _
      Len(cell.Value) > 0 Then _

      it should be:
      If Not (cell.Value = strCountry) And _
      Len(cell.Value) > 0 Then _

      I guess the message viewer has some issues with the vba not equal operator

      1. Pardon me, is xlsm extension

  16. Sorry, sent before finishing, the full question is:
    I feel like I could use something similar for my dataset, but cannot figure out how to adopt it. My data are like this:
    Coutry1 Country2 Country3 Country4
    Italy France USA
    Germany
    USA Singapore China Nigeria
    USA France
    Each row is a project - some of them are one-country and some are international collaborations with differing number of countries. I would need to find and count which other countries each country has collaborated with (and ideally also how many times).

    In this example the desired end output would be:
    USA: Italy(1)France(2)Singapore(1) China(1) Nigeria(1)
    France: Italy(1), USA(2) and so on.

    Any help would be appreciated!

    1. make copy of heading "contry 1,2,3,4" on same sheet or another or other excel then use =countif(country 1 full column, first row enter

  17. I feel like I could use someting similar for my dataset, but cannot figure out how to adopt it. My data are like this:
    Coutry1 Country2 Country3 Country4
    Italy France
    Germany

  18. Amazing tip, I've used this multiple times now!
    Every so often I do appear to stumble with a strange error, when applying this formula (adjusted to the specific data table and return spreadsheet) sometimes the formula appears to "skip" 1 or 2 lines of data.

    (using this example to explain the error:)
    ADAM sells bananas, oranges and lemons -> sometimes my formula would only show Bananas, empty line and lemons.

    Any idea why?

    1. Hello Bruno!
      I’m sorry but your task is not entirely clear to me. For me to be able to help you better, please describe your task in more detail. Please specify what you were trying to find, what formula you used. Give an example of the source data and the expected result.
      It’ll help me understand it better and find a solution for you. Thank you.

  19. Hi there, I'm wondering if you might be able to help.
    I have found this vlookup article and your "How to get a list of unique and distinct values" extremely helpful. What I am trying to do now is understand how I can blend them together.
    I am trying to use the Formula 1 :
    =IFERROR(INDEX($B$3:$B$13,SMALL(IF(D$2=$A$3:$A$13,ROW($A$3:$A$13)- MIN(ROW($A$3:$A$13))+1,""), ROW()-2)),"")
    As it is if there were two lines that listed Adam and Lemons the result column would list lemons twice.
    I am thinking adding in a match function is the way to go but so far I've been unsuccessful in figuring out where to inset it.

    Thanks in advance for your assistance and thanks again for providing such great content.
    Patrick

  20. This problem is difficult to explain, but I will try. I’m creating a database to keep track of stock option spread trades that have numerous legs. Some of the trades are simple and only having two legs, with one position being long, and the other being short. But, some of the trades have 8-10 legs, and this creates a problem in calculating the value of each leg. For this example, lets open a credit spread trade and go long an option, and go short an option. This is trade number 500 and each leg is recorded on a separate row. I want to invest $1000 per leg, so we need to take the ABS difference of the two fill prices and divide it $1000. This will tell us the quantity purchased. Eventually, we’ll close the short leg, and open a new short leg. And each time, we need to calculate a quantity by performing the above calculation with the long leg. This cycle of closing the short leg and opening a new short leg can continue until the long leg is finally closed, which ends the trade. So, let’s say we have 8-legs in this trade, the first row contains the long leg, and the 7 rows below contain the short legs. Each row has an ID of 500 to identify all 8-rows as trade number 500. Each time a short leg is closed, and a new short leg is opened, we need to scan the table for ID 500, then scan those rows to find the long leg. We then need to go over 5 columns to locate the long leg fill price to use in the new quantity calculation. Hope all that makes sense! Thanks, Jeff

    1. Hello Jeff!
      I am not a stock specialist. Therefore, it is difficult for me to understand the algorithm of your work. Could you send us a small sample workbook with the source data and expected result to support@ablebits.com? Please shorten your tables to 20-30 rows/columns and include the link to your blog comment.

      We'll look into your task and try to help.

  21. Thanks for your reply Alex!
    I am using your first example "Formula 1".
    =IFERROR(INDEX($B$3:$B$13, SMALL(IF(D$2=$A$3:$A$13, ROW($B$3:$B$13)-2,""), ROW()-2)),"")

    I'll use your example except rather than seller names and product names,
    its all percentages. And I have 5 columns with different percentages.
    example:

    LOOKUP TABLE
    A B C D E
    9% | 10% | 4% | 2% | 36%
    9% | 10% | 4% | 2% | 36%
    9% | 12% | 4% | 2% | 36%
    9% | 12% | 4% | 2% | 36%
    9% | 10% | 4% | 5% | 36%
    9% | 10% | 4% | 5% | 36%
    9% | 10% | 4% | 5% | 36%
    9% | 10% | 4% | 6% | 36%
    9% | 10% | 4% | 6% | 36%

    Let's say I need to know the most common "%" values WITH the 9% from column A
    in the D Column. The most common to the least common.

    RESULT
    2% |
    5% |
    6% |

    The only problem is I have more than 2000 rows

    I am using a formula to get the most common values in column A
    =MODE(IF(1-ISNUMBER(MATCH($A$2:$A$2000,$K$1:K2,0)),$A$2:$A$2000))

    But from there, I have no idea how to extract the most common to least common
    values in column D with the 9% value in Column A

    I hope this is clear enough for you? :/

    Thanks for the help Alex!

    1. Thank you for the clarification, Luc.

      Please select the vertical range of 5-10 cells so that there are all the repeating values there. Then enter the following formula right in the formula bar:

      =MODE.MULT((D1:D2000) * ((A1:A2000)=0.09))

      Since this is an array formula, hit CTRL+SHIFT+ENTER to apply it. You'll see all the most common values with 9% in column D. The rest of the cells will be filled with N/A.

      I hope this will help, otherwise please do not hesitate to contact me anytime.

      1. Hi Alex!
        I've extracted only the 9% so it would be easier to sort the D column.
        I tried your formula and strangely its giving me the most common value(4%) but denying the rest. Lets say the 0% would be the 2nd but instead its 4% for all of them.
        I have noticed when the 4% and the 0% had the same amount of occurrence, the result was 1st(4%) 2nd(0%) and #N/A for the rest.
        Not sure whats going on. Do you have any idea what I'm missing??

        Thanks for the formula and your help!

        1. Hi Luc!
          Please note if there is the same number of values (for example, 0 and 4), the first in the list will be the one which is closer to the top of the column. Besides, the range where you insert an array formula should be big enough and contain a sufficient number of empty cells. Otherwise, the data won’t be shown in full. I have double-checked in my table and haven’t found any error. If my advice doesn’t help, please send a sample table of your data (no less 40 rows) along with the description of the expected result to support@ablebits.com. I will try to help you better.

  22. Hi! I was wondering if we could add the MODE function to this formula!?
    So it would place the 4 most common values.
    I just can't figure out how to add it :(

    Would this be possible?
    Thanks in advance for any help you can give me :)

    1. Hello Luc!
      For me to be able to help you better, please specify which formula you mean and describe the problem in more detail. Thank you.

      1. Hello Alex! I thought I replied with the reply button but it seems like i didn't.
        my response is the next comment! Sorry ;)

  23. Hi
    Please help me to get the formula for the below scenario.
    In sheet 1, A column have few name list like below
    vijay
    Murali
    Nandha
    karthi
    In sheet 2,A column have few names with extra letter like below
    Vijay_grp1
    britto
    Murali_kronos
    Sundar
    Karthi_abcd

    So the question is, what is Vlookup formula to find the values from sheet 1 vs sheet 2.
    I like to know the Vlookup formula to put it from sheet 1 to sheet 2 to find the same name in the sheet to. Please help me to solve it.

    1. Hello Vijay,
      You'll need th INDEX+MATCH combination for this task. Supposing that column A contains names, column with names with extra letter is column E and the lookup column is F, the formula would be:
      =INDEX($F$1:$F$5, MATCH(A1, LEFT($E$1:$E$5, LEN(A1)), 0))

      Please check out this article, I beloeve you'll find this information helpful

  24. Hi, I am trying to lookup your first example to populate values under different names but it seems to be that it reduces the value it pulls when the formula is dragged to other columns
    This is the formula I am using
    =IFERROR(INDEX(Sheet3!$I$2:$I$1298,SMALL(IF(Sheet2!U$3=Sheet3!$H$2:$H$1298,ROW(Sheet3!$I$2:$I$1298)-2,""),ROW()-2)),"")

    Please advise

  25. I have use same table and formula howecer it is not working properly. the result is "0"
    i have tried many time but it not working

  26. Hi Svetlana. First, thanks for these tutorials; I've learned a lot from them.
    I've perfected the formula in Formula 3. Vlookup multiple matches based on multiple conditions, but I have a twist - how do I get the formula to work if there's only one criteria entered? That is, I want to use the same formula if possible, but have it return results even if only one of the requirements is entered (i.e.either seller or month, but not both)?

  27. Can we get a formula 2.5 for "Vlookup multiple matches and return results in multiple rows"? Is this possible

  28. Hello. I am trying to use this formula with wildcards on the lookup values so that partial matches are printed out. I am using the following formula:
    =IFERROR(INDEX($C$3:$C$30, SMALL(IF(1=((--("*"&$E$3&"*"=$A$3:$A$30)) * (--("*"&$F$3&"*"=$B$3:$B$30))), ROW($C$3:$C$30)-2,""), ROW()-2)),"")
    but don't get any matches. Please help!

    1. I am facing the same problem, any solution?

  29. Hi, your article is very helpful!!
    I have just one question I would like to ask you.
    I'm working on my data and curious that it is possible to change the lookup criteria from exact value (==) to something like less than ()
    [FORMULAR]
    =IFERROR(INDEX(LOT, SMALL(IF(1=((--($Q$6=COMPNAME)) * ( --($B$21<=RES))), ROW(LOT)-1,""), ROW()-23)),"")
    [END OF FORMULAR]

    When I enter the above formula, Excel managed to get the value, but it is wrong.

    Can you help me on this issue?

    Thanks a lot

  30. I need help to get the pure unique value here, the A shouldnt be there!

    =INDEX($C$3:$C$10,MATCH(0,COUNTIF($G$2:G2,$C$3:$C$10)+($B$3:$B$10$E$3),0))
    Category Item Unique distinct list
    1 A 1 A
    2 A B
    1 A D
    1 A #N/A
    1 B #N/A
    1 B #N/A
    1 D #N/A
    2 C #N/A

  31. I would like to provide you with important formulas on this topic
    Alternative formulas for use in the first table:

    METHOD 1:
    =IFERROR(INDEX($B$1:$B$13;SMALL(IF(D$2=$A$3:$A$13;ROW($B$3:$B$13));ROW()-2));"")

    METHOD 2:
    =IFERROR(INDEX($B$3:$B$13;SMALL(IF(D$2=$A$3:$A$13;ROW($B$3:$B$13)-ROW($A$3)+1);ROWS(D$2:D2)));"")

    USAGE WITH FORMULA "AGGREGATE": (for method 3 and 4)
    METHOD 3:
    =IFERROR(INDEX($J$2:$J$1000;AGGREGATE(15;6;(ROW($K$2:$K$1000)-ROW($K$2)+1)/($K$2:$K$1000=$N$21);ROWS(N$22:N22)));"")

    METHOD 4:
    =IFERROR(INDEX($B$3:$B$13;AGGREGATE(15;6;(ROW($B$3:$B$13)-ROW($A$3)+1)/($A$3:$A$13=D$2);ROWS(D$3:D3)));"")

    IF YOU DON'T WANT TO USE THE "IFERROR" FUNCTION: (for method 5 and 6)
    METHOD 5:
    =IF(ROWS(D$3:D3)<=COUNTIF($A$3:$A$13;"="&D$2);INDEX($B$3:$B$13;SMALL(IF(D$2=$A$3:$A$13;ROW($B$3:$B$13)-ROW($A$3)+1);ROWS(D$3:D3)));"")

    METHOD 6:
    =IF(ROWS(D$3:D3)<=COUNTIF($A$3:$A$13;"="&D$2);INDEX($B$3:$B$13;SMALL(IF(D$2=$A$3:$A$13;ROW($B$3:$B$13)-ROW($A$3)+1);ROW()-2));"")

    Type these formulas in cell D3 and than use "CTRL+SHIFT+ENTER"

    GREETINGS FROM TURKEY!!!!
    Cihan TUNCEL
    Industrial Engineer
    Offers Industrial Solution

  32. Page No ID Description unit Qty
    S2/1/3 A Gypsum ceiling m2 ----
    S2/1/3 D Bulkhead including paint finish, 150 mm high m -----
    S2/1/3 E Bulkhead including paint finish, 150 mm high m -----
    S2/1/3 F Bulkhead including paint finish, 200 mm high m -----I

    I need formula for above blank
    from following tabel. Table name is MasterBoQ.
    Page No ID Description Qty
    S2/1/2 C Veneer solid WD-06 56
    S2/1/2 Metal trim
    S2/1/2 D Golden bronze patina MT-01 9
    S2/1/2 Glass panel including fixing, backing, glue, accessories,fittings, trims, etc. complete. The Contractor will allow for laying in pattern and combination of finishes where applicable
    S2/1/2 E Clear glass GL-01 2
    S2/1/2 F Fluted glass GL-03 7
    S2/1/3 BILL NO. 1 - ONE BED SUITE, (CONT'D.)
    S2/1/3 FINISHES, (Cont'd.)
    S2/1/3 Ceilings
    S2/1/3 Drg Ref: DD-ID-63-03 and Detail Drgs.Suspended ceilings including suspension system, cornices, recesses, accessories, recessed light areas, shadow gaps, fittings, paintings, special features, access panels, etc.complete
    S2/1/3 A Gypsum ceiling - 99
    S2/1/3 B Paint vinyl emulsion PT-01 79
    S2/1/3 C Paint vinyl emulsion PT-02 20

  33. Hi Svetlana,
    Thank you for these wonderful Excel tools and techniques!
    I am implementing Formula #2 from "Vlookup with multiple matches returned in rows". Since my data is in different rows and columns from your example, I had to adjust all my values. The only other significant difference was that my Lookup values are located on another Worksheet. The good news is I was able to get the formula to return a value in the first cell. Yea!
    The bad news is when I copy down or across, I can't get any other cells to work. I triple checked my relative and absolute references to ensure they are correct and I have made sure that Ctrl-Shift-Enter has been applied to each and every cell containing the formulas. Here is an example of the formula that is working in the first cell:
    =IFERROR(INDEX('EMPLOYEE CERTS'!$B$2:$B$12220, SMALL(IF($H2='EMPLOYEE CERTS'!$A$2:$A$12220, ROW('EMPLOYEE CERTS'!$A$2:$A$12220)-MIN(ROW('EMPLOYEE CERTS'!$A$2:$A$12220))+1, ""), COLUMN()-8)), "")
    The Lookup data is found on a Worksheet named "EMPLOYEE CERTS"
    Column H contains my lookup value (notice only the Column is Absolute, the Row is relative)
    Do you see anything that looks incorrect?
    Can I send you a file which will make this alot easier for you to see what's going on?
    Thank you for your help,
    Dave

    1. Hi Dave,

      Yes, please send a sample worksheet to our support address (support@ablebits.com) att: Svetlana. At first sight, the formula looks correct. I believe working with the source data directly will help to figure out the issue.

  34. Salute to whoever created the Combine Rows feature. 8195 rows have been merged into 96 rows. Thanks!

  35. OP, I need some explanation regarding your formula ,[IFERROR(INDEX(return_range, SMALL(IF(lookup_value = lookup_range , ROW(lookup_range) - MIN(ROW(lookup_range ))+1,""), ROW() - n)),"")].
    So, i copied your formula and succeeded. But my main problem is the formula start capture value from 5th row.
    For example, i have value in cell A1:A30. The formula capture the value starting from A5:A30.
    FYI, the value i captured is from another sheet.
    Thank you OP

  36. =IFERROR(INDEX($B$3:$B$13,SMALL(IF(D$2=$A$3:$A$13,ROW($A$3:$A$13)- MIN(ROW($A$3:$A$13))+1,""), ROW()-2)),"")

    Hello, I have something very similar. Let's say you have multiple columns of Seller (Seller1, Seller2, Seller3, Seller4)(Move product to column E) Is there a way that $A$3:$A$13 can automatically change to B, C, or D based off of inputting Seller 1, 2, 3, or 4?

    1. Hi Dan,

      The only working solution I can think of is nesting or concatenating different IF functions. For example:

      =IF($H$2=$B$2, IFERROR(...), IF($H$2=$C$2, IFERROR(...), ""))

      or

      =IF($H$2=$B$2, IFERROR(...), "") & IF($H$2=$C$2, IFERROR(...), "")

      If someone has a better idea, please do post your solution here!

    2. Hello Dan,
      Thank you for your comment.

      We have just replied to you via email. Please provide us with the requested information and we’ll do our best to help. Thank you.

  37. Hi,
    I need something similar to the above but I have been going round in circles to find the right formula to use.
    I have text in column A2 and I have a list of key words that I'm trying to find in column A2. I'd like the formula to return all of those key words that are contained in column A2. They don't have to be all in the same cell but I just need all of the values returned. Any help would be appreciated!
    THanks

  38. Hi,
    I have used Formula 3 with returns in a column.
    My dashboard has 3 look up values. The formula only gave 1 result instead of 3 or more.
    Please help.
    Here's my formula:

    =IFERROR(INDEX(Listings!$E$2:$E$1000,SMALL(IF(1=((--($B$4=Listings!$A$2:$A$1000))*(--($C$4=Listings!$B$2:$B$1000))*(--($D$4=Listings!$C$2:$C$1000))),ROW(Listings!$E$2:$E$1000)-1,""),ROW()-3)),"")

    Thank you.

    1. Hi,

      This has been solved. haha.
      I only need to copy the formula to all rows in that specific column.

      Thanks

  39. need to vlookup in accordance with date association. Any idea? Trying to put a week or months worth of data together and write a code to return value associated with a number on each date.

  40. What if the results are to return as a , (or ;) separated list in 1 cell?

  41. When I replicate this example sometimes it works, sometimes its blank, and I cant figure out why. Any ideas on why the result sometimes comes out blank? No errors or anything just blank.
    I'm doing this formula (the second one way up at the top)
    =IFERROR(INDEX($B$3:$B$13,SMALL(IF(D$2=$A$3:$A$13,ROW($A$3:$A$13)- MIN(ROW($A$3:$A$13))+1,""), ROW()-2)),"")

  42. Sl.No ROLL NUMBER Student Name Application Id Course /Course Year Rtf Amount
    1 14G01A0101 A AJAY 201704689507 BTECH (CIVIL)/4 8750
    2 14G01A0101 A AJAY 201704689507 BTECH (CIVIL)/4 8750
    3 14G01A0101 A AJAY 201704689507 BTECH (CIVIL)/4 8750
    4 14G01A0101 A AJAY 201704689507 BTECH (CIVIL)/4 8750
    5 15G01A0201 A AKHILA 201705900172 BTECH (EEE)/3 8750
    6 15G01A0201 A AKHILA 201705900172 BTECH (EEE)/3 8750
    7 15G01A0201 A AKHILA 201705900172 BTECH (EEE)/3 8750
    8 15G01A0201 A AKHILA 201705900172 BTECH (EEE)/3 8750
    9 15242-EC-001 A AMRINBANU 201708033297 DIP (ECE)/3 7450
    10 15242-EC-001 A AMRINBANU 201708033297 DIP (ECE)/3 3725
    11 15242-EC-001 A AMRINBANU 201708033297 DIP (ECE)/3 3725
    12 17G01A0401 A B JANANI 201708256249 BTECH (ECE)/1 8750
    13 17G01A0401 A B JANANI 201708256249 BTECH (ECE)/1 8750
    14 17G01A0401 A B JANANI 201708256249 BTECH (ECE)/1 8750
    15 17G01A0401 A B JANANI 201708256249 BTECH (ECE)/1 8750
    16 17G01A0301 A B RAJENDRAN 201708197050 BTECH (MECHANICAL)/1 8750
    17 17G01A0301 A B RAJENDRAN 201708197050 BTECH (MECHANICAL)/1 8750
    18 17G01A0301 A B RAJENDRAN 201708197050 BTECH (MECHANICAL)/1 8750
    19 17G01A0301 A B RAJENDRAN 201708197050 BTECH (MECHANICAL)/1 8750
    20 16G01A0401 A CHANDANA 201709098907 BTECH (ECE)/2 8750
    21 16G01A0401 A CHANDANA 201709098907 BTECH (ECE)/2 26250
    22 16242-EE-002 A DILLI BABU 201709114468 DIP (EEE)/2 3725
    23 16242-EE-002 A DILLI BABU 201709114468 DIP (EEE)/2 3725
    24 16242-EE-002 A DILLI BABU 201709114468 DIP (EEE)/2 3725
    25 16242-EE-002 A DILLI BABU 201709114468 DIP (EEE)/2 3725

    I prepared this data based on the v look up fromula .now i need name wise total in from four coloumns in one cell in a separate row. To know the individual value. can you help for this

  43. Thank you so much for this! This is exactly the help I needed. Also, I made a change to Formula 2 to make it a little more generic. Changed 'n' to row(first_formula_cell - 1).

  44. Hi Svetlana,
    When I applied the same example (as a training) in a blank sheet, it didn't work for me. After I read the comments I download the example file, I made a double click on a cell contains the formula to check it, I say ok, then press enter , as surprise I found the word displayed disappear, I don't know really why this is happening. I tried Online Excel to check maybe the excel version I had, has an issue or something.
    Please Help
    Thanks,

    1. I forgot to say that a note showed up to me when I activate it , it said "inconsistent formula"

      1. Ok the problem solved (CTRL+SHIFT+ENTER not just enter)
        thanks

  45. Res ID Date Feedback Res ID Date
    18354576 7/17/2019 All good 18354576 7/17/2019
    19165239 7/30/2019 All good 19165239 7/30/2019
    18354576 7/31/2019 More Than 5 Error 18975236 7/31/2019
    19167323 7/31/2019 All good 19167323 7/31/2019
    18354576 7/31/2019 Less than 5 Errors 18785226 7/31/2019
    19161337 7/31/2019 All good 19161337 7/31/2019
    19153708 7/30/2019 Less than 5 Errors 19153708 7/30/2019
    19162077 7/31/2019 All good 19162077 7/31/2019
    19164149 7/31/2019 All good 19164149 7/31/2019
    19164647 7/31/2019 Less than 5 Errors 19164647 7/31/2019
    19166599 7/31/2019 All good 19166599 7/31/2019
    19161016 7/31/2019 All good 19161016 7/31/2019

    Hi
    There is multiple entries in res ID and I want vlookup data same as it is in sheet, I mean res id 18354576 having 3 or more entries with different comment and different date.
    How can I find exact comment with particular date for all entries.

  46. =IFERROR(INDEX($B$3:$B$13,SMALL(IF(D$2=$A$3:$A$13,ROW($A$3:$A$13)- MIN(ROW($A$3:$A$13))+1,""), ROW()-2)),"")
    can anybody modify this so it does a partial text search

    1. =IFERROR(INDEX($B$3:$B$13, SMALL(IF(ISNUMBER(SEARCH($D$2,$A$3:$A$13)), ROW($B$3:$B$13)-2,""), ROW()-2)),"")

  47. IF YOURS WORKS FOR THE FIRST CELL BUT NOT THE REST, CLICK ON THE FORMULA BAR OF THE FIRST CELL AND CLICK - CTR SHFT ENTER - THEN DRAG THAT FORMULA. THE FORMULA SHOULD NOW HAVE {funky brackets}.

  48. The one about Vlookup of multiple values is an absolute beauty. I have needed this function desperately and it worked exactly the way I have needed it. I don't know how to thank you. Still Thanks a million.

  49. Goal: I would like to vlookup or index match an ID from another workbook using a vba button that then returns the ID name, City, Region, etc. My goal is that I have a button I search the ID # and it returns the criteria that I want that is located in another worksheet. I know to start it with the Workbooks.Open more focused on how to do the index match or vlookup to return the criteria from that sheet. Thanks

  50. I stumbled upon this formula and spent about 2 hours trying to get it to work, but I finally did after seeing an error I was making in the comments (our fault for not reading fully)

    My question is, using the very top example with sellers and produce, I manually need to change my cell reference from $D2 to $D3. My spread sheet contains over two hundred sellers and about a hundred different types of produce. So in a separate column I have my sellers, Adam being D2 and Robert D3. I can drag the formula for Adam all 100 rows.

    But if I stop at row 25, and switch to D3 for Robert, I cannot copy them down the same way. I have to modify $D3 and ALSO the row to be -24 (when it was originally -2).

    Is there a way around this? I'd rather only have to change one aspect instead of two if possible because there are so many. I can't set a predetermined spacing because it changes daily.

    Thanks!

    1. Side note, the formula I was using was this one below:

      =IFERROR(INDEX($B$3:$B$13,SMALL(IF(D$2=$A$3:$A$13,ROW($A$3:$A$13)- MIN(ROW($A$3:$A$13))+1,""), ROW()-2)),"")

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)