EXCEL公式的求助

最大连续出现次数: 在范围J9:J19里,如果当前连续出现次数超过了J7,那么J7不动,直到当前连续出现终止. (比如J19:J23连续出现5次,这时候J7还是应该是4,如果J24不连续出现了,这时候J7才变成5).还有一个,如果从J9:J19全都是连出的,此时最大连续出现次数应该是0(因为只出现了一次连出),
一.统计"J19:J9"(逆向统计),号码连续出现的次数,结果显示到"J8"。
这个比较好理解,只要统计逆向的连续次数就行了.

二.统计"J9:J19"最大的 历史连续出现的次数,就是历史最长的一段连续出现的次数.结果显示到"J7". 这个有的情况要涉及到J8的值'

1.当"J19:J9"里面全都是连续出现的数值时,这时候"J7"最大的连续出现的次数应该是原始的,为0;
2.(或者是 当"J9"为空,"J10:J19"连出时,这样的情况,"J7"的最大连出次数也是原始的,为0;)

三.连续出现的数值不要固定为某一个数,这样我可以填写任何值.
当前连续出现次数:从J19往上看,最近连续的次数J9:J19之间出现的数值不要指定,我还需要改成其它的.请老师看看这2个公式在J7和J8应该怎么写

你的问题有点乱!

先看看下面是不是你要的吧:

J7输入

=MAX(FREQUENCY(IF(J9:J19<>"",ROW(J1:J11)),IF(J9:J19<>"",,ROW(J1:J11))))

数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算。

J8输入

=11-LOOKUP(1,0/(J9:J19=""),ROW(A:A))

回车即可。


————————————————————

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-31
函数做不到的,建议用VBA!~需要的话可以帮你
第2个回答  2020-05-31
“在范围J9:J19里,如果J8超过了J7,那么J7还是不变,直到当前连续出现终止.”
我这句话就没看明白,后面的越看越蒙追问

我改了一下需求,麻烦老师再看看!

第3个回答  2020-05-31
可以用VBA函数吗?VBA函数逻辑比较简单追问

表格数据比较多,公式也比较多,用VBA反而还麻烦啊

追答

这个不影响,把函数放在模块里面就可以啦,整个表格都可以使用的。

追问

行啊,老师,就用VBA!

追答

会写吧?

追问

不会啊.请老师帮忙!

追答

重新梳理一下你的问题:

一、需要统计“J19”向上到“J9”号码最大连续出现次数,结果显示到“J8”(是这样吗?)

二、下面请说出你想要达到的目标效果是什么?

    在什么情况下,你需要什么结果?

    ……。

    ……。

    ……。

    还有就继续添加

要重新梳理一下你的问题:
一、你想要统计“J19:J9”(逆向统计),号码连续出现的次数,结果显示到“J8”。(问题是这样吗?)
二、下面请说明你想要达到的目标效果是什么
在什么情况下,你想要什么结果。
............。
............。
............。
还有的话继续说明。

追问

辛苦老师了!


追答

Public Function TotalMax(CelRange As Range) As Integer '统计最大连续现出次数
Dim Js As Integer
For i = CelRange.Count To 2 Step -1
If Val(CelRange(i, 1)) = Val(CelRange(i - 1, 1)) Then
Js = Js + 1
Else
If Js > TotalMax Then TotalMax = Js
Js = 0
End If
Next i
If TotalMax > 0 Then TotalMax = TotalMax + 1
If TotalMax >= CelRange.Count - 1 Then TotalMax = 0
End Function

Public Function AcTMax(CelRange As Range) As Integer '统计当前连续出现次数
Dim Js As Integer
For i = CelRange.Count To 2 Step -1
If Val(CelRange(i, 1)) = Val(CelRange(i - 1, 1)) Then
Js = Js + 1
Else
Exit For
End If
Next i

If Js > 0 Then AcTMax = Js + 1
End Function

把代码复制到模中就可以了

追问

辛苦老师了,我把代码放到模块里,然后点运行,它提示我指定宏.
让你见笑了,我还不知道怎么运行这个代码,应该怎么操作呢?

追答

关注我私吧

本回答被提问者采纳

