Բաց թողնել հիմնական բովանդակությունը

Ինչպե՞ս դինամիկ կերպով Excel- ում սյունակի տիրույթից հանել եզակի արժեքների ցուցակը:

Սյունակի տիրույթի համար, որի արժեքները պարբերաբար փոխվում են, և միշտ անհրաժեշտ է տիրույթից ստանալ բոլոր եզակի արժեքները, անկախ նրանից, թե ինչպես է այն փոխվել: Ինչպե՞ս կազմել եզակի արժեքների դինամիկ ցուցակ: Այս հոդվածը ձեզ ցույց կտա, թե ինչպես վարվել դրա հետ:

Բանաձևով սյունակի տիրույթից դինամիկ կերպով հանեք եզակի արժեքների ցուցակը
VBA կոդով սյունակի տիրույթից դինամիկ կերպով հանեք եզակի արժեքների ցուցակը


Բանաձևով սյունակի տիրույթից դինամիկ կերպով հանեք եզակի արժեքների ցուցակը

Ինչպես ցույց է տրված նկարից ներքևում, դուք պետք է դինամիկ կերպով հանեք եզակի արժեքների ցուցակ B2: B9 տիրույթից: Խնդրում ենք փորձել զանգվածի հետևյալ բանաձևը:

1. Ընտրեք դատարկ բջիջ, ինչպիսին է D2- ը, մուտքագրեք ներքևի բանաձևը և սեղմեք կոճակը Ctrl + Հերթափոխություն + Մտնել ստեղները միաժամանակ: (B2: B9 սյունակի տվյալներն են, որոնք ցանկանում եք արդյունահանել եզակի արժեքները, D1- ը վերը նշված բջիջն է, որտեղ գտնվում է ձեր բանաձևը)

=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"")

2. Շարունակեք ընտրել D2 բջիջը, այնուհետև քաշեք Լրացնելու բռնակը ներքև ՝ նշված տիրույթից բոլոր եզակի արժեքները ստանալու համար:

Այժմ արդյունահանվում են բոլոր եզակի արժեքները սյունակի տիրույթում B2: B9: Երբ այս միջակայքում արժեքները փոխվում են, եզակի արժեքների ցուցակը անմիջապես դինամիկորեն կփոխվի:

Excel- ի սահմաններում հեշտությամբ ընտրեք և ընդգծեք բոլոր եզակի արժեքները.

The Ընտրեք Կրկնօրինակ և եզակի բջիջներ օգտակարությունը Excel- ի համար նախատեսված գործիքներ կարող է օգնել ձեզ հեշտությամբ ընտրել և կարևորել բոլոր եզակի արժեքները (ներառել առաջին կրկնօրինակները) կամ եզակի արժեքները, որոնք հայտնվում են միայն մեկ անգամ, ինչպես նաև կրկնօրինակ արժեքները, ինչպես ձեզ հարկավոր է, ինչպես ցույց է տրված նկարում:
Ներբեռնեք Kutools-ը Excel-ի համար հիմա: (30 օր անվճար երթուղի)


VBA կոդով սյունակի տիրույթից դինամիկ կերպով հանեք եզակի արժեքների ցուցակը

Կարող եք նաև դինամիկ կերպով հանել եզակի արժեքների ցուցակը սյունակի տիրույթից հետևյալ VBA կոդով:

1. Մամուլ ալտ + F11 ստեղները միաժամանակ բացելու համար Microsoft Visual Basic հավելվածների համար պատուհան.

2. Մեջ Microsoft Visual Basic հավելվածների համար պատուհանը, սեղմեք Տեղադրել > Մոդուլներ, Դրանից հետո պատճենեք և տեղադրեք ներքևում նշված VBA կոդը ՝ Մոդուլներ պատուհան.

VBA կոդ. Մի շարքից հանիր եզակի արժեքների ցուցակը

Sub CreateUniqueList()
Dim xRng As Range
Dim xLastRow As Long
Dim xLastRow2 As Long
Dim I As Integer
On Error Resume Next
Set xRng = Application.InputBox("Please select range:", "Kutools for Excel", Selection.Address, , , , , 8)
If xRng Is Nothing Then Exit Sub
On Error Resume Next
xRng.Copy Range("D2")
xLastRow = xRng.Rows.Count + 1
ActiveSheet.Range("D2:D" & xLastRow).RemoveDuplicates Columns:=1, Header:=xlNo
xLastRow2 = Cells(Rows.Count, "B").End(xlUp).Row
For I = 1 To xLastRow2
  If ActiveSheet.Range("D2:D" & xLastRow2).Cells(I).Value = "" Then
     ActiveSheet.Range("D2:D" & xLastRow2).Cells(I).Delete
  End If
