I'd write a function like this: ModulusLetter[n_Integer?(GreaterThan[26])] := StringJoin[Part[Alphabet[], 1 + MapAt[# - 1 &, IntegerDigits[n - 1, 26], 1]]]; ModulusLetter[n_Integer?Positive] := Alphabet[][[n]] It's a bit messy, because the "modulus" of the first character is different than the subsequent characters. Might be a more elegant way with Mod or QuotientRemainder or something.