我想计算给定数据范围内的所有空白和非空白单元格,直到具有数据的单元格为止。但我也只限于提及,O4:O18
。
根据上面的示例,我只需要将Row4中的空白单元格计算到具有asd
数据的单元格。有帮助吗?谢谢!
计数的使用是计算非空白单元格内的空白单元格。假设数据的最后一行是15,所以15将是带数据的最后一行,从第4行到第15行,将计算范围中的空白单元格。
答案 0 :(得分:1)
我不是100%确定你的目标是什么。我知道你有一个从“O4”到“O18”的最大范围(它可以更小)你想要从“O4”到该范围内的最后一个非空白单元格,计算空白和非空白的数量细胞。如果它确实是你想要做的,请尝试下面的代码(解释在其中):
Sub CountingBlankAndNonBlank()
Dim MyRange As Range
Dim LastRow As Long, TotalRange As Long
Dim CountBlank As Long, CountNonBlank As Long
'Find the last row with data in the Range("O4:O18")
LastRow = 19 - Range(Cells(18, 15), Cells(Rows.Count, 15).End(xlUp)).Count
'Set a range from "O4" to last cell with data
Set MyRange = Range(Cells(4, 15), Cells(LastRow, 15))
'How many cells in my Range
TotalRange = LastRow - 3
'How many blank cells in my Range
CountBlank = MyRange.SpecialCells(xlCellTypeBlanks).Count
'How many non-blank cells in may range (Total - Blank)
CountNonBlank = TotalRange - CountBlank
MsgBox "There are:" & vbNewLine _
& " - " & CountBlank & " blank cells" & vbNewLine _
& " - " & CountNonBlank & " non-blank cells" & vbNewLine _
& " - " & LastRow & " would be the lastrow"
End Sub
答案 1 :(得分:1)
您可以使用(send myfr show #f)
轻松获得所需结果,请尝试以下操作:
worksheetfunction
答案 2 :(得分:0)
计算空白单元格(在第二个示例中返回3,如果所有单元格都为空白,则返回#N / A):
=COUNTBLANK($O$4:INDEX($O$4:$O$18,LOOKUP(2,1/($O$4:$O$18<>""),ROW($O$4:$O$18))-3))
计算非空白单元格(在第二个示例中返回6,如果所有单元格都空白,则返回1):
=COUNTA($O$4:INDEX($O$4:$O$18,LOOKUP(2,1/($O$4:$O$18<>""),ROW($O$4:$O$18))-3))
使用此处的查找公式:What is this programmer doing with his Lookup function?