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

Kako vrniti več iskalnih vrednosti v eni celici, ločeni z vejico?

V Excelu lahko uporabimo funkcijo VLOOKUP za vrnitev prve ujemajoče se vrednosti iz celic tabele, vendar moramo včasih izločiti vse ujemajoče se vrednosti in jih nato ločiti s posebnim ločilnikom, kot so vejica, pomišljaj itd. celica, kot je prikazano na sliki spodaj. Kako lahko dobimo in vrnemo več iskalnih vrednosti v eni celici, ločeni z vejico v Excelu?

doc vrne več vrednosti, ločenih z vejico 1

Vrni več iskalnih vrednosti v eno celico, ločeno z vejico, z uporabniško določeno funkcijo

Vrnite več iskalnih vrednosti v eno celico, ločeno z vejico, s programom Kutools za Excel


Vrni več iskalnih vrednosti v eno celico, ločeno z vejico, z uporabniško določeno funkcijo

Običajno ne moremo neposredno izvleči in vrniti več ujemajočih se vrednosti in ločenih z vejico v eno celico. Tu lahko ustvarite uporabniško določeno funkcijo za rešitev tega opravila, naredite naslednje:

1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Moduli Okno.

Koda VBA: Vrni več iskalnih vrednosti v eno celico, ločeno z vejico

Function SingleCellExtract(LookupValue As String, LookupRange As Range, ColumnNumber As Integer, Char As String)
'Updateby Extendoffice
    Dim I As Long
    Dim xRet As String
    For I = 1 To LookupRange.Columns(1).Cells.Count
        If LookupRange.Cells(I, 1) = LookupValue Then
            If xRet = "" Then
                xRet = LookupRange.Cells(I, ColumnNumber) & Char
            Else
                xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
            End If
        End If
    Next
    SingleCellExtract = Left(xRet, Len(xRet) - 1)
End Function

3. Nato shranite to kodo in zaprite okno modula, se vrnite na svoj delovni list in vnesite to formulo: = SingleCellExtract (D2, A2: B15,2, ",") v prazno celico, ki ji želite vrniti rezultat. In nato pritisnite Vnesite tipko, da dobite rezultat, glejte sliko zaslona:

doc vrne več vrednosti, ločenih z vejico 2

Opombe: V zgornji formuli:

D2: označuje vrednosti celic, ki jih želite poiskati;

A2: B15: je obseg podatkov, za katerega želite pridobiti podatke;

2: številka 2 je številka stolpca, ki ji je treba vrniti ujemajočo se vrednost;

,: vejica je ločilo, ki ga želite ločiti od več vrednosti.

Lahko jih spremenite po svojih potrebah.


Vrnite več iskalnih vrednosti v eno celico, ločeno z vejico, s programom Kutools za Excel

Če imate Kutools za Excel, ta naloga ne bo več problem. The Napredne kombinirane vrstice pripomoček vam lahko pomaga združiti vse relativne vrednosti na podlagi stolpca.

Kutools za Excel : z več kot 300 priročnimi dodatki za Excel, ki jih lahko brezplačno preizkusite v 30 dneh

Po namestitvi Kutools za Excel, naredite naslednje:

1. Izberite obseg podatkov, za katerega želite združiti vse ujemajoče se vrednosti na podlagi stolpca.

2. Kliknite Kutools > Spoji in razdeli > Napredne kombinirane vrstice, glej posnetek zaslona:

3. v Kombiniraj vrstice na podlagi stolpca v pogovornem oknu kliknite ime stolpca, na podlagi katerega želite združiti, in nato kliknite Primarni ključ gumb, glej posnetek zaslona:

doc vrne več vrednosti, ločenih z vejico 4

4. Nato kliknite ime drugega stolpca, za katerega želite združiti njihove ujemajoče se vrednosti, in kliknite Združite če želite izbrati en ločilo za ločevanje združenih vrednosti, glejte posnetek zaslona:

doc vrne več vrednosti, ločenih z vejico 5

