http://www.pptjcw.com

wps演示背景图片怎么设置:excel函数怎么判断回文

    excel函数怎么判断回文?使用公式判断单元格中的数据是否是回文。

    所谓回文,是指单词或句子无论是从左向右读还是从右向左读,都是一样的。也就是说,属于回文的单词或句子是左右对称的。例如,单词“deed”、“madam”。

    先不看答案,自已动手试一试。

    公式

    假设单词或句子在单元格A1中,那么可以使用公式:

    =IF( SUMPRODUCT( ( MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1)= MID(A1,LEN(A1)-ROW(OFFSET($A$1,,,LEN(A1)))+1,1)) + 0 ) = LEN(A1), “这个是回文”,”No!”)

    判断该单元格中的值是否是回文。

    公式解析

    1. 假设单元格A1中的数据是“madam”。很明显,这是个回文。

    公式中的:

    ROW(OFFSET($A$1,,,LEN(A1)))

    OFFSET函数以单元格A1为起点扩展5个单元格(示例中LEN(A1)=5),因此其可解析为:

    ROW($A$1:$A$5)

    得到:

    {1;2;3;4;5}

    这样,公式中的:

    MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1)

    转换为:

    MID(A1, {1;2;3;4;5},1)

    得到:

    {“m”;”a”;”d”;”a”;”m”}

    再看公式中的:

    MID(A1,LEN(A1)-ROW(OFFSET($A$1,,,LEN(A1)))+1,1)

    可转换为:

    MID(A1,LEN(A1)-{1;2;3;4;5}+1,1)

    转换为:

    MID(A1,5 -{1;2;3;4;5}+1,1)

    转换为:

    MID(A1,{5;4;3;2;1},1)

    得到:

    {“m”;”a”;”d”;”a”;”m”}

    将两者相比较:

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

    即:

    {“m”;”a”;”d”;”a”;”m”}={“m”;”a”;”d”;”a”;”m”}

    得到:

    {TRUE;TRUE;TRUE;TRUE;TRUE}

    将上述结果代入公式:

    =IF( SUMPRODUCT( ( MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1) = MID(A1,LEN(A1)-ROW(OFFSET($A$1,,,LEN(A1)))+1,1))+ 0 ) = LEN(A1), “这个是回文”, “No!”)

    得到:

    =IF( SUMPRODUCT( ({TRUE;TRUE;TRUE;TRUE;TRUE})+ 0 ) = LEN(A1), “这个是回文”, “No!”)

    转换为:

    =IF( SUMPRODUCT( {1;1;1;1;1} ) =LEN(A1), “这个是回文”, “No!”)

    转换为:

    =IF( 5 = LEN(A1), “这个是回文”,”No!”)

    转换为:

    =IF( 5 = 5,”这个是回文”, “No!”)

    转换为:

    =IF( TRUE ,”这个是回文”, “No!”)

    得到:

    这个是回文

    2. 假设单元格A1中的数据是“excel”。很明显,这不是回文。

    根据上面的分析可知,公式中的:

    MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1)

    将转换为:

    {“e”;”x”;”c”;”e”;”l”}

    公式中的:

    MID(A1,LEN(A1)-ROW(OFFSET($A$1,,,LEN(A1)))+1,1)

    将转换为:

    {“l”;”e”;”c”;”x”;”e”}

    两者比较:

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

    即:

    {“e”;”x”;”c”;”e”;”l”}={“l”;”e”;”c”;”x”;”e”}

    得到:

    {FALSE;FALSE;TRUE;FALSE;FALSE}

    代入主公式中,得到:

    =IF( SUMPRODUCT( ({TRUE;TRUE;TRUE;TRUE;TRUE})+ 0 ) = LEN(A1), “这个是回文”, “No!”)

    转换为:

    =IF( SUMPRODUCT({0;0;1;0;0}) =LEN(A1), “这个是回文”, “No!”)

    转换为:

    =IF(1 = 5, “这个是回文”,”No!”)

    提示:如果您觉得本文不错,请点击分享给您的好友!谢谢

    上一篇:wps演示背景图片怎么设置:excel函数怎么移除单元格后的值 下一篇:wps修改图片颜色教程:怎么使用SUM函数

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。