Skip i'r prif gynnwys

Sut i dynnu gwerthoedd unigryw o sawl colofn yn Excel?

Gan dybio bod gennych sawl colofn â gwerthoedd lluosog, mae rhai gwerthoedd yn cael eu hailadrodd yn yr un golofn neu golofn wahanol. Ac yn awr rydych chi am ddod o hyd i'r gwerthoedd sy'n bresennol yn y naill golofn neu'r llall unwaith yn unig. A oes unrhyw driciau cyflym i chi dynnu gwerthoedd unigryw o sawl colofn yn Excel?


Echdynnu gwerthoedd unigryw o golofnau lluosog gyda fformiwlâu

Bydd yr adran hon yn ymdrin â dwy fformiwla: un yn defnyddio fformiwla arae sy'n addas ar gyfer pob fersiwn Excel, ac un arall yn defnyddio fformiwla arae ddeinamig yn benodol ar gyfer Excel 365.

Tynnwch werthoedd unigryw o golofnau lluosog gyda fformiwla Array ar gyfer pob fersiwn Excel

Ar gyfer defnyddwyr ag unrhyw fersiwn o Excel, gall fformiwlâu arae fod yn offeryn pwerus ar gyfer echdynnu gwerthoedd unigryw ar draws sawl colofn. Dyma sut y gallwch chi ei wneud:

1. Gan dybio bod eich gwerthoedd mewn amrediad A2: C9, rhowch y fformiwla ganlynol i mewn i gell E2:

=INDIRECT(TEXT(MIN(IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0),ROW($2:$9)*100+COLUMN($A:$C),7^8)),"R0C00"),)&""
Nodyn: Yn y fformiwla uchod, A2: C9 yn nodi'r ystod o gelloedd rydych chi am echdynnu'r gwerthoedd unigryw, E1: E1 yw cell gyntaf y golofn rydych chi am roi'r canlyniad, $ 2: $ 9 mae standiau i'r rhesi yn cynnwys y celloedd rydych chi am eu defnyddio, a $ A: $ C. yn nodi bod y colofnau'n cynnwys y celloedd rydych chi am eu defnyddio. Newidiwch nhw i'ch un chi.

2. Yna pwyswch Shift + Ctrl + Enter allweddi gyda'i gilydd, ac yna llusgwch yr handlen llenwi i echdynnu'r gwerthoedd unigryw nes bod celloedd gwag yn ymddangos. Gweler y screenshot:

Esboniad o'r fformiwla hon:
  1. $ A $ 2: $ C $ 9: Mae hwn yn pennu'r amrediad data i'w wirio, sef y celloedd o A2 i C9.
  2. IF(($A$2:$C$9<>"")*(COUNTIF($E$1:E1,$A$2:$C$9)=0), ROW($2:$9)*100+COLUMN($A:$C), 7^8):
    • $A$2:$C$9<>"" yn gwirio a yw'r celloedd yn yr amrediad yn wag.
    • COUNTIF($E$1:E1,$A$2:$C$9)=0 penderfynu a yw gwerthoedd y celloedd hyn heb eu rhestru eto yn yr ystod o gelloedd o E1 i E1.
    • Os bodlonir y ddau amod (hy, nid yw'r gwerth yn wag ac nid yw wedi'i restru eto yng ngholofn E), mae'r ffwythiant IF yn cyfrifo rhif unigryw yn seiliedig ar ei res a'i golofn (ROW($2:$9)*100+COLUMN($A:): $C)).
    • Os na fodlonir yr amodau, mae'r swyddogaeth yn dychwelyd nifer fawr (7^8), sy'n gwasanaethu fel dalfan.
  3. MIN(...): Yn dod o hyd i'r nifer lleiaf a ddychwelwyd gan y swyddogaeth IF uchod, sy'n cyfateb i leoliad y gwerth unigryw nesaf.
  4. TESTUN(...,"R0C00"): Yn trosi'r isafswm hwn yn gyfeiriad arddull R1C1. Mae'r cod fformat R0C00 yn nodi trosi'r rhif yn fformat cyfeirnod cell Excel.
  5. INDIRECT(...): Yn defnyddio'r swyddogaeth INDIRECT i drosi'r cyfeiriad arddull R1C1 a gynhyrchwyd yn y cam blaenorol yn ôl i gyfeirnod cell arddull A1 arferol. Mae'r swyddogaeth INDIRECT yn caniatáu cyfeirnodi cell yn seiliedig ar gynnwys llinyn testun.
  6. &"": Mae atodi &"" ar ddiwedd y fformiwla yn sicrhau bod yr allbwn terfynol yn cael ei drin fel testun, felly bydd eilrifau yn cael eu harddangos fel testun.
 
