2011-07-28 248 views
11

我試圖計數,其中含有超過幾列的至少一個非空值的電子表格的行數:即如何計算Excel工作表中數據的行數?

row 1 has a text value in column A 
row 2 has a text value in column B 
row 3 has a text value in column C 
row 4 has no values in A, B or C 

的公式將等同於3,因爲行1,2,& 3在至少一列中具有文本值。同樣,如果第1行在每列中有一個文本值(A,B,& C),則這將計爲1.

回答

1

如果您不介意VBA,則下面的函數將爲您執行此操作。您的電話會是這樣的:

=CountRows(1:10) 
Function CountRows(ByVal range As range) As Long 

Application.ScreenUpdating = False 
Dim row As range 
Dim count As Long 

For Each row In range.Rows 
    If (Application.WorksheetFunction.CountBlank(row)) - 256 <> 0 Then 
     count = count + 1 
    End If 
Next 

CountRows = count 
Application.ScreenUpdating = True 

End Function 

它是如何工作的:我利用這樣的事實,有一個256行限制。工作表公式CountBlank會告訴你一行中有多少個單元格是空白的。如果行沒有值的單元格,那麼它將是256.所以我只是減去256,如果它不是0,那麼我知道有一個單元格有某個值。

17

中的公式,你可以做的是:

  • 在新的一列(說山坳d - 細胞D2),加=COUNTA(A2:C2)
  • 拖動這個公式,直到你的數據(比如電池D4結束在我們的例子)
  • 添加最後一個公式來概括起來(例如細胞D5):=SUM(D2:D4)
+3

+1,這裏的關鍵函數是COUNTA(注意最後的A),它對包含數據的單元格進行計數。 –

+0

對於任何不知道行數或希望變量的人,只需鍵入整列:'= COUNTA(A:A)',假設該列只包含您想要計數的單元格,而沒有其他值。 – TylerH

0

試試這個場景:

Array = A1:C7A1-A3具有值,B2-B6具有值並且C1,C3C6具有值。

要獲得行數的計數,請添加列D(可以在公式設置後將其隱藏),並在D1中加上公式=If(Sum(A1:C1)>0,1,0)。將公式從D1複製到D7(對於其他搜索不擅長識字的人,總和公式中的數字將更改爲您所在的行,這很好)。

現在在C8作出總和公式,加總D列,答案應該是6。爲了視覺上令人滿意的目的,隱藏欄目D

0

你應該使用Excel中SUMIF函數:

=SUMIF(A5:C10;"Text_to_find";C5:C10)

這個函數有一系列這樣的方形A5:C10,然後你有一些文字來找到這個文本可以是A或B,則它將從C行添加數字。

+0

這隻適用於文本匹配的情況。如果該人正在處理唯一的電子郵件或名稱,該怎麼辦?或者只是試圖找出有和沒有非統一數據的單元數量? –

0

這是我終於想出來的,這很棒!

{=SUM(IF((ISTEXT('Worksheet Name!A:A))+(ISTEXT('CCSA Associates'!E:E)),1,0))-1}

不要忘記,因爲它是鍵入下式的陣列上方沒有「{}」,並且CTRL + Shift + Enter,而不是僅僅ENTER爲「{}」出現和要正確輸入。

2

如果你想要一個簡單的班輪,將盡一切爲你(由沒有價值假設你的意思是一個空白單元格):

=(ROWS(A:A) + ROWS(B:B) + ROWS(C:C)) - COUNTIF(A:C, "") 

如果沒有價值,你的意思是單元格中包含0

=(ROWS(A:A) + ROWS(B:B) + ROWS(C:C)) - COUNTIF(A:C, 0) 

該公式通過首先總結列A,B和C中的所有行(如果需要統計更多行,只需增加範圍中的列,例如ROWS(A:A) + ROWS(B:B) + ROWS(C:C) + ROWS(D:D) + ... + ROWS(Z:Z))即可工作。

然後該公式計算相同範圍內空白值(或第二個示例中爲0)的值數。

最後,該公式從總行數中減去沒有值的單元格總數。這給每個包含值的單元格的數量提供了一個值

相關問題