I have a workbook with numerous tabs - I have created an example with only 3 tabs to show my formula.
example Index Match query.xlsx
Worksheet 'Map' is the list that I am using to change the names of the items on the items tab.
Worksheet 'items' - Formula is in col. F. Column G is a cocatination of colA & ColF to create a unique field. The sale ref in col A can have more than 1 entry.
The main worksheet is 'data' -
I need to match the sale ref in col A on 'data' to a record in col A of 'items' AND match the heading of the row in 'data' with the entry in col F of 'items' and when a match has been found pull the corresponding value from column C in 'items' (Quantity) into the relevant column in 'data'. I then need to repeat this for columns D and E in 'items' into the next batch of columns in 'data'.
The formula I have entered into D5 is '=INDEX(ItemsTable,MATCH($A5&D$4,Items!$G$9:$G$16,0),3) using Cntl+shift+enter as it is an array. This was then copied down the 100000 rows of the data worksheet and across the columns from G:HX. The array is working and is pulling back the correct values however it is taking 1.5 hours for the worksheet to recalculate everytime I do anything in it, even just highlighting. How can I do this differently in order to be more efficient as this is work that needs to be done on a very tight schedule and I cannot take the time to do it this way.
Please be aware that because of the slowness of the array I have not copied it across in the example spreadsheet attached but have left it as a text example.
I have never used VBA so if that is required please could you describe the process for a novice user.
![]()
Bookmarks