请求详解这个语句的含义:=IF(COUNTIF(A$1:A1,A2),ROW(A1)-MAX(IF(A$1:A1=A2,ROW(A$1:A1))),"")

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 15:20:13
请求详解这个语句的含义:=IF(COUNTIF(A$1:A1,A2),ROW(A1)-MAX(IF(A$1:A1=A2,ROW(A$1:A1))),

请求详解这个语句的含义:=IF(COUNTIF(A$1:A1,A2),ROW(A1)-MAX(IF(A$1:A1=A2,ROW(A$1:A1))),"")
请求详解这个语句的含义:=IF(COUNTIF(A$1:A1,A2),ROW(A1)-MAX(IF(A$1:A1=A2,ROW(A$1:A1))),"")

请求详解这个语句的含义:=IF(COUNTIF(A$1:A1,A2),ROW(A1)-MAX(IF(A$1:A1=A2,ROW(A$1:A1))),"")
判断A$1单元格的值是否等于A2单元格的值,如果是则返回A2单元格所在的行数减去满足条件的单元格所在行数的差,如果不是则返回空白.
这个公式应该是会进行下拉填充操作的,下拉之后会变成:
=IF(COUNTIF(A$1:A2,A3),ROW(A2)-MAX(IF(A$1:A2=A3,ROW(A$1:A2))),"")
再下拉:
=IF(COUNTIF(A$1:A3,A4),ROW(A3)-MAX(IF(A$1:A3=A4,ROW(A$1:A3))),"")
由此我们可以看出,它的效果是这样:
查找A2:An区域中的每个单元格,是否曾经出现在A1:An-1区域的单元格中,如果找到了,就用查找的值所在单元格的行数减一,然后再去减被查找到的所有行数中最大的行数,没找到就是空白.
实体化的例子:
A1:A5单元格的数字分别是2,2,2,1,2
当公式下拉之后变成
=IF(COUNTIF(A$1:A4,A5),ROW(A4)-MAX(IF(A$1:A4=A5,ROW(A$1:A4))),"")
先看A5单元格的值:2,查找A$1:A4的每个单元格是不是出现过2,找到了,A1\A2\A3都出现过,好,那么就用查找的值所在单元格的行数减一,A5在第五行-1(也就是A4所在的行)=4,然后再减去被找到的最大的行数=3(A3)那么就是4-3=1,公式的最终结果就是1
这个公式的作用应该是用来查找值最近出现行数差异值.