2014-09-25 44 views
2

我已經得到了在谷歌文檔,看起來像#電子表格計數,直到空行

2010 <X> 
Row1 
Row2 
Row3 
Row4 

1999 <Y> 
Row1 
Row2 
Row3 
Row4 
Row5 
Row6 

其中X是4,因爲是在2010年部分行後面是空白線。 Y爲6,因爲直到文檔結尾有6行。

我曾嘗試

=filter(row(A:A), A:A="",row(A:A)<=max(filter(row(A:A),A:A<>""))) 

=filter(row($A:$A),(len($A:$A)=0)*(row($A:$A)>row()))-row()-1 

他們都返回

error: Mismatched range lengths

什麼能在這種情況下怎麼辦?使用命名部分非常耗時,因爲最多可以有100個部分。

感謝

回答

2

如果將是最好的存儲你的數據是這樣,而不是:

 A   B  C 
-------------------------- 
1|  2010 Row1 <X> 
2|  2010 Row2 
3|  2010 Row3 
4|  2010 Row4 
5| 
6|  1999 Row1 <Y> 
7|  1999 Row2 
8|  1999 Row3 
9|  1999 Row4 
10|  1999 Row5 
11|  1999 Row6 

因爲那時XY可以簡單的計算方法爲爲:=countif(A:A,A1)=countif(A:A,A6)



如果你有你的設置

  A  B 
-------------------------- 
1|  2010 <X> 
2|  Row1  
3|  Row2  
4|  Row3  
5|  Row4 
6|    
7|  1999 <Y> 
8|  Row1  
9|  Row2  
10|  Row3  
11|  Row4  
12|  Row5  
13|  Row6  

再堅持,你可以使用:
=ArrayFormula(match(1,--(ISBLANK(A1:A13)),0)-2)
(只要總有集「歲月」

  • 之間的空行ISBLANK(A1:A13)返回數組結果{FALSE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,...}
  • --更改爲:{0,0,0,0,0,1,0 .. 。}
  • match()返回第一1在該列表中的位置或行:6
  • 我們然後拿走2,對於空行和標題行
  • 我們必須運行整個薄作爲陣列公式,因爲我們需要ISBLANK()依次處理每個單元格。
+0

太好了,謝謝!儘管double-minus對我無效並返回瞭解析錯誤。我直接在值中使用TRUE來匹配。所以它看起來像= ArrayFormula(match(TRUE,ISBLANK(A1:A13),0)-2) – 2014-09-25 13:45:29