作者:乔山办公网日期:
返回目录:excel表格制作
借用一下F列,写公式如下:
F1公式:=A1
F2公式:=IF(A2="",F1,A2)
拖动F2填充F列
现在E列公式如下:
E1公式:=IF(F1=D$1,B1,"")
拖动E1填充E列
在一个空白的列,输知入下面的公式,向下拉即可,
=IF(COUNTIF($A$1:$F$6,">0")0,$A$1:$F$6),ROW(A1)))
这是数组公式,结束时要同时按下ctrl+shift+enter
--------------------------------------------------------
在一个空白的列道,输入下面的公式,向下拉即可,
=IF(ISNUMBER(OFFSET($A$1,MOD(ROW(A1)-1,6),INT((ROW(A1)-1)/6))),IF(OFFSET($A$1,MOD(ROW(A1)-1,6),INT((ROW(A1)-1)/6))>0,ADDRESS(MOD(ROW(A1)-1,6)+1,INT((ROW(A1)-1)/6)+1,4),""),"")
这个公式的结果就是不付合条件的为空,付合的出现位置,
如果你想内要连续的不要空格的,那用函数就容有点难了,用VBA可以,如果需要VBA就发百度消息,然后我再写代码给你
真够难缠来,单个的已经非常复自杂了,并列百最多的近乎灾度难。
=MATCH(MAX(MMULT(TRANSPOSE(ROW(INDIRECT("1:"&LEN(A1&B1&C1&D1))))^0,N((--MID(A1&B1&C1&D1,ROW(INDIRECT("1:"&LEN(A1&B1&C1&D1))),1)=COLUMN(A:J)-1)))),MMULT(TRANSPOSE(ROW(INDIRECT("1:"&LEN(A1&B1&C1&D1))))^0,N((--MID(A1&B1&C1&D1,ROW(INDIRECT("1:"&LEN(A1&B1&C1&D1))),1)=COLUMN(A:J)-1))),)-1
数组公问式,按ctrl+shift+enter输入答。
方法解决(假定数据在A1:A100):
1、=SUMPRODUCT((A$1:A$100>A1)/COUNTIF(A$1:A$100,A$1:A$100))+1
其中:COUNTIF(A$1:A$100,A$1:A$100)统计每zd个单元格值重复的次数;
A$1:A$100>A1得到所有数据中大于当前单元格值的情况;
上面两个部分对应相除后,每个单元格值无论重复多少次,其和值均为1,再经过相加得回到当前值的排列序号。
2、=SUMPRODUCT(N(IF(FREQUENCY(A$1:A$100,A$1:A$100),A$1:A$100,0)>=A1))
其中:FREQUENCY(A$1:A$100,A$1:A$100)标出不重复出现的单元格位置,再配合答IF函数,将不重复的值挑选出来,通过与当前值进行大小判断,得到当前值的序号。