前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >20211202,爱的对称日,Excel也能判断

20211202,爱的对称日,Excel也能判断

作者头像
fanjy
发布2021-12-06 14:51:23
8700
发布2021-12-06 14:51:23
举报
文章被收录于专栏:完美Excel完美Excel

标签:Excel公式练习

前天,2021年12月2日,“20211202”,从左往右读或从右往左读都一样,被大家称为“爱的对称日”。引用人民日报的微博:“人生漫长也短暂,愿你永远会为了一朵盛放的花而感到快乐,会为了一顿简单的家常菜笑意盈盈。爱的对称日,愿你的生活充满爱。”

其实,这就是我们常说的“回文”。回文是一个单词、短语、韵文或句子,从前往后阅读或者从后往前阅读的内容都相同。例如:A man, a plan, a canal, Panama!

因此,如果要检查单元格中的内容是否是回文,需要反转单元格内容,看看原内容与反转后的内容是否相同。例如,下图1所示的数据,单元格B4中包含的内容“mam”,反转后的内容也是“mam”,因此“mam”是一个回文。

图1
图1

如何编写公式来判断呢?

假设单元格B4中包含单词或句子,首先要对其进行清理,即删除其中的空格、逗号、感叹号和其他标点符号。因此,句子“Cigar?Toss it in a can.It is so tragic.”整理后为“CigarTossitinacanItissotragic”。

下一步是将这个清理过的文本(假设在C4中)与其反转的内容相匹配。

但没有反转文本的公式。因此,使用MID()一次提取一个字母,并将其与从末尾开始的相应字母匹配。(即第一个字母与最后一个字母、第二个字母与倒数第二个字母等)

使用:

MID(C4,ROW(OFFSET(A1,,,LEN(C4))),1) = MID(C4,LEN(C4)-ROW(OFFSET(A1,,,LEN(C4)))+1,1)

上面公式的左部分将按从左到右的顺序提取出C4中的各个字母,右部分将按从右到左的顺序提出字母。

我们将其放置在SUMPRODUCT公式中,以便检查C4中是否是回文:

=IF(SUMPRODUCT((MID(C4,ROW(OFFSET(A1,,,LEN(C4))),1)=MID(C4,LEN(C4)-ROW(OFFSET(A1,,,LEN(C4)))+1,1))+0)=LEN(C4),"是回文", "不是!")

原理相同,也可以使用下面的公式:

=IF(SUMPRODUCT((MID(C4,ROW(INDEX(A:A,1):INDEX(A:A,LEN(C4))),1)=MID(C4,LEN(C4)-ROW(INDEX(A:A,1):INDEX(A:A,LEN(C4)))+1,1))+0)=LEN(C4),"是回文","不是!")

你的公式更简洁优雅吗?欢迎留言。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档