Split Characters in an Excel File

As a footnote, very recent builds of macOS MS Excel (those which support LAMBDA expressions in cell formulae) allow you to define and name a custom function which does this:

The help system in these builds shows you how to:

  • test a formula,
  • wrap it in =LAMBDA(valueName, outputValueFormula),
  • and then give this custom function a name under Formulas > Define Name.

for example, if we have defined a custom function which returns an Array version of an input string, and given it the name CHARS under Formulas > Define Name:

=LAMBDA(string, MID(string,ROW(INDIRECT("1:"&LEN(string))),1))

we can then use CHARS inside the definition of another custom function – let's call it SPACEDCHARS:

=LAMBDA(S, CONCAT(LAMBDA(x, x & " ")(CHARS(S))))

and then use SPACEDCHARS as in the screenshot above.

e.g.

=SPACEDCHARS(B4)

and, FWIW, another definition of SPACEDCHARS (combining our user-defined CHARS with the built-in TEXTJOIN), might be:

=LAMBDA(s, TEXTJOIN(" ",TRUE,CHARS(s)))

To summarize:

CHARS
    =LAMBDA(s, MID(s, ROW(INDIRECT("1:"&LEN(s))), 1))
    
SPACEDCHARS
    =LAMBDA(s, TEXTJOIN(" ", TRUE, CHARS(s)))

Under Formulas > Define Name:


The part that I might use Keyboard Maestro for is:

  • The storage of a collection of such definitions
  • and the export of some sub-set of them into a selected Excel workbook.

lambdaExample.xlsx.zip (8.0 KB)

2 Likes