5. Nato kliknite OK gumb, so vse ustrezne celice z enako vrednostjo združene v eno celico, ki so ločene z vejico, glejte posnetke zaslona:

doc vrne več vrednosti, ločenih z vejico 6 2 doc vrne več vrednosti, ločenih z vejico 7

Kliknite, če želite izvedeti več podrobnosti o tem pripomočku Advanced Combine Rows…

Prenesite in brezplačno preizkusite Kutools za Excel zdaj!


Predstavitev: Vrnite več iskalnih vrednosti v eno celico, ločeno z vejico, s programom Kutools za Excel

Kutools za Excel: z več kot 300 priročnimi dodatki za Excel, brezplačno preizkusite brez omejitev v 30 dneh. Prenesite in brezplačno preskusite zdaj!

Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (17)
Ocenjeno 5 iz 5 · 2 ocene
Ta komentar je moderator na spletnem mestu minimiziral
Medtem ko nameravam prilepiti in shraniti modul, se prikaže pojavno sporočilo, da preverjevalnik združljivosti znatne izgube funkcionalnosti
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za to objavo. Ali veste, kako bi manipuliral z dvema ločenima celima številkama, ki jih to ustvarja. Recimo, da funkcija '=SingleCellExtract' zdaj proizvaja (1, 2). Ali obstaja način, da imate zraven celico, ki ima (1+.5, 2+.5)?
Ta komentar je moderator na spletnem mestu minimiziral
To deluje, vendar močno upočasni moj Excel! Kakšni nasveti za pomoč pri hitrosti?
Ta komentar je moderator na spletnem mestu minimiziral
To preprosto ne deluje. Nisem mogel zagotoviti, da deluje v moji lastni aplikaciji, zato sem kopiral/prilepil vba in formulo in vsakič je vrnila napako
Ta komentar je moderator na spletnem mestu minimiziral
hvala, najprej mi je uspelo, da to deluje brez upočasnitve delovanja. Uporabljam vrednosti namesto besedila, zato je moje vprašanje, da želim na seznamu vrniti vse tiste z manj kot recimo 19 točkami. Ali lahko izvleček ene celice deluje za to ali mora biti določena vrednost?
Ta komentar je moderator na spletnem mestu minimiziral
Ukaz VB se prekine, ko je obseg daljši od 154 vrstic (tj. :B154)....
Ta komentar je moderator na spletnem mestu minimiziral
Če povečate velikost matrike, se pojavi napaka
Ta komentar je moderator na spletnem mestu minimiziral
Ko se ujemata 2 merila, vrnite več iskalnih vrednosti v eni celici, ločeni z vejico
A2=B2 Nato rezultat iz obsega z "SingleCellExtract" - prosim......
Ta komentar je moderator na spletnem mestu minimiziral
Dobro jutro,

koda VBA je odlično delovala z mojim delovnim listom, precej jasna in preprosta, vendar sem poskušal najti način, kako bi Excelu povedal, naj vrne samo edinstvene vrednosti. Ali bi bilo to mogoče z uporabo iste kode?
Ta komentar je moderator na spletnem mestu minimiziral
Hi,

Želim natančno potrditveno kodo za več vrednosti, ločenih z vejico in presledkom za vsako vrednost.

primer:
Lucy, Tom, Nicol, Akash, Apple

Prosim ponovite, če imate kakšne predloge.
Ocenjeno 4.5 iz 5
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Manikanta
Če želite ločiti več vrednosti z vejico in presledkom, morate samo dodati presledek za vejico, spremenite formulo takole: =SingleCellExtract(D2,A2:B15,2,", ").
Prosim poskusite, upam, da vam lahko pomaga!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Skyyang,

Hvala za ponovitev!

Poskusil sem že na enak način, vendar je primer v vrednosti celice zadnja dodatna vejica (,).

Lucy, Tom, Nicol, Akash, Apple,

To ne bo delovalo za datoteko Json, zato želim vrednosti, ločene z vejico in presledkom, kot je prikazano spodaj.

