Took me a while to find the right code (thank you once again, StackOverflow!!), but I managed to find my solution using only the R tool, rather than just loading the data and then using regular Alteryx tools.
Definitely not the most intuitive programming language to dive headfirst into (having had exactly 1 experience in Python and 1 in R, I'd currently vote for Python... though clearly this sample size is lacking haha), but it at least started making more sense by the end.
Note: Thanks to
@patrick_digan for unwittingly helping with my solution - I definitely took a shortcut and just "borrowed" your logic for determining the lower & upper bounds of each carat range :)