Note: The other languages of the website are Google-translated. Back to English

Sut i wylio a dychwelyd gwerthoedd lluosog heb ddyblygu yn Excel? 

Weithiau, efallai yr hoffech chi wylio a dychwelyd gwerthoedd cyfatebol lluosog i mewn i un gell ar unwaith. Ond, os oes rhai gwerthoedd ailadroddus wedi'u poblogi i'r celloedd a ddychwelwyd, sut allech chi anwybyddu'r dyblygu a chadw'r gwerthoedd unigryw yn unig wrth ddychwelyd yr holl werthoedd paru fel y llun a ddangosir yn Excel?

doc yn dychwelyd sawl gwerth unigryw 1

Vlookup a dychwelyd gwerthoedd paru lluosog heb ddyblygu trwy ddefnyddio Swyddogaeth Diffiniedig Defnyddiwr


Vlookup a dychwelyd gwerthoedd paru lluosog heb ddyblygu trwy ddefnyddio Swyddogaeth Diffiniedig Defnyddiwr

Gall y cod VBA canlynol eich helpu i ddychwelyd gwerthoedd paru lluosog heb ddyblygu, gwnewch fel hyn:

1. Daliwch i lawr y Alt + F11 allweddi i agor y Microsoft Visual Basic ar gyfer Ceisiadau ffenestr.

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

Cod VBA: Vlookup a dychwelyd sawl gwerth cyfatebol unigryw:

Function MultipleLookupNoRept(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer)
    Dim xDic As New Dictionary
    Dim xRows As Long
    Dim xStr As String
    Dim i As Long
    On Error Resume Next
    xRows = LookupRange.Rows.Count
    For i = 1 To xRows
        If LookupRange.Columns(1).Cells(i).Value = Lookupvalue Then
            xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value, ""
        End If
    Next
    xStr = ""
    MultipleLookupNoRept = xStr
    If xDic.Count > 0 Then
        For i = 0 To xDic.Count - 1
            xStr = xStr & xDic.Keys(i) & ","
        Next
        MultipleLookupNoRept = Left(xStr, Len(xStr) - 1)
    End If
End Function

3. Ar ôl mewnosod y cod, yna cliciwch offer > cyfeiriadau yn yr agored Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, ac yna, yn y popped allan Cyfeiriadau - VBAProject blwch deialog, gwirio Amser Rhedeg Sgriptio Microsoft opsiwn yn y Cyfeiriadau sydd ar Gael blwch rhestr, gweler y screenshot:

doc yn dychwelyd sawl gwerth unigryw 2

4. Yna cliciwch OK i gau'r blwch deialog, cadw a chau'r ffenestr god, dychwelyd i'r daflen waith, a nodi'r fformiwla hon: =MultipleLookupNoRept(E2,A2:C17,3) i mewn i gell wag lle rydych chi am allbwn y canlyniad, pwyswch Rhowch allwedd i gael y canlyniad cywir yn ôl yr angen. Gweler y screenshot:

doc yn dychwelyd sawl gwerth unigryw 3

Nodyn: Yn y fformiwla uchod, E2 yw'r meini prawf yr ydych am eu gwylio, A2: C17 yw'r ystod ddata rydych chi am ei defnyddio, y rhif 3 yw rhif y golofn sy'n cynnwys y gwerthoedd a ddychwelwyd.


Yr Offer Cynhyrchedd Swyddfa Gorau

