计算负值并对其排名

时间:2019-05-29 21:02:24

标签: excel vba

尝试计算负值并将它们从最高计数到最低计数

Banana  -1   2  -3   2   1
Orange   4  -3  -3  -1   2
Apple    1  -4   1   1   2

我打算像这样使用工作表功能

Set CountRng = range("B1:F1") 
CountBanana = Application.WorksheetFunction.CountIf(CountRng, "<0") 

但不确定如何对它们进行排名。也许我需要在这里使用数组?

结果应排在橙色(3),香蕉(2)和苹果(1)
在单元格G1:G3中输出

1 个答案:

答案 0 :(得分:0)

使用我第一次问到的公式进行评估:

With Worksheets("Sheet3") 'change to your worksheet
    Dim lstRow As Long
    lstRow = .Cells(.Rows.Count, 1).End(xlUp).Row

    Dim i As Long
    For i = 1 To lstRow
        .Cells(i, 7).Value = .Evaluate("=SUMPRODUCT(--(COUNTIF(OFFSET($B$1,(ROW($1:$" & lstRow & ")-1),0,1,5),""<0"")<COUNTIF(B" & i & ":F" & i & ",""<0"")))+1")
    Next i
End With

enter image description here