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

Hogyan adhatunk vissza több keresési értéket egy vesszővel elválasztott cellában?

Az Excelben alkalmazhatjuk a VLOOKUP függvényt az első egyező érték visszaadására egy táblázat celláiból, de néha ki kell bontanunk az összes egyező értéket, majd egy elválasztóval, például vesszővel, kötőjelgel stb. Kell elválasztani egyetlen egységbe. cella a következő képernyőképen látható. Hogyan kaphatunk és adhatunk vissza több keresési értéket egy vesszővel elválasztott cellában az Excelben?

doc több értéket ad vissza vesszővel elválasztva 1

Több keresési értéket adjon vissza egy vesszővel elválasztott cellában a Felhasználó által definiált funkcióval

Több keresési értéket adjon vissza egy vesszővel elválasztott cellában a Kutools for Excel segítségével


Több keresési értéket adjon vissza egy vesszővel elválasztott cellában a Felhasználó által definiált funkcióval

Általában nincs közvetlen módszer a több egyező és vesszővel elválasztott érték kibontására és visszaadására egy cellába, itt létrehozhat egy felhasználó által definiált függvényt a feladat megoldására. Kérjük, tegye a következőket:

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok Ablak.

VBA kód: Több keresési értéket adjon vissza egy vesszővel elválasztott cellába

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. Ezután mentse el ezt a kódot, és zárja be a Modul ablakot, térjen vissza a munkalapra, és írja be ezt a képletet: = SingleCellExtract (D2, A2: B15,2, ",") egy üres cellába, amely vissza akarja adni az eredményt. És akkor nyomja meg belép kulcs az eredmény eléréséhez, lásd a képernyőképet:

doc több értéket ad vissza vesszővel elválasztva 2

Megjegyzések: A fenti képletben:

D2: jelzi azokat a cellaértékeket, amelyeket meg akar keresni;

A2: B15: az az adattartomány, amelyről be szeretné szerezni az adatokat;

2: a 2. szám az az oszlopszám, amelyet az egyező értéknek vissza kell adni;

,: a vessző az elválasztó, amellyel el szeretné különíteni a több értéket.

Igény szerint megváltoztathatja őket.


Több keresési értéket adjon vissza egy vesszővel elválasztott cellában a Kutools for Excel segítségével

Ha van Kutools az Excel számára, ez a feladat már nem jelent problémát. A Haladó kombinált sorok segédprogram segíthet az összes relatív érték kombinálásában egy oszlop alapján.

Kutools az Excel számára : több mint 300 praktikus Excel-bővítménnyel, ingyenesen, korlátozás nélkül, 30 nap alatt kipróbálható

Telepítése után Kutools az Excel számára, kérjük, tegye a következőket:

1. Válassza ki azt az adattartományt, amelyhez az összes egyező értéket oszlop alapján szeretné egyesíteni.

2. Kattints Kutools > Egyesítés és felosztás > Haladó kombinált sorok, lásd a képernyőképet:

3. Az Kombinálja a sorokat az oszlop alapján párbeszédpanelen kattintson az oszlop nevére, amely alapján kombinálni kívánja, majd kattintson a gombra Elsődleges kulcs gomb, lásd a képernyőképet:

doc több értéket ad vissza vesszővel elválasztva 4

4. Ezután kattintson a másik oszlop nevére, amelyhez össze szeretné kapcsolni az egyező értékeket, majd kattintson a gombra Kombájn egy elválasztó kiválasztásához az egyesített értékek elkülönítéséhez lásd a képernyőképet:

doc több értéket ad vissza vesszővel elválasztva 5

5. Ezután kattintson OK gombra, az összes azonos cellával rendelkező, azonos értékű cellát egy cellába egyesítettük, amelyeket vesszővel választottunk el, lásd a képernyőképeket:

doc több értéket ad vissza vesszővel elválasztva 6 2 doc több értéket ad vissza vesszővel elválasztva 7

Kattintson, ha további részleteket szeretne tudni erről a Haladó kombinált sorok segédprogramról ...

Töltse le és ingyenes próbaverziót Kutools for Excel Now!


Bemutató: Több keresési értéket adjon vissza egy vesszővel elválasztott cellába a Kutools for Excel programmal

Kutools az Excel számára: több mint 300 praktikus Excel-bővítménnyel, ingyenesen, korlátozás nélkül, 30 nap alatt kipróbálható. Töltse le és ingyenes próbaverziót most!

