1

I have a named range called A2Bounds25:

Grade Percentage
A* 80
A 71
B 60
C 49
D 38
E 27

I pull the percentage from A2Bounds25:

=VLOOKUP(F74, (INDIRECT($K$3)),2)

where F74 contains the grade I want to look up, and K3 the string A2Bounds25. This works for all grades except A.

Even if I change A to any other unused letter (and update A2Bounds25 accordingly) it still refuses to pull the percentage for an A. All other grades pull the correct percentage, and I have used the same formula in each cell other than changing F74 to F75 and so on. If I replace the cell reference with "A" it still will not work.

How can I correct this?

2
  • Does =VLOOKUP(F74, (INDIRECT($K$3)),2,False) work? Commented Oct 21 at 17:41
  • =VLOOKUP(SUBSTITUTE(F74,"*","~*"), (INDIRECT($K$3)),2,False) Commented Oct 21 at 18:29

4 Answers 4

3

Set the range lookup option to FALSE:

=VLOOKUP(F74, (INDIRECT($K$3)),2,FALSE)
Sign up to request clarification or add additional context in comments.

Comments

3

The reason the formula doesn't work is because the lack of FALSE the values of 'Grade' column are not sorted. A comes before A* when it comes to sorting the values in an ascending order, so when the VLOOKUP is lookup up the value with the exact match (FALSE) argument is missing, it will not be able to 'find' the value A, since its already overtaken by A*

Comments

1

Thank you to those who suggested setting the range lookup to FALSE. This has fixed it.

=VLOOKUP(F74, (INDIRECT($K$3)),2,FALSE)

1 Comment

Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
0

There are 2 things why you may find wrong results, or an error.

The first issue is the match type argument (as already mentioned by others).

The second issue is the asterisk being a wildcard character in VLOOKUP. To search for an actual * you need to tell Excel to read it as the actual character by adding ~ in front of the sign.

This way the formula also works if A would be listed before A*:

=VLOOKUP(SUBSTITUTE(F74,"*","~*"),INDIRECT($K$3),2,0)

2 Comments

Thank you for this. I had considered the wildcard character when I was trying to debug this myself, but changing the grades to arbitrary letters without the * didn’t fix the issue either. As you identified, it was the match type that fixed it for me. Thanks again!
If you don't use an argument it defaults to approximate match. You can use FALSE, 0, or use a comma without mentioning the false or zero, to make it "undefault" to exact match: =VLOOKUP(SUBSTITUTE(F74,"*","~*"),INDIRECT($K$3),2,)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.