计算 Excel 中的空白行,而不是空白单元格

计算 Excel 中的空白行,而不是空白单元格

有没有办法在 Excel 2016 中计算空白“行”,而不仅仅是空白单元格。我有一个文档,我需要知道某个数据范围内有多少行没有任何内容。希望这有意义。谢谢!

答案1

不需要 VBA。不需要辅助列。甚至不需要数组输入公式!

工作表截图

在中输入以下公式H2

=SUM(--(MMULT(--(A2:F11<>""),ROW(INDEX(H:H,1):INDEX(H:H,COLUMNS(A2:F11))))=0))

该公式的工作原理是将整个范围的非空白检查矩阵与长度与范围列数相同的非零列向量相乘。如果相应行的任何单元格非空白,则会产生一个大于零的值的列向量。将这些值中的每一个的零检查相加,得出空白行的数量。

答案2

在此处输入图片描述

怎么运行的:

  • 在单元格 E2 中写入此公式:=QUOTIENT(COUNTBLANK(B2:D2),3)并填写。

笔记, 3 代表数据范围中的“总列数”,如 B、C 和 D 为 3。您可以将其更改为数据范围中包含的列数。

  • 在单元格 E11 中写入此公式=Sum(E2:E10)

答案3

如果您能够使用 VBA,那么这相当简单。此代码将以选定的范围作为输入。然后,它分别选择每一行并检查它是否为空。如果是,则它将计数器增加 1。最后,它会重新选择您的原始范围并给出一个消息框,其中包含完全为空的行数。它需要进行一些修改才能仅选择部分行,但这也应该相当容易实现。

Public Sub countBlanks()
Dim Rowcount, currentRow, i, countBlanks As Integer
Dim Selected As Variant
Selected = Selection.Address
Rowcount = Selection.Rows.Count
currentRow = Selection.Rows(1).Row
For i = currentRow To currentRow + Rowcount - 1
    Rows(i).Select
    If WorksheetFunction.CountA(Selection) = 0 Then countBlanks = countBlanks + 1
Next i
Range(Selected).Select
MsgBox countBlanks
End Sub

相关内容