Unlike the formula explained here, this formula is not recursive. The formula takes four inputs: text - the incoming text chars - the characters to strip rep - the character to replace stripped characters with keep - strip or preserve chars (FALSE = strip, TRUE = preserve) The keep parameter is a boolean that “flips” the behavior of the function from stripping characters to preserving characters. In a nutshell, the SEQUENCE function is used to generate two arrays: one for the text, one for chars. In order to make the function case-sensitive, these arrays are composed not of characters but of the ASCII codes for each character. The MID function extracts one character at a time, and CODE returns the numeric code. Inside the IF function, the logical test is: The ISNUMBER and MATCH combo checks each code in textarr against codes in chararr. The ABS function is used as a way to reverse the logic of the formula. If keep is set to FALSE or zero, the ISNUMBER+MATCH logic is unchanged and chars are stripped. If keep is TRUE (or 1) the logic is reversed – chars are preserved and other characters are stripped.
LAMBDA version
To convert the formula to the LAMBDA function so that the formula can be named and reused throughout the workbook, the four input arguments are moved to the front, followed by the calculation, wrapped in LET: After the LAMBDA function is named “StripCharacters” the function can be called like this: Per the example shown, the text is in cell B5, the characters to strip are “()-”, the replacement string is “”, and preserve mode is set to FALSE.
Dave Bruns
Hi - I’m Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.