Forum Discussion
Creating a level up system with Excel.
Hi. I'm trying to create a point based fitness log system where with each workout you earn points and with the points earned you level up over time.
My issue is what would be the best way to do this besides using the "IF" function?
Thanks.
6 Replies
- JKPieterseSilver Contributor
To get a level from a list of steps, first create a little table that looks similar to this:
0 Beginner 50 Intermediate 100 Pro 200 Expert 1000 Guru (lets assume this is on Sheet2, range A2:B6).
Now suppose you have a # of points in cell D3, you can fetch the level from the table like so:
=VLOOKUP(D3,Sheet2!$A$2:$B$6,2,TRUE)
- GoldPlaysCopper Contributor
JKPieterse I tried this with my own values, so when I put 100 in the points box and 100 points is 'Expert', it shows 'Expert' in the level name box. But when I put 105 in the points box, it shows #N/A. do you know what is wrong? Screenshot attached
- Charla74Iron ContributorYour formula shows FALSE at the end where it should show TRUE........the false flag looks for an exact match for the lookup.
- Sergio GonçalvesCopper Contributor
Thanks so much Jan. Works like a charm. Don't quite understand how, but it does.
Thanks
- JKPieterseSilver Contributor
The VLOOKUP function looks up a value in a list of values.
The last argument of the function is really important. If you set that to TRUE (as in our example) VLOOKUP *only* allows lookups in a (ascending) sorted list and if it does not find an exact match, it returns the item that is the first one less than the value you are looking for. So look for 9 and it will return the item belonging to 0. Look for 999 and it'll return what belongs to 200.
If however you use FALSE as the final argument, VLOOKUP will only return EXACT matches and #N/A! if it does not find a match. Also, the table does not have to be sorted. FALSE is the most used argument, but in your case it is TRUE we needed.