我如何计算Excel表中的数据行?

我试图计算一个电子表格中包含至less一个非空值的行数在几列:即

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在至less一列中具有文本值。 同样,如果第1行在每列(A,B和C)中都有一个文本值,则这将被计为1。

有了公式,你可以做的是:

  • 在一个新的列中(比如col D-cell D2 ),加上=COUNTA(A2:C2)
  • 拖动这个公式直到你的数据结束(在我们的例子中说单元格D4
  • 添加最后一个公式(例如,在单元格D5 ): =SUM(D2:D4)

如果你想要一个简单的class轮,将为你做这一切(假设没有价值,你的意思是一个空白单元格):

 =(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)的值的数量。

最后,该公式从总行数中减去没有值的单元总数。 这将使您留下每行中包含值的单元格数量

如果你不介意VBA,这是一个function,将为你做。 你的电话会是这样的:

 =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会告诉你一行中有多less个单元格是空白的。 如果该行没有值的单元格,那么它将是256.所以我只是减去256,如果它不是0,那么我知道有一个单元格某处有一些价值。

试试这个场景:

数组= A1:C7A1-A3具有值, B2-B6具有值, C1C3C6具有值。

为了得到行数的数量,可以添加一个D列(可以在公式设置后隐藏它),并在D1中将公式=If(Sum(A1:C1)>0,1,0) 。 从D1D7复制公式(对于其他search不擅长的项目,总和公式中的数字将更改为您所在的行,这很好)。

现在在C8做一个总和公式,加上D列,答案应该是6 。 为了视觉上令人满意的目的,隐藏列D

你应该在Excel中使用sumif函数:

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

这个函数需要一个像这样的区域A5:C10然后你有一些文本来find这个文本可以在A或B然后它将添加从C行的数字。

这是我终于想出来的,这很好!

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

不要忘记,因为它是一个数组,键入上面没有“{}”的公式,并按CTRL + SHIFT + ENTER而不是只input“{}”出现,并为它正确input。