在Excel中search具有相同数据的两个连续行
我有一个大约100列的数据库,其数据类似于COL A到COL H.
我使用COL J中的公式在“ – ”列中search两个连续的行,并将第二行标记为double,如您在J16和J32上所看到的。 这种方法非常耗时,因为我经常search不同的列,每次都必须更改公式。
我想要像N3的东西。 input列ID,当我打进入时,我会自动获得连续两个“ – ”的行数,我也想增加search三倍和四倍。
任何帮助将不胜感激。
J2上的公式:
=IF(AND(OR(F2=F1,F1="-"),F2="-"),"double","")
图像在这里
在N5来数双打的时候,
=COUNTIFS(INDEX(A:H, 2, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64)), CODE(UPPER(N3))-64), "-", INDEX(A:H, 3, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+1, CODE(UPPER(N3))-64), "-")
这是使用的dynamic等价物,
=COUNTIFS(G2:G20, "-", G3:G21, "-")
在N6中计算三倍,
=COUNTIFS(INDEX(A:H, 2, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64)), CODE(UPPER(N3))-64), "-", INDEX(A:H, 3, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+1, CODE(UPPER(N3))-64), "-", INDEX(A:H, 4, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+2, CODE(UPPER(N3))-64), "-")
在N7中计算四边形,
=COUNTIFS(INDEX(A:H, 2, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64)), CODE(UPPER(N3))-64), "-", INDEX(A:H, 3, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+1, CODE(UPPER(N3))-64), "-", INDEX(A:H, 4, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+2, CODE(UPPER(N3))-64), "-", INDEX(A:H, 5, CODE(UPPER(N3))-64):INDEX(A:H, MATCH("zzz", INDEX(A:H, , CODE(UPPER(N3))-64))+3, CODE(UPPER(N3))-64), "-")
如果你需要quints,你应该能够从这些想法。
您想要在单元格N3中使用您的列条目。 你可以使用间接函数来做到这一点。 只需更改单元格J2中的公式即可:
=IF(AND(OR(F2=F1,F1="-"),F2="-"),"double","")
对此:
=IF(AND(INDIRECT(N$3&ROW())="-",INDIRECT(N$3&ROW()-1)="-"),"double","")
你可以用相同的方法捕获三元组和四元组,尝试这个公式…它只会从第4行开始工作,结果可能会感到混乱,这取决于你需要什么:
=IF(AND(INDIRECT(N$3&ROW()-1)="-",INDIRECT(N$3&ROW())="-"),IF(AND(INDIRECT(N$3&ROW()-2)="-",INDIRECT(N$3&ROW()-1)="-",INDIRECT(N$3&ROW())="-"),IF(AND(INDIRECT(N$3&ROW()-3)="-",INDIRECT(N$3&ROW()-2)="-",INDIRECT(N$3&ROW()-1)="-",INDIRECT(N$3&ROW())="-"),"quadruple","triple"),"double"),"")
参照底部的数字,有:
-
辅助细胞
N1:N2
和N9:N19
,其内容有助于您需要的配方更加简洁。 请参阅下面的解释和公式。 -
单元格与您需要的公式 ,使用
SUMPRODUCT
结合一些forms的dynamic参考。-
单元格
N5:N7
给出你想要的结果,但是有固定的引用。 这些是
N5
:=SUMPRODUCT(($G$2:$G$21="-")*($G$3:$G$22="-"))
N6
:=SUMPRODUCT(($G$2:$G$20="-")*($G$3:$G$21="-")*($G$4:$G$22="-"))
N7
:=SUMPRODUCT(($G$2:$G$19="-")*($G$3:$G$20="-")*($G$4:$G$21="-")*($G$5:$G$22="-"))
你可以掌握系统。 -
单元格
O5:O7
给出了相同的结果,使用INDIRECT
而不是固定的引用( 选项#1为你所需要的 ,看到这个 )。 这些是
O5
:=SUMPRODUCT( (INDIRECT($N$3&$N$9):INDIRECT($N$3&($N$10-1))="-") *(INDIRECT($N$3&($N$9+1)):INDIRECT($N$3&$N$10)="-") )
O6
:=SUMPRODUCT( (INDIRECT($N$3&$N$9):INDIRECT($N$3&($N$10-2))="-") *(INDIRECT($N$3&($N$9+1)):INDIRECT($N$3&($N$10-1))="-") *(INDIRECT($N$3&($N$9+2)):INDIRECT($N$3&$N$10)="-") )
你可以掌握系统并写出单元格O7
的公式。 -
单元格
P5:P7
给出了相同的结果,使用OFFSET
而不是固定的引用( 选项#2为你所需要的 ,看到这个 , 这个或这个 )。 这些是
P5
:=SUMPRODUCT( (OFFSET($A$1,$N$12,$N$14):OFFSET($A$1,$N$13-1,$N$14)="-") *(OFFSET($A$1,$N$12+1,$N$14):OFFSET($A$1,$N$13,$N$14)="-") )
P6
:=SUMPRODUCT( (OFFSET($A$1,$N$12,$N$14):OFFSET($A$1,$N$13-2,$N$14)="-") *(OFFSET($A$1,$N$12+1,$N$14):OFFSET($A$1,$N$13-1,$N$14)="-") *(OFFSET($A$1,$N$12+2,$N$14):OFFSET($A$1,$N$13,$N$14)="-") )
您可以掌握系统并为单元格P7
编写公式。 -
有可能其他选项结合
INDIRECT
和OFFSET
(见本 )。 使用INDEX
的选项(尽pipe可能不是唯一的变体)被Jeeped覆盖。
-
关于助手单元格的注意事项:我build议使用助手单元格,这也适用于这里发布的其他答案。 当然,你可以移动这些单元格,调整相应的公式。 这里唯一不平凡的公式是单元格N11
, =COLUMN(INDIRECT($N$3&"1"))
(见这个或这个 )。 如果您要使用INDEX
单元格N19
可能会很有用。