Tynnwch werthoedd unigryw o golofnau lluosog gyda fformiwla ar gyfer Excel 365

Mae Excel 365 yn cefnogi araeau deinamig, gan ei gwneud hi'n llawer haws tynnu gwerthoedd unigryw o golofnau lluosog:

Rhowch neu gopïwch y fformiwla ganlynol i mewn i gell wag lle rydych chi am roi'r canlyniad, ac yna cliciwch Rhowch allweddol i gael yr holl werthoedd unigryw ar unwaith. Gweler y sgrinlun:

=UNIQUE(TOCOL(A2:C9,1))


Tynnwch werthoedd unigryw o golofnau lluosog gyda Kutools AI Aide

Rhyddhewch bwer Kutools AI Aide i echdynnu gwerthoedd unigryw yn ddi-dor o golofnau lluosog yn Excel. Gyda dim ond ychydig o gliciau, mae'r offeryn deallus hwn yn hidlo'ch data, gan nodi a rhestru cofnodion unigryw ar draws unrhyw ystod ddethol. Anghofiwch y drafferth o fformiwlâu cymhleth neu god vba; Cofleidiwch effeithlonrwydd Kutools AI Aide a thrawsnewid eich llif gwaith Excel yn brofiad mwy cynhyrchiol a di-wall.

Nodyn: I ddefnyddio hwn Kutools AI Aide of Kutools ar gyfer Excel, os gwelwch yn dda lawrlwytho a gosod Kutools ar gyfer Excel gyntaf.

Ar ôl gosod Kutools ar gyfer Excel, cliciwch Kutools AI > AI Aide i agor y Kutools AI Aide cwarel:

  1. Teipiwch eich gofyniad yn y blwch sgwrsio, a chliciwch anfon botwm neu wasg Rhowch allwedd i anfon y cwestiwn;
    msgstr "Tynnu gwerthoedd unigryw o'r ystod A2:C9, gan anwybyddu celloedd gwag, a gosod y canlyniadau gan ddechrau yn E2:"
  2. Ar ôl dadansoddi, cliciwch Gweithredu botwm i redeg. Bydd Kutools AI Aide yn prosesu'ch cais gan ddefnyddio AI ac yn dychwelyd y canlyniadau yn y gell penodedig yn uniongyrchol yn Excel.


Tynnwch werthoedd unigryw o golofnau lluosog gyda Pivot Table

Os ydych chi'n gyfarwydd â'r tabl colyn, gallwch chi dynnu'r gwerthoedd unigryw o golofnau lluosog yn hawdd gyda'r camau canlynol:

1. Ar y dechrau, mewnosodwch un golofn wag newydd ar ochr chwith eich data, yn yr enghraifft hon, byddaf yn mewnosod colofn A wrth ymyl y data gwreiddiol.

2. Cliciwch un gell yn eich data, a gwasgwch Alt + D allweddi, yna pwyswch P allwedd ar unwaith i agor y Dewin PivotTable a PivotChart, dewiswch Amrywiadau cydgrynhoi lluosog yn y dewin step1, gweler y screenshot:

3. Yna cliciwch Digwyddiadau botwm, gwirio Creu maes un dudalen i mi opsiwn yn dewin step2, gweler y screenshot:

4. Ewch ymlaen i glicio Digwyddiadau botwm, cliciwch i ddewis yr ystod ddata sy'n cynnwys y golofn newydd chwith o gelloedd, yna cliciwch Ychwanegu botwm i ychwanegu'r ystod ddata i'r Pob ystod blwch rhestr, gweler y screenshot:

