Working from the inside out, the LEN function calculates the length of the string, and this is joined by concatenation to "1:", creating a text range like this: "1:3"
This text is passed into INDIRECT, which evaluates the text as a reference and returns the result to the ROW function. The ROW function returns the rows contained in the reference in an array of numbers like this:
Notice we have one number for each letter in the original text.
This array goes into the MID function, for the start_num argument. The text comes from column B, and the number of characters is hardcoded as 1
Finally, with multiple start numbers, MID returns multiple results in an array like this.