Comments on: INDEX & MATCH in Excel - better alternative to VLOOKUP

This tutorial demonstrates the key strengths of Excel's INDEX / MATCH function that make it superior to VLOOKUP. You will find a number of formula examples that will help you easily cope with many complex tasks when VLOOKUP fails. Continue reading

Comments page 5. Total comments: 614

  1. Please help!!! I have a large workbook contains 100+ worksheets. on Each worksheet I have a product number in column B and the worksheet name in column c
    In a summary sheet I have a list of product numbers in column D.
    Is there a way to use Index and Match to search the entire workbook in Column B of each worksheet, for the product number located in my summary sheet in column D and return the worksheet name located in column C of each worksheet?

    Thank you so much!

  2. please help. i have 3 columns. how to find the value of Bus 3 & car 3 values using index and match functions

    col 1 col 2 col 3

    bus 1 2100
    bus 2 200
    bus 3 500

    car 1 200
    car 2 300
    car 3 400

  3. hello i am having some trouble with my index match function i am usung it to return one size below my input size for instance when i input a size D10.75 it returns D10.01 (the way our measurements work) but when i move to a size under 10 ( D9.4) it will return our largest size (30) just wondering if anyone has had similar issues i have not found any errors with sizes above 10

  4. Hi Svetlana,
    The fantastic thing about Index Match is it solves most of the troubleshooting issues that arise from the other lookup functions. You can find a related value in any table at all, searching on any value you have. The other file doesn't have to have the same set of values on the search variable, nor does it have to be sorted in any order. So Index Match is amazingly powerful, flexible and accurate. Of course it does takes some concentration to work with it.
    I first figured out the Index Match combination back in the 90's when I was doing heavy analysis of data. I'm glad to see it's eventually getting to be better known. It would be a lot better known if Microsoft made it into a single function, which would be easier than combining two functions yourself.

  5. Hi, Thank you for this useful information about index & match. It is very useful to us and it will save time to us for our work.

  6. Hi, Svetlana. Thank you for a great tutorial. Unfortunately, I'm quite new at Excel, and have trouble applying INDEX/MATCH in my sheet. I hope you can help. Here goes: I have one summary tab (X) where each column's data would be ported over to different tabs (Y) in the sheet. Each column of X will be numbered at their corresponding topmost cell from 1 to 10, and each Y tab will be labelled from 1 to 10 in a specific cell. Would it be possible to match/lookup X 1 to Y 1 (X 2 to Y 2, and so on) so that the range of data in column X 1 ports over to a column in Y 2? (I hope what I wrote makes sense).

    1. Sorry. For the last sentence, I meant to port the range of data in column X 1 onto Y 1.

  7. I'm having issues with INDEX/MATCH using a large data set (180,000+ rows, 15 columns). The value in A2 is 40000001. The formula I am using is =INDEX($A$1:$O$74190,MATCH(A2,$L$1:$L$74190,0),15) and it results in a #N/A. However, when I change it to =INDEX($A$1:$O$74190,MATCH("40000001",$L$1:$L$74190,0),15) it pulls in the correct value. Why will it not recognize A2 as being 40000001?

  8. good day, i'm using v lookup but want to try the Index Match. problem is i've got double dates because i work on 2 shifts. obviously if says #value. how can i make this work?

  9. I have a table with a lot of data - need to take column A (product ID) and all of the MATCH Column A take and add all of the numbers from Column C (Qty) and Column D (price) and Place in new table with Product ID, Product Name, Total QTY, Total Price, and Average Price (( column B product description))

  10. Hi
    Great tutorial. I am unable to find a solution for an issue we have. I have tried combinations of SUMIF and VLOOKUP without success.

    We have a roster built in Excel and this has a range of duties in rows as below
    Date1 Date2 Date3 Date4 Date5
    AD01 BN01 BN01 PH01 ML07

    The codes refer to a number of sectors in a named range "Duties" and the number of sectors are in column 3 of that range. AD01 = 2, BN01 = 3, PH01 = 4, ML07 = 1

    What I need is a sum that totals the row, so in the example above, the result will be 13 (2+3+3+4+1).

    Any help will be appreciated.

  11. Hi ,
    I am struggling with a data table.
    I have one parameter in first column , i have a value to lookup in an array pertaining to a particular Row based on values in 1st column.
    I have to return the collumn hedder data for theat particular indexed Row(Based on parameter in 1st col ) & Column (Based on the desired lookup value )

    Hope you understood my problem.

  12. The only practical advantage I'm seeing over vlookup from the article is if you want to look left or if you have a HUGE file, although I've never encountered any noticeable lag with vlookup even in gigantic files.

    Most users don't lookup cells with over 250 characters.

    If you use Tables instead of ranges, then inserting columns/rows will not affect vlookup.

    You can use Sumif(s) to obtain the same response as the last array example.

    Vlookup allows approximate matches and the index/match also requires values to be sorted in either increasing/decreasing order.

    Am I missing another advantage that allows more flexible lookups, i.e. names that may not be spelled exactly the same way??

  13. I have column A2:A10, B2:B10, C2:C10, D2:D10, with random name and few are matching within. Also in same sheet from A13 to A75 have main name table, now I want EXACT MATCH if any name MATCH (priority) 3 times or 2 times within A2:A10, B2:B10, C2:C10, D2:D10 if 3 times match need HIGHLIGHT exact NAME in main table (A13 to A75).

    If possible please help me, Thanks in advance.

  14. I am trying to sort a Christmas list i have made on Open Office into my grandkids names. The list I made has 3 main columns..A,B and C with multible columns.... D,E,F,etc.with "x' in them for each person that gets that gift. I would like to write a formula that would copy column A,B & C for the person in say D column(Caitlin) that has an x beside it. I tried writing a formula for say a-1 that says =if(d629="x";+a6290 but it doesn't work. I would also like for it to move to the next row under D if there is no x in d629.
    If you could help me out, I would greatly appreciate it.

    Thanks and ...HAVE A GREAT DAY and a MERRY CHRISTMAS!!!!!!

  15. I need formula to display the lowest vendor for each row. Can anyone help with this as the Index function uses range which is giving error due to values are located in alternate columns.

    Thank you

    | Vendor | Discount | Price | Vendor | Discount | Price | Lowest vendor|
    Product 1| AAA | 15 | 2000 | BBB | 10 | 2500 | ???formula |
    Product 2| CCC | 15 | 1500 | DDD | 20 | 1000 | ???formula |

  16. I have a scenario, I want to pickup data from another sheet where in like following
    Name/month/place
    A/apr-18/x
    A/apr-18/y

    How do I lookup the place from this sheet to another using index and match. Conditions are place is unique bit name and month will get repeat so it's a kind of multiple criteria. I have done this through vlookup by added a column but I want to know in this format

  17. I have two columns that are pull down lists and I want to to pull in the required value of the intersections based on the selection from the pull down lists... I have a basic risk register developed that I would like to correlate the correct risk value... For example I have a consequence pulldown list (AK11) and a likelihood pull down list (AL11) and I want to match the correct value into AK12... the table that I am using to reference is a simple 5 x 5...

    I cannot seem to get the index table and match formula to work - I either get a 0 or no value?

  18. Would like to ask if there is also an alternative to this if you are looking for cells containing a certain value. The thing with the index-match formula is that it finds for the exact value. it is similar to the vlookup with approximate match. Thing is the data is on the right side so I'm needing a left lookup formula with approximate match, not exact match.

    Thank you for those who can answer my query.

  19. I am trying to get a formula to lookup a "itemNo" and search for the lowest 6 bidders in a table as given below. Would greatly appreciate your support.

    SEARCH Item_02
    No of Bidders 6

    Class Bidder Value
    1 LISTEC HOLDINGS #VALUE!
    2 HEMSONS #VALUE!
    3 ANALYTICAL INSTRUMENTS #VALUE!
    4 LABORATORY EQUIPMENTS #VALUE!
    5 AVON #VALUE!
    6 HI FI CENTER PROJECT #VALUE!

    SUPPLIERS Item_01 Item_02 Item_03 Item_04
    LISTEC HOLDINGS Rs. 225,000 Rs. 29,688 Rs. 83,000 Rs. 68,000
    TECHNO INSTRUMENTS N/Q N/Q Rs. 974,370 Rs. 1,583,090
    ROTEX N/Q N/Q Rs. 650,000 N/Q
    AVON Rs. 518,790 N/Q N/Q N/Q
    ATA INTERNATIONAL N/Q Rs. 79,000 Rs. 978,000 Rs. 1,490,000
    CAN COM Rs. 140,000 Rs. 6,500 Rs. 1,450,000 Rs. 2,350,000
    HI FI CENTER PROJECT Rs. 585,800 Rs. 18,300 Rs. 331,000 Rs. 321,000
    HEMSONS Rs. 369,860 Rs. 99,750 N/Q N/Q
    ISLAND WIDE SCIENTIFIC N/Q N/Q Rs. 4,136,000 Rs. 2,811,000
    CLARION INTERNATIONAL Rs. 1,534,000 N/Q Rs. 970,000 Rs. 1,165,000
    SALID ZONE N/Q N/Q Rs. 627,300
    RAMATAS GLOBALTRADING N/Q N/Q Rs. 1,440,000 Rs. 1,760,000

  20. Good day Svetlana,

    I hope you will be able to help me. I have been going back and fourth between whether to use a macro or formula to solve this problem and am still not sure.

    I have two columns from one spreadsheet and 3 columns from another that I first need to line up and match the invoice numbers from each of the two sets of columns and then I need to find the difference between the values of the other two columns from each set. The last column will tell me who VP those differences will be assigned to.

    This INDEX/MATCH formula seems like the best (formula) method to attempt, but I have over 7000 rows that I need to line up and find the differences for each all at the same time.

    The best (macro) method I have found is from here: http://sites.madrocketscientist.com/jerrybeaucaires-excelassistant/text-functions/line-up-matches and it works almost perfectly, except for the last 400 rows, the macro splits them up in two columns despite the fact that they still match each other.

    If you happen to know how I can achieve this through a formula, I would appreciate any and all help on this one.

    Thank you very much Svetlana.
    Dennis

  21. Hi,
    I need to look up for a multiple colums with offset for client invoice # po# amount details etc. Please help.
    Regards
    Rashmi

  22. Hello,

    I am trying to reference a sheet that runs horizontally and use INDEX MATCH to fill in another sheet that runs vertical. But is based on multiple criteria.

    IE :

    Customer Measure wk 35 wk 36 wk 37 wk 38
    Erik Retail $9.99 $9.99 $9.99 $9.99
    Erik Cost $4.50 $4.50 $4.50 $4.50
    Erik Sellout FCST 100 100 150 100
    Erik Channel Inventory 250 150 0 100

    I need to look up "Erik", by "sellout FCST" by "wk 37"

    I understand INDEX and with MATCH which was a fantastic tutorial. But i am having trouble adding this small example above.

    Thank you for any help provided.
    E

  23. Hello. I am working on a spreadsheet and trying to figure out the best way. What I need is to find a match from the sheet I am working on which starts on E3. I want to be able to look on the same row on a different sheet that matches the text in E3. It will have a range to match from E3-J3 on the other sheet. However, I do not want it to simply return the value found in that matches, I want it to designate text for each column. Basically if row E3 has the text Cookie in it and it finds a match on the other sheet row 3 in the columns E3-J3 that also contains Cookie, how can I make it return a value based on the column it is found in? Any suggestions would be greatly appreciated.

  24. Hi,

    Which formula do I put in D2 to achieve the following?

    If A2 contains all the text (consecutively but not an exact match) from any cell from range B2 through B50, then display the corresponding text that's currently located in column C in that corresponding row. So if it finds that A2 contains text (consecutively but not an exact match) that exists say in B47 then it should display the text from C47 in column D2.

    Your help would really be appreciated

  25. Hi, My data is A4:J22.
    I have column B which contains the category name, used multiple times.
    I have column F containing a dollar value amount still to be paid.

    In cell K3, I want put the total dollar value (from column F) for specific text "Meal Entertainment" in column B.

    Eg:
    Column B: Column F:
    Meal Entertainment $20.00
    Living Expenses $1,000.00
    Living Expenses $50.00
    Meal Entertainment $100.00

    So, in column K3, I want to end up with an amount of $120.00.

    Thanks in advance.

    1. Thanks. I will give this a try.

      1. THANK YOU!!!! It works perfectly.

        1. Lee-Anne, could you share the solution? It appears the previous comment has been deleted, but I am running into the same problem!

  26. Please help me to match information in order to return the correct code to Column A.....Column B (desc) contains information to be matched to column C (type) and then return Column D (code) to Column A....Column B is a description column and contains different information to describe type, but is all the same. Thank You for your Help!
    Ex.
    B C D
    1 Motor Truck Sc Motor Truck Sc MTS
    2 Truck Sc
    3 MTS

  27. Plsss help me, how can I lookup Apple3 & Orange4 value-

    Apple1 80
    Apple2 100
    Apple3 90
    Orange1 120
    Orange2 220
    Orange3 180
    Orange4 160

  28. Hi... I am working on pulling information from one tab containing several columns of numbers into a separate tab. I used the index function and it works great, but only for one instance of the "search" box. I'm using it to pull information from various events that have occurred at the arena in which I work. How would I adjust the formula to make it pull all of the events that have the same name? For example, Jimmy Buffett has performed multiple times here, but when I type "jimmy buffett" in my search cell, it only pulls data from one show, when he has has four shows here.

  29. Request your help in below issue. Want to match the cell value in column but unable to do that. Please help me.

    Column1 Column2
    2133 GMA
    2133 MCA
    2133 MCA2
    6488 USI
    6488 GMA
    7645 MCA2
    7645 USI
    6488 NOT

    Column4 column5(GMA) Column6(MCA2) Column7(MCA)
    2133
    6488
    7645

    Request your help in creating the formula that can match the value against column4 from column2 and column2.

  30. Sheet 1
    Line# PO Qty Reciver
    2 222000 10 A20535
    6 222000 15 A20587
    9 222000 20 A20687

    Sheet 2
    line# PO Receiver
    2 222000 A20535 ;A20587;A20687 (Answer)

    I need the answer by making formula in Sheet 2 as display above.

    Please help

  31. Here is a link to my spreadsheet on google drive - I was not sure how to post it here https://drive.google.com/file/d/1jfoMPEQQhsAA90tyv43K3p9FqF3LAyFv/view?usp=sharing

    I have three columns of data that are plotted on a graph. You will see on the graph two arrows, and I would like excel to return the x axis values (frame number) for where these arrows point (heel strike). This should be more accurate and time effective than me doing it manually / visually.

    Frame number for heel strike 1 is defined by the GRF data where it first meets or exceeds the threshold displayed in G9. Manually I can see this is frame number 80, but I want excel to return it to me. To find the frame number of heel strike 2 excel will now need to use a velocity threshold. So, based on the previous heel strike velocity value can excel find the next occurrence of this velocity value. Ideally the data point either side of this value should be greater to ensure it is heel strike, and not another point on the graph where the magnitude of velocity is similar. I have tried using the match and index formulas but haven’t got it work. I not sure if there are better functions to use than this.

  32. I have a list of data (numbers). I want to find if any of them are greater than 9 and if so look in all columns to the right of it for values greater than 0 (looking for 2 more). There are 4 outcomes 1) no >9. 2) >9 But no >0. 3) >9 and 1 that is >0. 4) >9 and 2 that are >0. All with more than 2 would return the value if 2 were met.

    What group of functions would I use to make this happen.

    1. John:
      Can you post a small example of your sheet with some sample data?

  33. How can I match two columns, say patient ID and date of visit and then retrieve the test result from a array of multiple visits by the same patient? ie there are results for the same test from multiple visits.

    1. You could try concatenating the vlookup, that might help.

  34. Thanks a lot! It really helped me in completing my task of vlookup from 1 million records sheet.

  35. Hello,

    I have a list of unique account numbers in columns A, B, and C. How can I tell if any of the same account numbers appear in a different column?

  36. I have two sheets, one sheet(A) having unique codes and sheet (B) having same unique codes, category (PT, ST, IT etc..) and date column
    Here sheet (B) have multiple records for same code, same category

    Now, In Sheet (A) I want to get the min date for PT and max date for PT with reference to sheet (B)

  37. Hello

    Need an help regarding the "Index" function

    here I was trying to grab Index with "v-look up", hence I'm using it in getting data from another sheet, I'm seeing some popup stating formula is wrong,

    Please guide me clearly with formula how to use "Index" with "V-lookup"

    Appreciate your help

  38. Using the INDEX MATCH to return data based on the matching of two cells in a different spreadsheet, is there a way to make the MATCH process more than just the first located match? I am using a Google Sheet with a Form to add in a person's intial certificates but also to add when they complete a new certificate. I would like the line for that person on the main tab to update with ALL form entries. Here is my formula:
    =ArrayFormula(IfError(INDEX('Form Responses 1'!$A$2:$AH$1001, MATCH(1, ($A2='Form Responses 1'!$B$2:$B$1001)*($B2='Form Responses 1'!$C$2:$C$1001),0), 6),""))

  39. please help me how can i separat the name of students which are absent in daily roll call from excel attandance sheet

  40. Great tutorial! My question would be if I have 'like' numbers in my array can I still pick up the value if they have different labels attached to them? For example I am applying a score to tickers, then ranking them, top three tickers would be ISRG, GOOGL and AAPL. ISRG has a score of 20, GOOGL and AAPL have a score of 19. Currently my situation and formula (using hlookup) returns in rank 1 ISRG, rank 2 GOOGL, and rank 3 GOOGL. Is there a way to where matching values still return the given ticker, thus showing AAPL instead of two GOOGL?

  41. I am looking for excel formula for following scenario:
    Ex: Column A,C & E indicates color and Col B ,D & F Indicates price of the color. In Column G , We need to find minimum price for red color.

    ColumnA Col.B Col.C Col.D Col.E Col.F Col.G
    Row1 Yellow 15 Red 58 Red 32 Min price of red

    Please share which formula will be suitable to overcome on above scenario.

    1. Transpose the rows than color over price than highlight the new table than add an pivot table.

  42. Hi,
    Sir,
    Your explanation mathod is superb......
    Any simple person could also be understand....
    Are you a lecturer in any institute.....

  43. They aren't. They are basically random unique numbers.

  44. I have column A with a unique list of hundreds of names

    I have column C with a not unique list of thousands of names that includes multiple instances of names from column A, and 100 times as many names that are not in Column A

    I have column D with the same amount of rows as column C, all unique numbers.

    I need to take every name from column A, find all of the same name in column C and then give me a list of all the phone numbers it finds from column D.

    And I need all those numbers to be in one big column.

    1. Matthew:
      How are the names in C connected to the numbers in D?

  45. Thanks, I found this really useful.

  46. Fantastic tutorial.

  47. Hi Lu,

    A simpler solution to your question would be to sort your data by patient and date of visit. A conditional formatting can be used to indicate where a pain score is higher than the previous visit.

  48. Thank you for this wonderful tutorial. It only took me ten minutes to get the formula working for me. I like the way you write! Almost feels like you are a teacher in a classroom explaining it on a board. You made me feel like a student again, and lucky for me, one who just passed :-)
    Oh and one more thing, bye bye vlookup ...

  49. I think this is where my question would go... I have a dataset with a list of patients, their visit dates and the pain score they reported on that date. I need to flag all of the patients whose score increased on the subsequent visit (i.e., the treatment is not working). Tried with a pivot and lookup table to get the max score but can't get the dates compared. Assist please.

  50. Hi...I have 2 columns of data... Let say Column A as list of Capital as in the example above and column B is a remark, filled with text -"take" in Row 3 and 5 only for example. I want to use Index to identify if you find take - then show capital in the 1st row, in the 2nd row etc in column D for example as I want to have the result be positioned. How can I do it with index and it should be matched with which other formula. Can you help?

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 :)