在电子表格中,如何让一组数组用公式自动计算一个数出现的间隔期数?如:
B3到G8的数字是
7 17 18 27 29 32
3 6 7 23 30 33
14 22 26 27 28 31
1 12 13 16 23 28
3 5 6 8 17 18
14 22 27 28 30 33
(从最底排向上寻找相同的数字)比如数字3从下数到上隔了两期出现就用2表示(选择空白单元格填写)
数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 结束。
=MAX((MMULT(1*(B3:G99=3),{1;1;1;1;1;1})>0)*ROW(1:97))-LARGE((MMULT(1*(B3:G99=3),{1;1;1;1;1;1})>0)*ROW(1:97),2)-1
把公式中两处的 =3 换为实际需要查找的数字即可。
追问我还有一个公式,希望你能帮我解决,今天太晚啦,改天请教你好吗
追答这个提问的方式不好理解,把问题按以下方式截图发上来并附上详细说明。
你好,我输入公式没成功
表格我发过来了,有空帮我看看好吗?谢谢
你好,在了吗
这是哪里出了问题?
追答提问应尽量详细,不要只弄个结果上来就了事,应对结果详细说明,为什么得到这样的结果。
最初提问的公式完全不适合于你现在的情况,现在的情况应是逐列统计,即B列是B列,C列是C列这样分开的,而最初回答的公式是B:G六列一起统计的,把公式改为这样右拉试试吧。
些公式输入完成后直接回车即可,无需再按三键。
=SUMPRODUCT(LARGE((B3:B3000=LOOKUP(1,0/(COUNTIF(B3:B3000,B3:B3000)>1),B3:B3000))*ROW(1:2998),{1,2})*{1,-1})-1
还是不适合的,你必须详细说明为什么得到那个结果,不要只弄个结果上来就什么也不说。
好的,我试试
计算结果是#N/A
以任意一个数据向上的所有表格里寻找相同数据,发现一个相同的数据就停止寻找。
比如E781数据是25,间隔两组用2表示
如D781向上寻找,间隔15组数据,用15表示
追答你那表格的行数不是连续的,是有隐藏行吧。公式解决不了,建议找懂VBA的大神帮忙编写VBA语言代码解决。