Vba: как получить уникальные значения из столбца


Вы можете использовать функцию AdvancedFilter в VBA, чтобы быстро получить список уникальных значений из столбца в Excel.

Вот распространенный способ сделать это:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Этот конкретный пример извлекает список уникальных значений из диапазона A1:A11 и отображает их из ячейки E1 .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: получение уникальных значений из столбца с помощью VBA

Допустим, у нас есть следующий набор данных в Excel, содержащий информацию о различных баскетболистах:

Допустим, мы хотим извлечь список уникальных значений из столбца «Команда» .

Для этого мы можем создать следующий макрос:

 Sub GetUniqueValues()

Range(" A1:A11 ").AdvancedFilter_
                Action:=xlFilterCopy, CopyToRange:=Range(" E1 "), Unique:= True

End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

В столбце E теперь отображается список уникальных значений из столбца «Команда» в исходном наборе данных.

Обратите внимание, что метод AdvancedFilter не учитывает регистр.

Например, если бы у нас были названия команд «MAVS» и «Mavs» в одном столбце, этот конкретный макрос вернет только первое из двух значений, появляющихся в столбце «Команда », поскольку они имеют одни и те же символы.

Примечание . Полную документацию по методу AdvancedFilter в VBA можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как подсчитать ячейки с определенным текстом
VBA: как подсчитать количество строк в диапазоне
VBA: Как подсчитать уникальные значения в диапазоне

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *