With TRUE (or nothing) as its last argument, VLOOKUP does an approximate match: it finds the largest value in the first column that's less than or equal to the one you look up. That's exactly what band tables need:
| From |
Rate |
| 0 |
2% |
| 10,000 |
4% |
| 25,000 |
6% |
=VLOOKUP(18500,A2:B4,2,TRUE) lands on the 10,000 row and returns 4%.
Two rules make it work. The first column must be sorted smallest to largest, and it must start at the lowest possible value (often 0), or anything below the first band gives #N/A. A value exactly on a threshold, like 25,000, belongs to that band.
When you copy the formula down, lock the table with $.