Lucy, Tom, Nicol, Akash, Apple

Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Manikanta
V tem primeru lahko uporabite spodnjo uporabniško določeno funkcijo:

Function MultipleValues(work_range As Range, criteria As Variant, merge_range As Range, Optional Separator As String = ",") As Variant
Dim outcome As String
On Error Resume Next
If work_range.Count <> merge_range.Count Then
MultipleValues = CVErr(xlErrRef)
Exit Function
End If
For i = 1 To work_range.Count
If work_range.Cells(i).Value = criteria Then
outcome = outcome & Separator & merge_range.Cells(i).Value
End If
Next i
If outcome <> "" Then
outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1)
End If
MultipleValues = outcome
Exit Function
End Function


Ko prilepite kodo, uporabite to formulo: =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

Poskusite, upam, da vam bo to lahko pomagalo!
Če imate še kakšno drugo težavo, komentirajte tukaj.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Skyyang,

To zdaj deluje. Hvala za hiter odgovor.

Še enkrat mi zelo koristi. Hvala za vašo pomoč.

S spoštovanjem,
Manikanta.
Ocenjeno 5 iz 5
Ta komentar je moderator na spletnem mestu minimiziral
No soy programador pero necesito ayuda para que la función de abajo en lugar de devolverme esto

S-01-08-0017->Mikro stebriček 1R, črn, nerjaveče jeklo -konec,->4; S-01-08-0057->Mikro stebriček 2R, črn, nerjaveče jeklo -konec,->2

me devuelva los valores en líneas diferentes.
S-01-08-0017->Mikro drog 1R, črn, nerjaveče jeklo -konec,->4
S-01-08-0057->Mikro drog 2R, črn, nerjaveče jeklo -konec,->2

La función es:
Funkcija SingleCellExtract(LookupValue kot niz, LookupRange kot obseg, ColumnNumber kot celo število, Char kot niz)
'Posodobitev Extendoffice
Dim I As Long
Dim xRet kot niz
Za I = 1 Za LookupRange.Columns(1).Cells.Count
Če je LookupRange.Cells(I, 1) = LookupValue Potem
Če je xRet = "" Potem
xRet = LookupRange.Cells(I, ColumnNumber) & Char
Else
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
Konec Če
Konec Če
Naslednji
SingleCellExtract = levo (xRet, Len(xRet) - 1)
End Function
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, Yery,
Ali ste mislili celico razdeliti na več vrstic na podlagi znaka podpičja?
Če je tako, vam lahko pomaga naslednja koda VBA:
Sub SplitAll()
    Dim xRg As Range
    Dim xRg1 As Range
    Dim xCell As Range
    Dim I As Long
    Dim xAddress As String
    Dim xUpdate As Boolean
    Dim xRet As Variant
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select a range", "Kutools for Excel", xAddress, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
        If xRg.Columns.Count > 1 Then
            MsgBox "You can't select multiple columns", , "Kutools for Excel"
            Exit Sub
            End If
            Set xRg1 = Application.InputBox("Split to (single cell):", "Kutools for Excel", , , , , , 8)
            Set xRg1 = xRg1.Range("A1")
            If xRg1 Is Nothing Then Exit Sub
                xUpdate = Application.ScreenUpdating
                Application.ScreenUpdating = False
                For Each xCell In xRg
                    xRet = Split(xCell.Value, ";")
                    xRg1.Worksheet.Range(xRg1.Offset(I, 0), xRg1.Offset(I + UBound(xRet, 1), 0)) = Application.WorksheetFunction.Transpose(xRet)
                    I = I + UBound(xRet, 1) + 1
                Next
                Application.ScreenUpdating = xUpdate
            End Sub

Prosimo, poskusite, upam, da vam bo pomagalo!
Ta komentar je moderator na spletnem mestu minimiziral
Kje/kako spremenim kodo VBA za ustvarjanje "besedila", če ujemanje ni najdeno -- z zgornjo kodo, če vrednost ni najdena, "#VALUE!" se prikaže v celici. To ni najboljši videz delovnega zvezka. Hvala vam.
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL