所谓回文,是指单词或句子无论是从左向右读还是从右向左读,都是一样的。也就是说,属于回文...
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}
怎么使用SUM函数
SUM函数可能是Excel中最最普通平常的函数了,它对数值求和。只要是使用过Excel的人,可能或多或少都接触过SUM函数。 什么情况下使用SUM函数? SUM函数计算数值的和,它能够: 求单元格区域数值之和 求交叉区域的单元格数值之和 跨工作表求和 逐行汇总 自动扩展求和单元格 在数组公式中使用S
将上述结果代入公式:
=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!”)
显然得到:
No!
DATEDIF函数怎么用
DATEDIF函数怎么用?WPS表格中的DATEDIF函数有什么用?怎么用?DATEDIF 函数一般用来计算两个日期之差,也就是返回两个日期之间的年\月\日间隔数。办公室中常用来计算员工的工龄,以便计算工龄工资和经济补偿金之类的。 DATEDIF(start_date,end_date,unit) Start_da