A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (16)
Az 5-t az 5-ből kiértékelte · 2 értékelés
A weboldal moderátora ezt a megjegyzést minimalizálta
Miközben a modul beillesztése és mentése közben egy felugró üzenet jelenik meg, amely szerint a kompatibilitás-ellenőrző jelentős mértékű elvesztését jelzi.
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönjük ezt a bejegyzést. Tudod, hogyan kezelném a két különálló egész számot, amelyeket ez hoz létre? Tegyük fel például, hogy a '=SingleCellExtract' függvény most az (1 , 2) értéket adja. Van rá mód, hogy legyen mellette olyan cella, amelyik (1+.5 , 2+.5)?
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez működik, de jelentősen lelassítja az excelemet! Valami tipp a gyorsításhoz?
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez egyszerűen nem működik. Nem tudtam működésre bírni a saját alkalmazásomban, ezért kimásoltam/beillesztettem a vba-t és a képletet, és minden alkalommal hibát adott vissza.
A weboldal moderátora ezt a megjegyzést minimalizálta
köszönöm, először is sikerült működésre bírnom a teljesítmény lassulása nélkül. A szöveg helyett értékeket használok, ezért a kérdésem az, hogy vissza akarom hozni mindazokat, akiknek kevesebb mint mondjuk 19 pontjuk van a listában. Működhet-e erre az egycellás kivonat, vagy konkrét értéknek kell lennie?
A weboldal moderátora ezt a megjegyzést minimalizálta
A VB parancs megszakad, ha a tartomány meghaladja a 154 sort (azaz :B154).
A weboldal moderátora ezt a megjegyzést minimalizálta
A tömb méretének növelésekor hiba jelenik meg
A weboldal moderátora ezt a megjegyzést minimalizálta
Ha 2 feltétel egyezik, akkor több keresési értéket ad vissza egy vesszővel elválasztott cellában
A2=B2, majd a tartomány eredménye a "SingleCellExtract"-val - Kérem.......
A weboldal moderátora ezt a megjegyzést minimalizálta
Jó reggelt,

a VBA kód tökéletesen működött a munkalapommal, elég világos és egyszerű, azonban próbáltam megtalálni a módját, hogy megmondjam az Excelnek, hogy csak az egyedi értékeket adja vissza. Ez lehetséges ugyanazzal a kóddal?
Az 5-t az 5-ből kiértékelte
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia,

Pontos érvényesítési kódot szeretnék több értékhez, vesszővel és szóközzel elválasztva az egyes értékekhez.

Példa:
Lucy, Tom, Nicol, Akash, Apple

Kérjük, játssza le újra, ha bármilyen javaslata van.
Az 4.5-t az 5-ből kiértékelte
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia, Manikanta
Ha a több értéket vesszővel és szóközzel szeretné elválasztani, csak szóközt kell hozzáadnia a vessző mögé, és módosítania kell a képletet a következőképpen: =SingleCellExtract(D2;A2:B15,2;XNUMX;", ").
Próbáld ki, remélem tud segíteni!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Skyyang,

Köszönjük az újrajátszást!

Már próbáltam ugyanígy, de a cellaérték utolsó részében egy plusz vessző (,) az alábbiakban látható a példa.

Lucy, Tom, Nicol, Akash, Apple,

Ez nem fog működni Json fájl esetén, ezért szeretném, ha az értékeket vesszővel és szóközzel kell elválasztani az alábbiak szerint.

Lucy, Tom, Nicol, Akash, Apple

Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Manikanta
Ebben az esetben az alábbi, felhasználó által definiált függvényt használhatja:

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


A kód beillesztése után használja ezt a képletet: =MultipleValues($A$2:$A$15,D2,$B$2:$B$15,", ")

Kérjük, próbálja meg, remélem ez tud segíteni!
Ha továbbra is bármilyen más problémája van, kérjük, írja meg itt.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-return-multiple-matching-1.png
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Skyyang,

Ez most működik, köszönöm gyors válaszát.

Nagyon hasznos nekem még egyszer Köszönöm a segítséget.

Üdvözlettel,
Manikanta.
Az 5-t az 5-ből kiértékelte
A weboldal moderátora ezt a megjegyzést minimalizálta
No soy programador pero necesito ayuda para que la función de abajo en lugar de devolverme esto

S-01-08-0017->Mikrooszlop 1R, fekete, rozsdamentes acél -vég,->4;S-01-08-0057->mikrooszlop 2R, fekete, rozsdamentes acél -vég,->2

me devuelva los valores en líneas diferentes.
S-01-08-0017->Mikrooszlop 1R, fekete, rozsdamentes acél -vég,->4
S-01-08-0057->Mikrooszlop 2R, fekete, rozsdamentes acél -vég,->2

Función es:
Funkció SingleCellExtract (LookupValue mint karakterlánc, LookupRange mint tartomány, oszlopszám mint egész, karakter mint karakterlánc)
'Frissítés által Extendoffice
Dim I As Long
Dim xRet As String
Ha I = 1 To LookupRange.Columns(1).Cells.Count
Ha LookupRange.Cells(I, 1) = LookupValue Then
Ha xRet = "" Akkor
xRet = LookupRange.Cells(I, ColumnNumber) & Char
Más
xRet = xRet & "" & LookupRange.Cells(I, ColumnNumber) & Char
Ha véget
Ha véget
Következő
SingleCellExtract = Bal(xRet, Len(xRet) - 1)
end Function
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Yery,
Arra gondolt, hogy egy cellát több sorra kell felosztani a pontosvessző karakter alapján?
Ha igen, a következő VBA-kód segíthet:
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

Kérem, próbálja ki, remélem tud segíteni!
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi