寻找动态公式谷歌表格

时间:2020-12-22 16:01:39

标签: google-sheets

我一直在使用下面的公式来计算 1 到 11。

我有很多数据需要手动应用这个公式,这需要很多时间。

我只想要如果 Col"B:B" 有这个词,即再次 "SHAUK",那么公式应该再次开始计数 1 到 11。

我添加了一个示例表,请查看此问题。

提前感谢您的帮助。

=SEQUENCE(11,1)

3 个答案:

答案 0 :(得分:2)

试试:

=INDEX(TRIM(TRANSPOSE(QUERY(TRANSPOSE({
 IF(B3:B="shauk", 1, ),                            QUERY({""; 
 IF(B3:B="shauk", 2, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";  
 IF(B3:B="shauk", 3, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";"";
 IF(B3:B="shauk", 4, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";"";"";
 IF(B3:B="shauk", 5, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";"";"";"";  
 IF(B3:B="shauk", 6, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";"";"";"";""; 
 IF(B3:B="shauk", 7, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";"";"";"";"";"";
 IF(B3:B="shauk", 8, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";"";"";"";"";"";"";
 IF(B3:B="shauk", 9, )}, "limit "&ROWS(B3:B), 0),  QUERY({"";"";"";"";"";"";"";"";"";
 IF(B3:B="shauk", 10, )}, "limit "&ROWS(B3:B), 0), QUERY({"";"";"";"";"";"";"";"";"";""; 
 IF(B3:B="shauk", 11, )}, "limit "&ROWS(B3:B), 0) }),, 9^9))))

enter image description here

答案 1 :(得分:1)

我认为这会奏效:

=ARRAYFORMULA(IF(
COUNTIFS(LOOKUP(ROW(B3:B),FILTER(ROW(B3:B),B3:B="SHAUK")),LOOKUP(ROW(B3:B),FILTER(ROW(B3:B),B3:B="SHAUK")),ROW(B3:B),"<="&ROW(B3:B))>11,,
COUNTIFS(LOOKUP(ROW(B3:B),FILTER(ROW(B3:B),B3:B="SHAUK")),LOOKUP(ROW(B3:B),FILTER(ROW(B3:B),B3:B="SHAUK")),ROW(B3:B),"<="&ROW(B3:B))))

enter image description here

答案 2 :(得分:1)

更短的解决方案:

=INDEX(IFERROR(1/(1/QUERY(FLATTEN(IFERROR(VLOOKUP(1, 
 SPLIT(FLATTEN(SPLIT(JOIN(" ", IF(B3:B="shauk", "× "&
 QUERY(ROW(1:11),,9^9), 0)), "×")), " "), 
 IF(1=SPLIT(FLATTEN(SPLIT(QUERY(IF(B3:B<>"shauk", 1, "× 1"),,9^9), "×")), " "), 
 COLUMN(A:AAA), )*1, ))), "where Col1 is not null", ))))

enter image description here