Excel公式求助 求七个公式
O1公式=IF(--RIGHT(B1:L1,1)>6,"大","")Ctrl+Shift+回车,三键数组公式 5、M1公式=IF(ISERROR(--RIGHT(B1:L1,1)<5),"小",IF(--RIGHT(B1:L1,1)<5,"小",""))Ctrl+Shift+回车,三键数组公式 N1公式=if(M1="","大“,”“)6、=IF(AND(OR(--RIGHT(B1:L1,1)=9,MOD(--R...

求助ExceL统计公式
1. 第一个函数:=SUMIF($B$6:$B74,$J$77,$C$6:$C$74)。在这里,$B$6:$B74是范围,$J$77是条件,而$C$6:$C$74是根据条件求和的目标范围。2. 第二个函数:=SUMIF($G$6:$G$74,$J77,$H$6:$H$74)。同样的逻辑,$G$6:$G$74是范围,$J77是条件,$H$6:$H$74是目...

excel公式match问题?
可以使用条件格式来标识特定日期。假设日期在 A 列,选中 A 列,点击“开始”菜单中的“条件格式”,选择“新建规则”,在弹出的对话框中选择“使用公式确定要设置格式的单元格”,在公式栏中输入“=A1=DATE(YEAR(TODAY()),MONTH(A1),12)”(如果是判断是否为 10.12,则输入“=A1=DATE(YEAR(...

excel统计公式求助
如下图所示,提供众多解法中的一种,供参考,公式见截图。

excel里公式的使用,用了几个组合都达不到想要的效果,求大神指导_百度知 ...
本例excel里公式的使用,用了几个组合都达不到想要的效果,解决方法如下:假定数据在a2:l2.M2是存放判断结果。则M2公式是:=IF(AND(A3:L3<>"")*(COUNTIF(A3:L3,">100")>=COUNTA(A3:L3)),"通过","不通过")。本例中,我们对数据区域A2;L2进行多步判断处理。第一步,(A3:L3<>""),...

EXCEL。表格公式求助
EXCEL。表格公式求助 EXCEL。B1出现“借”,后面B3就要等于A3(例如数字:8000)减去B2(例如数字500);B1出现“贷”,后面B3就要等于A3(例如数字:8000)加上B2(例如数字500)。求B3的那个怎么做公式... EXCEL。B1出现“借”,后面B3就要等于A3(例如数字:8000)减去B2(例如数字500);B1出现“贷”,后面B3就要等于A3(例如...

Excel 两列减法公式求助
首先在"C1"单元格里输入公式"=A1-B1"(不要引号),然后回车(即按键盘上"Enter"键)见下图 选中"C1"单元格,将鼠标移到"C1"单元格的右下角,会出现一个黑色的小十字。这时按下鼠标左键,拖到"C11"单元格 见下图 这时你会发现:每一行的A列数据减去B列数据的差值都列在了同行的C列中 见...

EXCEL函数公式求助
选定G列,数据-分列-分隔符,勾选 逗号,分为G,H列 假设I1=INDEX(G:H,INT((ROW(A1)-1)\/2)+1,MOD((ROW(A1)-1),2)+1)下拉公式 J1=VLOOKUP("*"&$I1&"*",$B:$E,COLUMN(B1),0)右拉下拉公式即可 适合2个的,3个,4个的,同理,不是逗号的,需要替换为 逗号,可以试下 ...

第八次求EXCEL公式,看要求……(系列求助)——关于快速excel下拉公式的...
B1 输入公式 地址栏 输入 B60000 按Enter 就选中 B60000单元格,按 Ctrl+shift+ 上方向键 就选中了 B1:B60000,按Ctrl+D === 或者 地址栏输入 B1:B60000 输入公式后 按Ctrl +Enter === 或者复制B1 或者 地址栏输入 B1:B60000,Ctrl+V 粘贴 ...

excel表格公式无效、不生效的解决方案及常见问题、常用函数
当在Excel中输入公式后,发现公式未能生效,显示为文本而非计算结果时,可能是因为单元格格式问题。可以通过右键点击单元格,选择“设置单元格格式”调整为常规格式,然后双击该单元格,输入回车键以使公式生效。遇到公式错误时,可以通过公式选项卡中的“公式求值”功能排查问题。选中需要排查的公式单元格,...

相似回答