Mae Kutools for Excel yn Datrys y rhan fwyaf o'ch Problemau, ac yn Cynyddu Eich Cynhyrchedd 80%

  • Ailddefnyddio: Mewnosod yn gyflym fformwlâu cymhleth, siartiau ac unrhyw beth rydych chi wedi'i ddefnyddio o'r blaen; Amgryptio Celloedd gyda chyfrinair; Creu Rhestr Bostio ac anfon e-byst ...
  • Bar Fformiwla Gwych (golygu llinellau lluosog o destun a fformiwla yn hawdd); Cynllun Darllen (darllen a golygu nifer fawr o gelloedd yn hawdd); Gludo i'r Ystod Hidlo...
  • Uno Celloedd / Rhesi / Colofnau heb golli Data; Cynnwys Celloedd Hollt; Cyfuno Rhesi / Colofnau Dyblyg... Atal Celloedd Dyblyg; Cymharwch y Meysydd...
  • Dewiswch Dyblyg neu Unigryw Rhesi; Dewiswch Blank Rows (mae pob cell yn wag); Darganfyddiad Gwych a Darganfyddiad Niwlog mewn Llawer o Lyfrau Gwaith; Dewis ar Hap ...
  • Copi Union Celloedd Lluosog heb newid cyfeirnod fformiwla; Auto Creu Cyfeiriadau i Daflenni Lluosog; Mewnosod Bwledi, Blychau Gwirio a mwy ...
  • Testun Detholiad, Ychwanegu Testun, Tynnu yn ôl Swydd, Tynnwch y Gofod; Creu ac Argraffu Subtotals Paging; Trosi rhwng Cynnwys a Sylwadau Celloedd...
  • Hidlo Super (arbed a chymhwyso cynlluniau hidlo i ddalenni eraill); Trefnu Uwch yn ôl mis / wythnos / dydd, amlder a mwy; Hidlo Arbennig gan feiddgar, italig ...
  • Cyfuno Llyfrau Gwaith a Thaflenni Gwaith; Uno Tablau yn seiliedig ar golofnau allweddol; Rhannwch Ddata yn Daflenni Lluosog; Trosi Swp xls, xlsx a PDF...
  • Mwy na 300 o nodweddion pwerus. Yn cefnogi Swyddfa / Excel 2007-2019 a 365. Yn cefnogi pob iaith. Defnydd hawdd yn eich menter neu sefydliad. Nodweddion llawn treial am ddim 30 diwrnod. Gwarant arian yn ôl 60 diwrnod.
tab kte 201905

Mae Tab Office yn Dod â rhyngwyneb Tabbed i'r Swyddfa, a 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!
gwaelod officetab
sylwadau (13)
Dim sgôr eto. Byddwch y cyntaf i sgorio!
Lleihawyd y sylw hwn gan y safonwr ar y wefan
beth pe bawn i eisiau creu rhestr mewn tabl o hwn yn lle'r holl ganlyniadau mewn un gell?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Tom,
Os ydych chi am echdynnu'r gwerthoedd unigryw mewn rhestr o gelloedd yn lle un gell, efallai y bydd y fformiwla ganlynol yn eich helpu chi:

=LOOKUP(2, 1/((COUNTIF($E$1:E1, $B$2:$B$12)=0)*($D$2=$A$2:$A$12)), $B$2:$B$12)

Rhowch gynnig arni.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo Skyyang,

Diolch yn fawr iawn am y fformiwla hon.
Mae hyn yn gweithio i mi. Fodd bynnag, mae'n cymryd amser hir i brosesu o set fawr o ddata.
A allwn ni addasu'r fformiwla hon i weithio ychydig yn gyflymach?
Diolch eto
Rasike
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo skyyang beth os ydych chi eisiau'r canlyniad fel colofn?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
A oes modd ychwanegu bwlch rhwng y gwerthoedd lluosog a gafwyd yn y canlyniadau heb gyflwyno coma ar ddiwedd y rhestr? Er enghraifft byddai eich canlyniad uchod yn dangos fel: "Emily, James, Daisy, Gary" yn lle fel hyn: "Emily, James, Daisy, Gary"

Ceisiais olygu'r rhan hon o'r cod VBA: xStr = xStr & xDic.Keys(I) & "," i fod yn hyn: xStr = xStr & xDic.Keys(I) & ","

Fe wnaeth hynny ychwanegu'r gofod rhwng y gwerthoedd, ond fe ychwanegodd coma hefyd ar ôl y gwerth olaf. "Emily, James, Daisy, Gary,"

A oes ffordd i wneud iddo weithio gyda'r gofod ond heb y coma ychwanegol ar ôl y gwerth olaf?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Demetr,
Defnyddiwch y gofod i wahanu'r gwerthoedd, does ond angen i chi newid y cod vba:
o xStr = xStr & xDic.Keys(i) & "," i fod yn hyn: xStr = xStr & xDic.Keys(i) & " "

Rhowch gynnig arni.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
xStr = xStr & xDic.Keys(I) & "," i fod yn hyn: xStr = xStr & xDic.Keys(I) & ","

