VBA Excel Categorize data Upper and lower bound


I have the following problem: What should I do if I am looking at data and would like to categorize this data into a basket. Lets say I hava a bond with a maturity of 10 years and the options are if maturity > 5 =1 and <5=2 . This Bond would go into category 1 as it is greater than 5. Unfortunately I have more than 2 bounds - these can be seen in the attached excel sheet. The data can be found on the sheet Info, the criteria on sheet criteria and the result should bedisplayed on sheet calculation. Are you able to help?


Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

Rory ArchibaldConnect With a Mentor Commented:
Like this?

Patrick MatthewsCommented:
VLOOKUP is a handy function that allows you to return a value from a "lookup" table based on an "index"
value in the table's left-most column.

The URL below links to an excellent start-up tutorial for VLOOKUP:


Keep in mind the following:
1) If you omit the optional 4th argument, or set it to TRUE, then VLOOKUP looks for the greatest value in
the lookup column that is less than or equal to the value being sought.  Your lookup table MUST BE SORTED
on the lookup column, ascending, or you may get an unexpected result.
2) If you use FALSE for the 4th argument, you are telling VLOOKUP to find an exact match.  In this case, your
lookup table does not have to be sorted, but if there is no exact match, the function returns an #N/A error

Without looking at Rory's formula, I used this for Calculation!C2, copied down through the end of the range:

=VLOOKUP(VLOOKUP(B2,Info!B:C,2,FALSE),'Risk Criteria'!$C$3:$E$7,3,TRUE)

If Rory used the same formula, then he should get the points :)
Patrick MatthewsCommented:

BTW, I also resorted the table on the Risk Criteria sheet, so that the lowerbound is sorted ascendingly.


All Courses

From novice to tech pro — start learning today.