Издвојите јединствене вредности у Екцелу помоћу једне функције

Anonim

У нашим претходним чланцима научили смо како да извучемо јединствене вредности из опсега користећи комбинацију различитих Екцел функција. Иако раде фантастично, али су и сложени, то се не може порећи. Ако често извлачите јединствене вредности, те формуле вас могу уморити. Они такође чине датотеку тешком и спором.

Дакле, у овом чланку ћемо научити како да креирамо функцију коју дефинише корисник која узима опсег као аргумент и враћа само јединствене вредности из тог опсега. Код можете директно копирати у датотеку и одмах почети да га користите.

ВБА код за јединствену функцију:

Функција УНИКУЕС (рнг као опсег) као варијанта () Дим листа као нова колекција Дим Улист () као варијанта 'Додавање сваке вредности рнг -а у колекцију. Укључено Грешка Настави даље За сваку вредност Овде у рнг 'вредност и кључ су исти. Збирка не дозвољава дуплиране кључеве, па ће остати само јединствене вредности. лист.Адд ЦСтр (Валуе), ЦСтр (Валуе) Нект Он Еррор ГоТо 0 'Одређивање дужине низа броју јединствених вредности. Пошто низ почиње од 0, одузимамо 1. РеДим Улист (лист.Цоунт - 1, 0) 'Додавање јединствене вредности низу. Фор и = 0 То лист.Цоунт - 1 Улист (и, 0) = лист (и + 1) Нект 'Штампање низа УНИКУЕС = Улист Енд функција 

Копирајте код у ВБ едитор програма екцел.

Коришћење УНИКУЕ функције

Горња функција је кориснички дефинисана функција више ћелија. То значи да морате да изаберете опсег у коме желите да се штампа јединствена листа, затим напишите формулу и притисните комбинацију тастера ЦТРЛ+СХИФТ+ЕНТЕР.

На горе наведеном гифу имамо списак земаља. Сада је на листи много дупликата земаља. Желимо да добијемо само листу јединствених земаља.

Да бисте то урадили, изаберите опсег за који желите јединствену листу. Сада напишите ову формулу:

= ЈЕДИНСТВЕНЕ (А2: Б7)

Притисните комбинацију тастера ЦТРЛ+СХИФТ+ЕНТЕР. И то је учињено. Све јединствене вредности наведене су у изабраном опсегу.

Белешка:Ако је опсег који сте изабрали већи од јединствене вредности, он ће приказати грешку #Н/А. Можете га користити као показатељ завршетка јединствених вредности. Ако не видите #Н/А на крају листе, то значи да можда постоји више јединствених вредности.

Објашњење кода

Користио сам два главна концепта ВБА у овој УД функцији. Збирке и функција низа коју дефинише корисник. Прво смо користили колекцију да бисмо добили јединствене вредности из понуђеног опсега.

за сваку вредност на рнг листи. Додајте ЦСтр (вредност), ЦСтр (вредност) следећи 

Пошто не можемо да одштампамо колекцију на листу, пребацили смо је на други УЛист поља.

за и = 0 На листу.Број - 1 Улист (и, 0) = листа (и + 1) Следећа следећа 

Белешка:ВБА индексирање низа почиње од 0, а индексирање збирке почиње од 1. Због тога смо одузели 1 за низ у фор петљи и додали 1 индексирању збирке листа.

На крају смо одштампали тај низ на листу.

Постоји ЈЕДИНСТВЕНА функција која није доступна за Екцел 2016 која ради исту ствар. Та функција је доступна у програму Екцел 2019. Само чланови инсајдерског програма имају приступ тој функцији. Помоћу ове технике можете се похвалити у канцеларији испред МС.

Па да, момци, на овај начин можете створити функцију која једноставно издваја јединствене вредности. Надам се да сам вам објаснио довољно. Ако имате било каквих конкретних питања у вези са овим или било којим другим питањем везаним за Екцел ВБА, поставите га у одељку за коментаре испод.

Кликните на доњу везу за преузимање радне датотеке:

УНИКУЕС функција

Како користити ВБА колекције у Екцелу | Научите да користите колекцију која вам може помоћи да добијете јединствене вредности.

Креирајте ВБА функцију за враћање низа | Научите како да креирате кориснички дефинисану функцију низа која враћа низ.

Низови у Екцел Формул -у | Сазнајте који су низови у Екцелу.

Како креирати кориснички дефинисану функцију путем ВБА | Научите како да креирате кориснички дефинисане функције у програму Екцел

Коришћење кориснички дефинисане функције (УДФ) из друге радне свеске помоћу ВБА у програму Мицрософт Екцел | Користите кориснички дефинисану функцију у другој радној свесци програма Екцел

Врати вредности грешака из кориснички дефинисаних функција помоћу ВБА у Мицрософт Екцелу | Сазнајте како можете вратити вредности грешака из кориснички дефинисане функције