У меня есть набор данных (чисел) в одном столбце. Чего я хотел добиться, так это выделить (непосредственно в этом столбце) три верхних значения. Работает нормально, если нет дубликатов, но если они есть, я получил неправильный результат (дубликаты считаются уникальными значениями).
Я написал простую функцию (см. Ниже), но она также не работает.
Function isTop(cellTop As Range, rngTop As Range, noTop As Integer) As Boolean
'cellTop - cell to be checked
'rngTop - range to be considered
'noTop - nth top value
Dim iStartTop As Integer, noOccurTop As Integer, noTopUpdate As Integer
For iStartTop = 1 To noTop
If cellTop.Value = Application.WorksheetFunction.Large(rngTop, iStartTop) Then
isTop = True
Exit Function
End If
Next iStartTop
End Function
Предположим, что в столбце A имеется следующий набор данных (12 элементов):
1
2
3
4
1
2
3
4
1
2
3
4
и я хочу выделить три верхних элемента (используя условное форматирование и либо стандартное условие верхних 3, либо функцию = isTop (A1, A: A, 3)). После применения любого из предоставленных методов будут выделены только ячейки, содержащие «4».
Однако, я ожидаю, что будут выделены "4", "3" и "2". Есть ли способ решить эту проблему, если дубликаты присутствуют в данном столбце?
Заранее благодарю за помощь.
С уважением,
Камиль