2011-07-28 217 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)的值数。

最后,该公式从总行数中减去没有值的单元格总数。这给每个包含值的单元格的数量提供了一个值

相关问题