VLOOKUP - Better alternative for my spreadsheet?

JamieP89

Board Regular
Joined
Mar 8, 2022
Messages
64
Office Version
  1. 365
Platform
  1. Windows
Hey Excel friends!

So I have a bit of a different one today that I'm not sure on.

In the below you can see I have written a VLOOKUP with IFS to meet 3 conditions, and it's doing what I want (superseeding each column based on order of vlookup and data that is input in the table)

My worry with this, and as I seem to be experiencing in another worksheet as it's getting bigger is that the VLOOKUP i'm using in a real world scenario is going to another workbook and seems to be gradually slowing my workbook down (freezes very often) and have to wait for it to unfreeze.

The thing with this is that each row I create needs to have the VLOOKUP in as I need the data to be refreshing on each project for a certain number like in my example.

The question is, is there a better way to write this or better formula that will achieve this?

Book1
BCDEFGHIJK
5
6ProjectLeast ImportantMore ImportantMost Important
7ProjectImportanceARDENTREWARD710
8ARDENTREWARD10WANTEDLEVEL5
9HOTARCH8410
10MANYBAIT561
11POSSIBLEVOICE5
12UNINTERESTEDYAK63
13FRANKSMASH19
14CARINGDOLL35
15SUPERBSHOES7102
16MESSYROLL14
17DIZZYTHUNDER
18SUBSEQUENTPLANTS274
19PRIZEDHOPE8
20OUTSTANDINGSMELL77
21UPTIGHTNECK62
22LAMEPARCEL441
23LAWFULBUBBLE143
24STEADYENGINE221
Sheet1
Cell Formulas
RangeFormula
C8C8=IFS(VLOOKUP(B8,H7:K24,4,FALSE),VLOOKUP(B8,H7:K24,4,FALSE),VLOOKUP(B8,H7:K24,3,FALSE),VLOOKUP(B8,H7:K24,3,FALSE),VLOOKUP(B8,H7:K24,2,FALSE),VLOOKUP(B8,H7:K24,2,FALSE))
 

Excel Facts

Which came first: VisiCalc or Lotus 1-2-3?
Dan Bricklin and Bob Frankston debuted VisiCalc in 1979 as a Visible Calculator. Lotus 1-2-3 debuted in the early 1980's, from Mitch Kapor.
Firstly I would recommend against using IFS, you should use nested IF functions instead as they are far more efficient.
Are you trying to find the last value in the row?
 
Upvote 0
Firstly I would recommend against using IFS, you should use nested IF functions instead as they are far more efficient.
Are you trying to find the last value in the row?
Ah okay - I'll need to look at how I would do that.

Not so much, What the formula is doing for me is looking at the last column, is there a number, if not move to next column, if no number move to first column.
 
Upvote 0
Ok, how about
Excel Formula:
=LET(a,FILTER(I7:K24,H7:H24=B8),LOOKUP(2,1/(a<>0),a))
 
Upvote 0
Solution
Edit: After your second post, I realise this formula doesn't give you what you're after. :( @Fluff formula works though. :)

This code gives you the maximum value across the 3 columns regardless of which column it is in.

Excel Formula:
=MAX(IF(H7:H24=B8,I7:K24))
 
Last edited:
Upvote 0
That will return the max value, which is not always the last value on the row. ;)
 
Upvote 0
Ok, how about
Excel Formula:
=LET(a,FILTER(I7:K24,H7:H24=B8),LOOKUP(2,1/(a<>0),a))
Would this be less intensive that my original formula?

Also are you able to explain what this formula is doing?
 
Upvote 0
Would this be less intensive that my original formula?
Yes, your formula is running 6 vlookups whenever the data or B8 changes, whereas my formula is running a single filter & lookup.

The filter will return the row that matches B8 & the lookup will find the last non 0 value.
 
Upvote 0
Yes, your formula is running 6 vlookups whenever the data or B8 changes, whereas my formula is running a single filter & lookup.

The filter will return the row that matches B8 & the lookup will find the last non 0 value.
Thanks for clarifying :)

What is the LET doing?
 
Upvote 0
That just allows you to store calculations in a variable, so they are only calculated once.
 
Upvote 0

Forum statistics

Threads
1,215,227
Messages
6,123,738
Members
449,116
Latest member
alexlomt

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top