excel 几个列同时满足条件求行号

来源:百度知道 编辑:UC知道 时间:2024/09/20 16:49:12
A B C
1 2 3
2 2 2
4 5 6
.....

求A列有2且B列有2且C列有3的最大间隔数.
非常感谢大狭们的及时相助,我可能由于着急,没有把问题说清楚:

excel 几个列同时满足条件求最大跨度
A 列 B列 C列
1 2 3
2 2 2
4 5 6
.....
.......
求A列是2或0 且 B列是2或1 且 C列是3或7,也即是ABC列组合是其中:223 227 213 217 023 027 013 017的一种即满足条件,那么最大跨度和最大行号值

最大跨度不是指最后个满足条件的行和最小的之差,指所以满足条件的行之间差最大的那个值

加辅助列:
D1=IF(OR(--(A1&B1&C1)={223,227,213,217,23,27,13,17}),1,0)
将公式向下复制.
假定数据有20行,最大间隔数:
=MAX(FREQUENCY(IF(D1:D20<>1,ROW(1:20)),IF(D1:D20=1,ROW(1:20))))
数组公式.

d1输入
=MAX(IF(A1:A100=2,ROW(A1:A100),0),IF(B1:B100=2,ROW(B1:B100),0),IF(C1:C100=3,ROW(C1:C100),0))-MIN(IF(A1:A100=2,ROW(A1:A100),0),IF(B1:B100=2,ROW(B1:B100),0),IF(C1:C100=3,ROW(C1:C100),0))
输入后按shift+ctrl+回车
公式两边出现大括号才对

可以算100行以内的,范围自己改

按你的例子返回是2
如果不算两边的要返回是0的话
你在公式后面加上-2 就好了
=MAX(IF(A1:A100=2,ROW(A1:A100),0),IF(B1:B100=2,ROW(B1:B100),0),IF(C1:C100=3,ROW(C1:C100),0))-MIN(IF(A1:A100=2,ROW(A1:A100),0),IF(B1:B100=2,ROW(B1:B100),0),IF(C1:C100=3,ROW(C1:C100),0))-2
输入后按shift+ctrl+回车

=SUMPRODUCT((LARGE(((A1:A200=2)+(A1:A200=0))*((B1:B200=2)+(B1:B200=1))*((C1:C200=7)+(C1:C200=3))*ROW(A1:A200),1)))-SUMPRODUCT((LARGE(((A1:A200=2)+(A1:A200=0))*((B1:B200=2)+(B1:B200=1))*((C1:C200=7)+(C1:C200=3))*ROW(A1:A200),SUMPRODUCT(((A1:A200=2)+(