I don't get the first record, but the rest seem to make sense. One way would be to have a function return the text value (e.g. $250 - $500) in a query calculated field - not hard and would allow you to modify if need be when inflation rears its ugly head. A query field with a monster IIF function could also do this, but IMO you have too many possible returns for any sort of query field that uses such long expressions. Since my paradigm seems to be about code, I'll wait to see if anyone has a better idea. Then again, I know of someone who will throw code at every problem raised here, so I will likely be beaten to it anyway.
EDIT - would be helpful to know is whether your price field is text or numeric data type. Also, after reviewing I'm not as clear as I thought. What you show is the desired result but the facet field is not populated? Or it is, and that is the table of records, in which case it's not a desired result but an input. If that's the input, I don't understand what the output is supposed to be. Maybe you want to create dynamic ranges (the 'configurable' record) based on values which are unknown at the time. If that's it, I'm definitely not your guy.