Excel найти 10 лучших значений в каждом столбце - PullRequest
0 голосов
/ 24 февраля 2020

Допустим, у меня есть таблица: столбцы соответствуют годам (например, 1999, 2000, ..., 2020), а строки - странам.

Как сделать так, чтобы в Excel отображались только первые 10 значения каждого столбца и установить значения других стран = 0?

enter image description here

1 Ответ

1 голос
/ 24 февраля 2020

Я предполагаю, что первая ячейка ("Страна") - это ячейка A1.

  1. Откройте свой лист.
  2. Alt + F11
  3. Вставить => Модуль
  4. Вставить этот код:
Sub leave_top_10_on_every_column()
  Dim iLastRow As Long
  Dim iLastCol As Long
  Dim i As Long
  Dim j As Long
  Dim dblTop10 As Double

  iLastRow = ActiveSheet.Cells(1, 1).End(xlDown).Row
  iLastCol = ActiveSheet.Cells(1, 1).End(xlToRight).Column

  For i = 2 To iLastCol
    dblTop10 = WorksheetFunction.Large(ActiveSheet.Cells(1, i).EntireColumn, 10)
    For j = 2 To iLastRow
      If ActiveSheet.Cells(j, i) < dblTop10 Then ActiveSheet.Cells(j, i) = 0
    Next
  Next

End Sub
Поместите указатель мыши где-то посередине этого кода и нажмите F5 , чтобы запустить код.
...