Next
End Sub

ՆշումԿոդում `D2- ն այն բջիջն է, որը դուք կգտնեք եզակի արժեքների ցուցակում: Կարող եք փոխել ըստ անհրաժեշտության:

3. Վերադարձեք աշխատաթերթ, կտտացրեք Տեղադրել > Ձեւավորում > Ուղղանկյունի, Տեսեք,

4. Ձեր աշխատաթերթում նկարեք ուղղանկյուն, ապա մուտքագրեք դրա վրա անհրաժեշտ բառերը: Դրանից հետո սեղմեք այն աջով և ընտրեք Նշանակեք մակրո աջ կտտացնելու ցանկից: Մեջ Նշանակեք մակրո երկխոսության տուփ, ընտրեք ՍտեղծելUniqueList է Մակրո անուն տուփը, ապա կտտացրեք OK կոճակ Տեսեք,

5. Այժմ կտտացրեք ուղղանկյան կոճակին, ա Excel- ի համար նախատեսված գործիքներ երկխոսության պատուհանը հայտնվում է, խնդրում ենք ընտրել ընդգրկույթը պարունակում է եզակի արժեքներ, որոնք անհրաժեշտ է արդյունահանել, և այնուհետև կտտացրեք OK կոճակը:

Այսուհետ, կարող եք կրկնել վերոնշյալ 5-րդ քայլը ՝ եզակի արժեքների ցուցակն ավտոմատ կերպով թարմացնելու համար:


Առնչվող հոդվածներ:

Գրասենյակի արտադրողականության լավագույն գործիքները

Հանրաճանաչ հատկություններ: Գտեք, ընդգծեք կամ նույնականացրեք կրկնօրինակները   |  Deleteնջել դատարկ շարքերը   |  Միավորել սյունակները կամ բջիջները՝ առանց տվյալների կորստի   |   Կլոր առանց բանաձևի ...
Super Փնտրել: Բազմաթիվ չափանիշների VLookup    Բազմակի արժեք VLookup  |   VLookup բազմաթիվ թերթերում   |   Fuzzy Փնտրել ....
Ընդլայնված բացվող ցուցակ: Արագ ստեղծեք բացվող ցուցակը   |  Կախված բացվող ցուցակ   |  Բազմակի ընտրություն Drop Down ցուցակ ....
Սյունակի կառավարիչ: Ավելացրեք որոշակի քանակությամբ սյունակներ  |  Տեղափոխել սյունակները  |  Փոխարկել թաքնված սյունակների տեսանելիության կարգավիճակը  |  Համեմատեք միջակայքերը և սյունակները ...
Առանձնահատկություններ: Ցանցի կենտրոնացում   |  Դիզայնի տեսք   |   Մեծ Formula Bar    Աշխատանքային գրքույկի և թերթիկների կառավարիչ   |  Ռեսուրսների գրադարան (Ավտոմատ տեքստ)   |  Ամսաթիվ ընտրող   |  Միավորել աշխատանքային թերթերը   |  Գաղտնագրել/գաղտնազերծել բջիջները    Ուղարկեք նամակներ ըստ ցանկի   |  Սուպեր զտիչ   |   Հատուկ զտիչ (զտել թավ/շեղ/շեղված...) ...
Լավագույն 15 գործիքների հավաքածու12 Տեքստ Գործիքներ (Ավելացրեք տեքստ, Հեռացնել նիշերը, ...)   |   50 + Աղյուսակ Տեսակներ (Գանտի աղյուսակը, ...)   |   40+ Գործնական Բանաձեւեր (Հաշվարկել տարիքը ՝ ելնելով ծննդյան տարեդարձից, ...)   |   19 միացում Գործիքներ (Տեղադրեք QR կոդ, Տեղադրեք նկար ուղուց, ...)   |   12 Փոխարկում Գործիքներ (Բառեր համարներ, Արտարժույթի փոխակերպումը, ...)   |   7 Միաձուլում և պառակտում Գործիքներ (Ընդլայնված կոմբինատ տողեր, Պառակտված բջիջներ, ...)   |   ... եւ ավելին

Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար:  Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...

kte էջանիշը 201905


Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
Comments (35)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
con este procedimiento de filtro se hace de forma muy rapida

1.EN ESTE EJEMPLO los datos a remover los duplicados estan en la col A de la fila 59 a la 239
2. se define un criterio de filtrado en este caso en la fila d56 el mismo titulo de la lista a remover duplicados y la d57 la dejo en blanco
3. una vez ejecutado se muestran los datos en la fila destino, que en mi caso fue la d59

Range("A59:A239").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("D56:D57"), CopyToRange:=Range("D59"), Unique:=True
This comment was minimized by the moderator on the site
I would like to be able to do this exact same thing, except using two separate column ranges (B2:B9) as well as (D2:D9) is this possible?
This comment was minimized by the moderator on the site
Hi Anthony,
You can place the results in the same column as the original data. Such as column B in this case.
But you need to reference the top cell of the result cell in the formula as follows.
=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($B$11:B11, $B$2:$B$9), 0)),"") + Ctrl + Shift + Enter
This comment was minimized by the moderator on the site
Ik heb gemerkt dat de 'formule'-methode erg traag werkt bij grote datasets. Een goed alternatief is het gebruik van een draaitabel. Kies dan alleen de rijlabels, je krijgt dan een lijstje met unieke waarden. Het kan zijn dat je wat extra's krijgt "(leeg)" bijvoorbeeld. Je kunt deze er vervolgens uitfilteren. Helaas kun je maar op 1 criterium filteren. Ook daar zijn wel weer oplossingen voor, maar dat is wat complexer.
This comment was minimized by the moderator on the site
how to make the vba code work for a range where another formula was used?on column B I have a formula, referring to columns D and E.
If I use apply the code to column L (let's say), (obviously, properly modifying the cells in the code) the macro returns the formula applied to columns M and N... It works, then, but not as I want!How to keep the values in column B?thanks
This comment was minimized by the moderator on the site
thank you very much
This comment was minimized by the moderator on the site
I try the VBA Code and the formula. The code VBA is working very well but I can't keep a file with macro. But th problem is that I can't make the formula working. Did anybody have an idea ? Thank you
This comment was minimized by the moderator on the site
Hi Charlotte,
Thank you for your comment. You can keep the file with macro for future use by saving the workbook as an Excel Macro-Enabled Workbook.
For the formula problem, would you please provide a screenshot of your data? Thank you for your comment.
This comment was minimized by the moderator on the site
I'm using that =IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"") formula which is great for one column but my data is spread across a range of columns and rows. Can I edit the formula to include the whole area? My data lives from AC4 to AR60...
This comment was minimized by the moderator on the site
Hi, thank you for your help.
Now, how can I have my values also sorted alphabetically? (I do not want to use the filter on my master table)
Should I use a COUNTIFS instead of COUNTIF?
Please HELP
This comment was minimized by the moderator on the site
Hi Alexis,
Sorry can't hep to sort the extracted value alphabetically at the same time with formula. Thank you for your comment.
This comment was minimized by the moderator on the site
I am trying to drag the formula down past my actual data so that I can input different sized data sets and not have to adjust anything. However, the last row after my actual data ends always returns a "0". I am using the unique values for something else in an adjacent column, and the 0 causes the last value to repeated (When I delete the 0 the value is no longer repeated). Any idea how to fix this? Also I am using Office 365 Business
This comment was minimized by the moderator on the site
If I do this for a thousand row excel sheet on the latest version of Excel on a Mac, it never returns. The first row works, but when I duplicate down, excel goes into a compute mode that has not returned values for over two hours now.

Any thoughts on how to do this for large lists (up to 2k rows) that will return 50 or 60 unique values?

I mocked this up in the "Numbers" app, and it's working perfectly there, taking only a couple minutes to calculate. It's just taking so long in Excel that I wonder if it will ever complete. I plan on letting it "run" overnight to see what will happen.
This comment was minimized by the moderator on the site
Check your Calculating options. It needs to be set to automatic. File > Options > Formulas > Calculating options > Workbook Calculation (Automatic selection)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations