Vba application.worksheet.function,用于计算列中大于另一列的单元格数
我需要你的帮助!如果列中的一个为零,则如何设置一个条件,使列E中的单元格计数大于或等于列f中的单元格计数Vba application.worksheet.function,用于计算列中大于另一列的单元格数,vba,excel,vb6,Vba,Excel,Vb6,我需要你的帮助!如果列中的一个为零,则如何设置一个条件,使列E中的单元格计数大于或等于列f中的单元格计数 A | B | C | D | E | F --------+-------+-------+-------+-------+-------- A1021 | A10 | A | RX1 | 99 | 98 '-------> 1' A1021 | A10 | A | RX1 | 0
A | B | C | D | E | F
--------+-------+-------+-------+-------+--------
A1021 | A10 | A | RX1 | 99 | 98 '-------> 1'
A1021 | A10 | A | RX1 | 0 | 98
A1021 | A10 | A | RX1 | 99 | 98
A1021 | A10 | A | RX1 | 99 | 0
A1021 | A10 | A | RX1 | 98 | 98 '------> 1'
答案是2您的示例中的第3行如何?99>98,看起来与第1行类似。我希望您可以将此公式转换为application.worksheetfunction.sumproduct sumproduct(--(A:A>B:B))@alkatraz,与发布的sumproduct变量
'First variant
'========================================================================
Sub test()
Dim N As Long, LastRow As Long, ocell As Range
N = 0
LastRow = Cells(Rows.Count, 5).End(xlUp).Row
For Each ocell In ActiveSheet.Range("E1:E" & LastRow)
If ocell.Value >= ocell.Offset(, 1).Value And _
ocell.Value > 0 And ocell.Offset(, 1).Value > 0 Then
N = N + 1
End If
Next
MsgBox N
End Sub
'Second variant
'========================================================================
Sub test2()
Dim v As Long
v = Evaluate("sumproduct((E:E>=F:F)*(E:E>0)*(F:F>0))")
MsgBox v
End Sub