5. Ar ôl dewis yr ystod ddata, parhewch i glicio Digwyddiadau, yng ngham 3 y dewin, dewiswch ble rydych chi am roi'r adroddiad PivotTable fel y dymunwch.

6. O'r diwedd, cliciwch Gorffen i gwblhau'r dewin, ac mae tabl colyn wedi'i greu yn y daflen waith gyfredol, yna dad-diciwch yr holl feysydd o'r Dewiswch feysydd i'w hychwanegu at yr adroddiad adran, gweler y screenshot:

7. Yna gwiriwch y maes Gwerth neu llusgwch y Gwerth i'r Rhesi label, nawr fe gewch y gwerthoedd unigryw o'r colofnau lluosog fel a ganlyn:


Tynnwch werthoedd unigryw o sawl colofn gyda chod VBA

Gyda'r cod VBA canlynol, gallwch hefyd echdynnu'r gwerthoedd unigryw o sawl colofn.

1. Daliwch i lawr y ALT + F11 allweddi, ac mae'n agor y Ffenestr Microsoft Visual Basic for Applications.

2. Cliciwch Mewnosod > Modiwlau, a gludwch y cod canlynol yn y Ffenestr Modiwl.

VBA: Tynnu gwerthoedd unigryw o sawl colofn

Sub Uniquedata()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Set dt = CreateObject("Scripting.Dictionary")
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
For Each rng In InputRng
    If rng.Value <> "" Then
        dt(rng.Value) = ""
    End If
Next
OutRng.Range("A1").Resize(dt.Count) = Application.WorksheetFunction.Transpose(dt.Keys)
End Sub

3. Yna pwyswch F5 i redeg y cod hwn, a bydd blwch prydlon yn popio allan i'ch atgoffa i ddewis yr ystod ddata rydych chi am ei defnyddio. Gweler y screenshot:

4. Ac yna cliciwch OK, bydd blwch prydlon arall yn ymddangos i adael i chi ddewis lle i roi'r canlyniad, gweler y screenshot:

5. Cliciwch OK i gau'r ymgom hon, ac mae'r holl werthoedd unigryw wedi'u tynnu ar unwaith.


Erthyglau mwy cymharol:

  • Cyfrif Nifer y Gwerthoedd Unigryw ac Unigryw O Restr
  • Gan dybio, mae gennych chi restr hir o werthoedd gyda rhai eitemau dyblyg, nawr, rydych chi am gyfrif nifer y gwerthoedd unigryw (y gwerthoedd sy'n ymddangos yn y rhestr unwaith yn unig) neu werthoedd penodol (pob gwerth gwahanol yn y rhestr, mae'n golygu unigryw gwerthoedd + gwerthoedd dyblyg 1af) mewn colofn fel y dangosir y llun chwith. Yr erthygl hon, byddaf yn siarad am sut i ddelio â'r swydd hon yn Excel.
  • Detholiad Gwerthoedd Unigryw Yn Seiliedig ar Feini Prawf Yn Excel
  • Gan dybio, mae gennych yr ystod ddata ganlynol yr ydych am ei rhestru dim ond enwau unigryw colofn B yn seiliedig ar faen prawf penodol yng ngholofn A i gael y canlyniad fel y dangosir isod y screenshot. Sut allech chi ddelio â'r dasg hon yn Excel yn gyflym ac yn hawdd?
  • Dim ond Caniatáu Gwerthoedd Unigryw Yn Excel
  • Os ydych chi am gadw gwerthoedd unigryw yn unig sy'n mynd i mewn i golofn o daflen waith ac atal y dyblygu, bydd yr erthygl hon yn cyflwyno rhai triciau cyflym i chi ddelio â'r dasg hon.
  • Swm Gwerthoedd Unigryw Yn Seiliedig ar Feini Prawf Yn Excel
  • Er enghraifft, mae gen i ystod o ddata sy'n cynnwys colofnau Enw a Threfn, nawr, i grynhoi gwerthoedd unigryw yn unig yng ngholofn y Gorchymyn yn seiliedig ar y golofn Enw fel y screenshot canlynol a ddangosir. Sut i ddatrys y dasg hon yn gyflym ac yn hawdd Yn Excel?

