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

 我来答
tianqixueyu
2014-01-06 · TA获得超过2700个赞
知道大有可为答主
回答量:1350
采纳率:80%
帮助的人:456万
展开全部
判断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
这个公式的作用应该是用来查找值最近出现行数差异值。
jasonwxw
2014-01-06 · TA获得超过3653个赞
知道大有可为答主
回答量:3717
采纳率:40%
帮助的人:2755万
展开全部
  1.  MAX(IF(A$1:A1=A2,ROW(A$1:A1)))表示如果A$1:A1这个区域找到A2的值,就取对应的行标,不满足是0。行标和0组成的数组里找max的行标。即区域里找到最后一个等于A2值对应的行标

  2. 公式表示如果区域找到了A2的值,返回1-最大满足条件的行标,否则返回空

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式