A oes ffordd i ddisodli "," gyda ALT+ENTER yn y gell, fel y bydd y canlyniadau yn yr un gell ond ar linellau gwahanol? A oes angen i mi gyflwyno modiwl VBA ychwanegol ar gyfer hynny a'u cyfuno?

Hefyd, mae'r cod hwn yn eithaf araf wrth ddolennu dros fyrddau enfawr. Oes unrhyw un yn gwybod unrhyw atebion cyflymach?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, Imre,
I wahanu gwerthoedd y canlyniad gan Alt + Enter, defnyddiwch y Swyddogaeth Ddiffiniedig Defnyddiwr ganlynol:

Swyddogaeth MultipleLookupNoRept(Lookupvalue Fel Llinynnol, Edrych Amrediad Fel Ystod, Rhif Colofn Fel Cyfanrif)
Dim xDic Fel Geiriadur Newydd
Dim xRows Cyhyd
Dim xStr Fel Llinyn
Dim i Cyhyd
Ar Ail-ddechrau Gwall Nesaf
xRows = LookupRange.Rows.Count
Am i = 1 I xRows
Os LookupRange.Columns(1).Cells(i).Value = Lookupvalue Yna
xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value," ""
Gorffennwch Os
Digwyddiadau
xStr=""
MultipleLookupNoRept = xStr
Os xDic.Count > 0 Yna
Ar gyfer i = 0 I xDic.Count - 1
xStr = xStr & xDic.Keys(i) & Chr(10) + Chr(13)
Digwyddiadau
MultipleLookupNoRept = Chwith(xStr, Len(xStr) - 1)
Gorffennwch Os
Dadfygio.Print xStr
Swyddogaeth End

Ac yna gwnewch gyda'r camau uchod yn yr erthygl hon, o'r diwedd, ar ôl mynd i mewn i'r fformiwla, dylech glicio Lapiwch Testun o dan y Cartref tab.
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Hi

Roeddwn i eisiau creu rhestr mewn tabl o hwn yn lle'r holl ganlyniadau mewn un gell. Felly rwyf wedi defnyddio fformiwla debyg isod (yr hyn yr ydych wedi'i awgrymu)

=LOOKUP(2, 1/((COUNTIF($E$1:E1, $B$2:$B$12)=0)*($D$2=$A$2:$A$12)), $B$2:$B$12)

Fodd bynnag, mae hyn yn cymryd amser hir i'w brosesu o set fawr o ddata.
A oes unrhyw ddull arall o brosesu hyn yn gyflymach?
Diolch eto
Rasike
Lleihawyd y sylw hwn gan y safonwr ar y wefan
hi,
tra bod yr amser o werth lot multivlooks fy nhaflen waith got hang. a oes unrhyw ffyrdd eraill i multivlookupwithoutrepeation????

a hefyd defnyddiais ar bwrdd gwaith newydd hefyd ei fod yn hongian yn unig ...

fy ngwerth data yw tua 10,000 o resi
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, fe wnes fel y dywedasoch ac mae'n wych ond nid yw'n dal i ddatrys un o'm problem, beth sy'n digwydd pan fyddwch chi'n werth unigryw bob mis? =MultipleLookupNoRept(E2,A2:C17,3), rwy'n ceisio E2&1 ar gyfer Ionawr ond nid yw'n gweithio
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Helo, James,
A allech chi roi eich problem fel sgrinlun yma, fel y gallaf ddeall eich gofynion?
Lleihawyd y sylw hwn gan y safonwr ar y wefan
Mae hyn yn wych! Sut fyddwn i'n addasu hwn i beidio ag ychwanegu gwerthoedd nwl i'r geiriadur? Rwyf wedi ceisio ychwanegu'r print trwm isod, ond mae'r llinyn olaf yn dal i ddychwelyd gyda ,"", enghreifftiau.


xRows = LookupRange.Rows.Count
Am i = 1 I xRows
Os LookupRange.Columns(1).Cells(i).Value = Gwerth-edrych ac Ddim yn Wag(LookupRange.Columns(1).Cells(i).Value) Yna
xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value," ""
Gorffennwch Os
Digwyddiadau

Diolch,
Nid oes unrhyw sylwadau wedi'u postio yma eto
Gadewch eich sylwadau
Postio fel Gwestai
×
Graddiwch y swydd hon:
0   Cymeriadau
Lleoliadau a Awgrymir