The other day, while I was putting my kids to sleep, this idea came to me. How do I check if a cell contains a palindrome, using Excel formulas?
Next morning, I wrestled with excel for about 20 minutes and boom, the formula is ready.
Here is how it works:
If you enter a word or phrase in column B, it would tell you whether it is a palindrome or not.
But what is a palindrome?
A palindrome is a word, phrase, verse, or sentence that reads the same backward or forward. For example: A man, a plan, a canal, Panama!
[definition from palindromelist.net]
So, to check if a cell contains palindrome, we need to reverse the cell contents and see if both original and reverse are the same.
For example if B1 contains MAN, then the reverse would be NAM and hence MAN is not a palindrome.
But how do we write a formula to check if a cell has palindrome?
- Assuming B1 contains the word (or phrase), the first step is to clean it. That means, we need to remove any spaces, commas, exclamation marks & other punctuation symbols. So a phrase like “Cigar? Toss it in a can. It is so tragic.” would become “CigarTossitinacanItissotragic”.
- The next step is to match this cleaned text (lets say this will be C1) with the reverse of it.
- But there is no reverse formula. So we use MID() to extract one letter at a time and match it with the corresponding letter from end. (ie first letter with last letter, second letter with second last letter etc.)
- To do this, we use,
- The left portion of this formula would give individual letters in C1 in left to right order and the right portion would give same in reverse order.
- We wrap this in a lovely SUMPRODUCT formula so that we can check for palindrome-ness of B1 using
=IF( SUMPRODUCT( ( MID(C1,ROW(OFFSET($A$1,,,LEN(C1))),1) = MID(C1,LEN(C1)-ROW(OFFSET($A$1,,,LEN(C1)))+1,1)) + 0 ) = LEN(C1), "It’s a Palindrome", "Nah!")
How does this formula work?
Well, that is your weekend homework. Go figure.
One more homework if you are game
If you feel like playing with words, here is another challenge.
How would you test if a cell contains alliteration?
(Alliteration here is defined as sentence where all words begin with same letter)
Go ahead and post your answers using comments.
Download Palindrome Test Excel Workbook
Click here to download the excel workbook and see the palindrome test formulas yourself.
Learn more about Excel Array Formulas
Array formulas are a special class of Excel formulas that can provide powerful results with little work. We have a huge collection of array formula examples on chandoo.org. Go thru below list and see how deep the rabit hole goes.
SUMPRODUCT Formula and how to use it
Advanced SUMPRODUCT Queries
Use Array Formulas to check if a list is sorted
Calculating sum of digits in a number using formulas
Check if a number is Prime using array formulas
More… Excel Array Formulas – Examples & Demos
PS: Monday is our (Indian) Independence Day. So I will see you again on Tuesday.
PPS: On Tuesday, we will be announcing our Excel Formula Crash Course. Get ready.