发布网友
共4个回答
热心网友
这个问题看起来蛮有意思的,来试试,
假如你的数据在A1:A800中,在B1中输入
=IF(ISERROR(MATCH(A14,A15:$A$800,0)),"",IF(A14=A15,1,SUMPRODUCT(1/COUNTIF(OFFSET($A$1:$A$800,COUNTA($A$1:A14)+1,0,MATCH(A14,A15:$A$800,)-1,1),OFFSET($A$1:$A$800,COUNTA($A$1:A14)+1,0,MATCH(A14,A15:$A$800,)-1,1)))))
同时按下ctrl+shift+enter,拖动到B800单元格,就可以了,你可以对单元格地址进行修改,如果数据不止800行,有5000行,可将里面的800改成5000行,修改好之后别忘了同时按下ctrl+shift+enter啊。 开始的答案是错的,有些问题没有想到。
具体想法如下:就是利用OFFSET函数提供一个偏移量,返回一个区域,比如在A1中数据为B,这个区域就是从A2开始,往下寻找到下一个B为止。这个是问题的关键,只要找到的这个区域,问题就好了一半,再利用sumproct和countif函数计算出这个区域的不同值个数,再利用if函数对错误值进行删选。
热心网友
怎么是倒过来的呢?
这样吧:
在B8中输入公式:
=if(countif($a$8:a8,a8)>1,countif($a$8:a8,a8),"")
公式从下往上拉
热心网友
我大概明白了。。
首先是从后往前推是吧,最后一个单元格当做第一次出现,然后网上的单元格就搜索他后面的单元格,比如倒数第二个搜索最后一个,倒数第三个搜索倒数第二个和倒数第一个,然后统计出现次数,等等
具体百度HI里说吧。。。。
热心网友
本人空间有实例