Forum Discussion
djclements
Aug 12, 2026Silver Contributor
Braille Translator Challenge
Using the Braille Alphabet lookup table provided:
- Part 1 - convert the given phrase from Braille to words.
- Part 2 - convert the given phrase from words to Braille.
✅ Solutions should be in the form of a single-cell formula.
✅ Generalized Lambda functions are welcome, provided the function definitions are included with your solution.
✅ Keep in mind, the "best" solution is not necessarily the shortest...
- Strive for conciseness, if you wish; just don't let your solutions be ordinary. 😉
Good luck and have fun!
2 Replies
- IlirUIron Contributor
Hi djclements,
(I have not used the LAMBDA function in my formula)
I applied the first formula to cell AF10.
=LET( data, B3:Q18, phrase, T5:BS7, CONCAT(XLOOKUP(BYCOL(WRAPCOLS(BYCOL(phrase, ARRAYTOTEXT), 2), ARRAYTOTEXT), HSTACK(BYCOL(WRAPCOLS(BYCOL(CHOOSEROWS(data, {2,3,4}), ARRAYTOTEXT), 2), ARRAYTOTEXT), BYCOL(WRAPCOLS(BYCOL(CHOOSEROWS(data, {6,7,8}), ARRAYTOTEXT), 2), ARRAYTOTEXT), BYCOL(WRAPCOLS(BYCOL(CHOOSEROWS(data, {10,11,12}), ARRAYTOTEXT), 2), ARRAYTOTEXT), BYCOL(WRAPCOLS(BYCOL(CHOOSEROWS(data, {14,15,16}), ARRAYTOTEXT), 2), ARRAYTOTEXT)), HSTACK( TOROW(CHOOSEROWS(data, 1), 1), TOROW(CHOOSEROWS(data, 5), 1), TOROW(CHOOSEROWS(data, 9), 1), TOROW(CHOOSEROWS(data, 13), 1) ))))The second formula is the same as the first formula, but instead of T5:BS7, T19:BS21 should be inserted in the formula.
Try it and let me know.
IlirU
- askanOccasional Reader
Part1: =LET(b,HSTACK(B4:Q6,B8:Q10,B12:Q14,B16:Q18),a,IF(b="",0,b),c,HSTACK(CHAR(SEQUENCE(,26,97)),TOROW(F15:Q15,1)),l,LAMBDA(i,DROP(REDUCE(0,SEQUENCE(COLUMNS(i)/2,,,2),LAMBDA(x,y,HSTACK(x,CONCAT(CHOOSECOLS(i,y,y+1))))),,1)),CONCAT(XLOOKUP(l(IF(T5:BS7="",0,T5:BS7)),l(a),c))) Part2: =LET(b,HSTACK(B4:Q6,B8:Q10,B12:Q14,B16:Q18),a,IF(b="",0,b),c,HSTACK(CHAR(SEQUENCE(,26,97)),TOROW(F15:Q15,1)),l,LAMBDA(i,DROP(REDUCE(0,SEQUENCE(COLUMNS(i)/2,,,2),LAMBDA(x,y,HSTACK(x,CONCAT(CHOOSECOLS(i,y,y+1))))),,1)),d,REGEXEXTRACT(T16,".",1),e,XLOOKUP(d,c,l(a)),r,DROP(REDUCE(0,e,LAMBDA(x,y,HSTACK(x,WRAPROWS(REGEXEXTRACT(y,".",1),2)))),,1),SUBSTITUTE(r,0,))