Offer Cynhyrchiant Swyddfa Gorau

🤖 Kutools AI Aide: Chwyldro dadansoddi data yn seiliedig ar: Cyflawniad Deallus   |  Cynhyrchu Cod  |  Creu Fformiwlâu Personol  |  Dadansoddi Data a Chynhyrchu Siartiau  |  Invoke Swyddogaethau Kutools...
Nodweddion Poblogaidd: Darganfod, Amlygu neu Adnabod Dyblygiadau   |  Dileu Rhesi Gwag   |  Cyfuno Colofnau neu Gelloedd heb Colli Data   |   Rownd heb Fformiwla ...
Super-edrych: VLookup Meini Prawf Lluosog    VLookup Gwerth Lluosog  |   VLookup Ar Draws Taflenni Lluosog   |   Edrych Niwlog ....
Rhestr gwympo Uwch: Creu Rhestr Gollwng yn Gyflym   |  Rhestr Gollwng Dibynnol   |  Rhestr Gollwng Aml-ddewis ....
Rheolwr Colofn: Ychwanegu Nifer Penodol o Golofnau  |  Symud Colofnau  |  Toglo Statws Gwelededd Colofnau Cudd  |  Cymharwch Ystodau a Cholofnau ...
Nodweddion dan Sylw: Ffocws ar y Grid   |  Golwg Dylunio   |   Bar Fformiwla Mawr    Rheolwr Llyfr Gwaith a Thaflen   |  Llyfrgell Adnoddau (Testun Auto)   |  Dewiswr Dyddiad   |  Cyfuno Taflenni Gwaith   |  Amgryptio/Dadgryptio Celloedd    Anfon E-byst trwy Restr   |  Hidlo Super   |   Hidlo Arbennig (hidlo mewn print trwm/italig/strikethrough...) ...
15 Set Offer Gorau12 Testun offer (Ychwanegu Testun, Dileu Cymeriadau,...)   |   50 + Siart Mathau (Siart Gantt,...)   |   40+ Ymarferol Fformiwlâu (Cyfrifwch oedran yn seiliedig ar ben-blwydd,...)   |   19 mewnosod offer (Mewnosod Cod QR, Mewnosod Llun o'r Llwybr,...)   |   12 Trosi offer (Rhifau i Eiriau, Trosi arian cyfred,...)   |   7 Uno a Hollti offer (Rhesi Cyfuno Uwch, Celloedd Hollt,...)   |   ... a mwy

Supercharge Eich Sgiliau Excel gyda Kutools ar gyfer Excel, a Phrofiad Effeithlonrwydd Fel Erioed Erioed. Kutools ar gyfer Excel Yn Cynnig Dros 300 o Nodweddion Uwch i Hybu Cynhyrchiant ac Arbed Amser.  Cliciwch Yma i Gael Y Nodwedd Sydd Ei Angen Y Mwyaf...

Disgrifiad


Mae Office Tab yn dod â rhyngwyneb Tabbed i Office, ac yn Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
Comments (31)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Thank you for this solution, however what if the columns are in separate excel sheet? or is in separate columns instead of a table?
This comment was minimized by the moderator on the site
Hello, Jon,
The methods in this article ar only works well for a range of data, if your data in separate columns, you should copy and paste them into one range first, and then apply the formula or VBA code.
Thank you!
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello, Michael H.
Thanks for your kindly explanation.
Hope this can help others in the future.😄
This comment was minimized by the moderator on the site
Thank you for this great article.

For people who are using the array formular in non-English Excel there must be taken special care of the text format string: in your example: "R0C00".
For German this would translate to "Z0S00". However, "S" is a special character refering to seconds for time formating. This character needs to be escaped and therefore the correct format string for German Excel is "Z0\S00".

I hope this helps someone in the future :-)
This comment was minimized by the moderator on the site
Hello Sir! The VBA worked wonders, thank you very much for that! I was wondering, If I change the original data, is it possible to refresh the column with the unique values automatically?
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello Ioannis,

Glad to help. After you change the original data, the VBA can not refresh the result automatically. And the easiest way I can think of is to press Ctrl + Alt + F9 to refresh all results in worksheets in all open workbooks. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
The array formula at the top is working great when used with data in the same sheet, however when I try to use it to reference the same exact data from another sheet the formula returns nothing. I'm unable to figure out why. Is there a limitation with array functions that prevents you from referencing ranges in a different sheet?

Thanks for any insight you can provide.
This comment was minimized by the moderator on the site
Hello Erin,

Glad to help. The INDIRECT function in this formula is more complicated to use when referencing data in other worksheets. It is not recommended to use this feature when referencing ranges in different worksheets.

For example: Now the data is in Sheet1, I want to reference the content of cell C2 of Sheet1 in Sheet2. First, in any two cells in Sheet2, such as D1 and D2, enter Sheet1 and C2, respectively. At this point, enter the formula in the empty cell of Sheet2:
=INDIRECT("'"&D1&"'!"&D2), then the content of cell C2 in Sheet1 can be returned.

As you can see, it make things way more complex. Hope my explanation can help. Have a nice day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Czy to żart?
This comment was minimized by the moderator on the site
can we create uniqdata function instead of macro?
This comment was minimized by the moderator on the site
Hi, İlhan,If you like a User Defined Function to create a formula for solving this problem, the below code may help you:After inserting the code, select a list of cells where you want to put the results. Then type this formula:=Uniques(A1:C4)  in the formula bar.Press Ctrl+Shift+Enter keys together. 


Function Uniques(ByVal inputRange As Range)
Dim inputArray As Variant
Dim myColl As New Collection
Dim xVal As Variant
Dim outArray() As Variant
On Error Resume Next
With inputRange
inputArray = Application.Intersect(.Cells, .Parent.UsedRange).Value
End With
On Error GoTo 0
On Error Resume Next
For Each xVal In inputArray
myColl.*** Item:=xVal, Key:=(CStr(xVal) & TypeName(xVal))
Next xVal
myColl.Remove "String"
On Error GoTo 0
ReDim outArray(1 To Application.Max(myColl.Count, Application.Caller.Cells.Count))
For xVal = 1 To UBound(outArray)
outArray(xVal) = vbNullString
Next xVal
For xVal = 1 To Application.Min(myColl.Count, Application.Caller.Cells.Count)
outArray(xVal) = myColl(xVal)
Next xVal
If Application.Caller.Columns.Count = 1 Then
Uniques = Application.Transpose(outArray)
Else
Uniques = outArray
End If
End Function
This comment was minimized by the moderator on the site
Thanks for the code. I'm using the VBA code of this page. Is there a way to add a sorting code after the unique values are extracted so it sorts it automatically?
This comment was minimized by the moderator on the site
Regarding the formula version, could you explain in more detail what this portion is doing? *100+COLUMN($A:$C),7^8)),"R0C00") Specifically, what are the *100, 7^8, and "R0C000" doing? I'm understanding everything else, but I can't figure out what these are for.
This comment was minimized by the moderator on the site
Little late for my response here but...
ROW($2:$9)*100 - this is multiplying the row number *100, so if it's in row 5, now the number is 500
COLUMN($A:$C) - this gets added to the row*100 number, so if it's row 5 col 2, then the number is 502.
7^8)), - this (I think) is to have a max value for the min statement from earlier.
"R0C00") - this formats the text based on the number. In the example, we had 502 so this gives R5C02 (row 5, col 02).

If you have a lot of columns but not many rows, then you could change it to ROW($2:$9)*1000+COLUMN($A:$C),7^8)),"R0C000")
This comment was minimized by the moderator on the site
i've adjusted to my sheet but am only returning the first value in the defined array... what am i missing?
This comment was minimized by the moderator on the site
Hello, Cody,
The above formula works well in my worksheet, could you give a screenshot of your data problem here?
Thank you!
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