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

Hogyan lehet eltávolítani az ismétlődő karaktereket vagy szavakat egy cella karakterláncában?

Tegyük fel, hogy minden cellában vannak duplikált karakterek vagy szavak, és el szeretné távolítani az ismétléseket, és csak egyedi karaktereket vagy szavakat hagyna meg. Hogyan oldhatná meg ezt a problémát az Excel programban?

Távolítsa el a szöveges karakterlánc ismétlődő karaktereit a Felhasználó által definiált funkcióval

Távolítsa el az ismétlődő szavakat elválasztva a Felhasználó által definiált funkcióval


nyíl kék jobb buborék Távolítsa el a szöveges karakterlánc ismétlődő karaktereit a Felhasználó által definiált funkcióval

Ha van egy listája szöveges karakterláncról, akkor most el kell távolítania az ismétlődő karaktereket az alábbi képernyőkép szerint. Itt beszélhetek egy VBA-kódról, amely foglalkozik vele.

doc-remove-duplicate-karakterek-1

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 Modul ablak.

VBA-kód: Távolítsa el a szöveges karakterlánc duplikált karaktereit egy cellából

Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
    xChar = VBA.Mid(xValue, i, 1)
    If xDic.Exists(xChar) Then
    Else
        xDic(xChar) = ""
        xOutValue = xOutValue & xChar
    End If
Next
RemoveDupes1 = xOutValue
End Function

3. Ezután mentse el és zárja be ezt a kódot, menjen vissza a munkalapra, és írja be ezt a képletet = eltávolítottupes1 (A2) (A2 az az adatcella, amelyből a duplikátumokat el akarja távolítani) egy üres cellába az adatok mellett, lásd a képernyőképet:

doc-remove-duplicate-karakterek-1

4. Ezután húzza át a kitöltő fogantyút azokra a tartomány cellákra, amelyeken alkalmazni szeretné ezt a képletet. Az összes duplikátust azonnal eltávolítottuk minden cellából.

doc-remove-duplicate-karakterek-1


nyíl kék jobb buborék Távolítsa el az ismétlődő szavakat elválasztva a Felhasználó által definiált funkcióval

Ha vannak olyan szavak, amelyeket bizonyos írásjelek választanak el a cellában, akkor az ismétlődő szavakat tetszés szerint eltávolíthatja. 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 Modul ablak.

VBA kód: Távolítsa el az ismétlődő szavakat, elválasztva egy cellát

Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
    Dim x
    'Updateby Extendoffice
    With CreateObject("Scripting.Dictionary")
        .CompareMode = vbTextCompare
        For Each x In Split(txt, delim)
            If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
        Next
        If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
    End With
End Function

3. Ezután mentse el és zárja be ezt a kódot, térjen vissza a munkalapra, és írja be ezt a képletet = RemoveDupes2 (A2, ",") az adatok melletti üres cellába, lásd a képernyőképet:

doc-remove-duplicate-karakterek-1

4. Ezután másolja le a képletet a szükséges cellákba, és minden másolat megszűnt minden cellából. Lásd a képernyőképet:

doc-remove-duplicate-karakterek-1

Megjegyzések: A fenti képletben A2 azt a cellát jelöli, amelyet használni szeretne, és a vessző (,) az írásjeleket jelöli, amelyek elválasztják a cellában lévő szavakat, az igénye szerint bármely más írásjelre módosíthatja.


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 (66)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Még mindig elromlott... valójában nem mutat semmit. Íme a cella adataim: 27000,Alap,Termékek,Anyagok,Fából,Fa,Kő,Föld,Nyers,Anyagok,27100,Alap,Erdő,Termékek,Általános,27110,Alap,Erdő,Termékek,Fűrésztelep,27120,Termék27200 ,Erdő,Termékek,Fa,Pulp,XNUMX,Üveg Nyilvánvalóan vannak benne roncsok. A cellát üresen hagyja. Gondolatok?
A weboldal moderátora ezt a megjegyzést minimalizálta
Sebaj, hülye vagyok. Mivel csak szavakat akartam kihúzni, átneveztem a RemoveDupes modult, de nem változtattam meg a RemoveDupes-t később a kódban. Fix, kalapáccsal ütős önmaga....
A weboldal moderátora ezt a megjegyzést minimalizálta
És kombináltam a RemoveDupes-t a ConCat-tel (a VBA jóság, nem pedig a CON(I-SUCK-BECAUSE-I'M-MICROSOFT)CATENATE) így: =RemoveDupes(ConCat(",",G495:G502),",") így behúzta a sejtjeimet, majd kitörölte az összes dupát. Köszönet a RemoveDupes-ért, itt van a ConCat: Funkció ConCat(Elválasztó mint változat, ParamArray CellRanges() mint változat) As String Dim Cell as Range, Area as Variant If IsMissing(Elimiter) then Határoló = "" Minden egyes területhez a Cell(Ranges If TypeNa) Terület) = "Tartomány" Majd minden cellához a területen If Len(Cell.Érték) Akkor ConCat = ConCat & Határoló & Cell.Value Next Else ConCat = ConCat & Határoló & Terület vége If Next ConCat = Mid(ConCat, Len(Határoló) ) + 1) Funkció befejezése
A weboldal moderátora ezt a megjegyzést minimalizálta
Kipróbáltam a "Duplikált szavak eltávolítása írásjellel elválasztott szavak felhasználói függvényekkel" megoldását, és remekül működik több szó esetén egy cellában, DE nem oldja meg teljesen a problémámat. Van egy cellám, amely több értékkel rendelkezik, és szeretném összehasonlítani egy több értékkel rendelkező cellával, majd szeretné eltávolítani a két cella között meglévő ismétlődéseket. Van erre mód?
A weboldal moderátora ezt a megjegyzést minimalizálta
ugyanez itt is segítsetek pls
A weboldal moderátora ezt a megjegyzést minimalizálta
él még ez a szál? Nagyon hálás lennék egy kis betekintést ezzel a VBA funkcióval kapcsolatban. A kérdéseim a kóddal kapcsolatosak, ha egyáltalán kell utasítanom, hogy keresse meg az adott írásjelet elválasztóként. Ha a "@"-t használnám az írásjeleket?
A weboldal moderátora ezt a megjegyzést minimalizálta
Csodálatosak a tanácsaid! Körülbelül 58,400 perc alatt 2 13 rekordot rendeztem, és megspóroltam egy hét (vagy több) munkát. Az én másodpéldányaim egy kicsit nehezebbek voltak, amikor ezt a példát "V&O Liquid Fuel Lantern 1-2/13in blk fuel lantern" "V&O Liquid Fuel Lantern 1-2/XNUMXin blk"-vé alakítottam, köszönöm.
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló, kérem a segítségét, megpróbáltam a kódot, de nem működött, talán azért, mert vannak telefonszámaim, duplikált telefonszámaim vannak vesszővel elválasztva. Kérem mondja meg, mit tegyek Köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
ugyanez itt is segítsetek pls
A weboldal moderátora ezt a megjegyzést minimalizálta
BRILLIÁNS köszönöm! köszönöm! köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Nagyszerű, köszönöm!.....
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia haver, szükségem van a segítségedre. Mi a teendő, ha ki szeretném bontani a másolatot? A1-ben (asdfghjiklkk) Tehát a k duplikált karakter, A2-t akarok (k) mit tegyek?
A weboldal moderátora ezt a megjegyzést minimalizálta
Beállítható a funkció, ha van egy bizonyos szó, amelyet meg akarok duplikálni, míg a többi nem duplikálódik?
A weboldal moderátora ezt a megjegyzést minimalizálta
Csak szeretném megmenteni, köszönöm szépen ezt az útmutatót, sok munkától kíméltem meg! :)
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez nagyon hasznos. Kipróbáltam és nálam kivételesen működik. Kiváló!!!!
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez egy fantasztikus és egyszerű megoldás a duplikált kifejezések egyetlen cellán belüli megtalálására, sokkal egyszerűbb, mint néhány hosszú ívű makrómegoldás, amelyet a problémámra keresve találtam, köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm ezt a kódot – rengeteg időt takarított meg.
A weboldal moderátora ezt a megjegyzést minimalizálta
Olyan adatokkal rendelkezem, mint az 1. Mutasd lent egy cellában, és szeretném a 2 tetszésnyilvánítást tetszik:- ZERPUR,MAHENDRAGARH, HARYANA-1, 123029, 30771237 Köszönettel és üdvözlettel: Hanuman Singh 8813073653
A weboldal moderátora ezt a megjegyzést minimalizálta
taníts meg hogyan? azt is tudni kell..
A weboldal moderátora ezt a megjegyzést minimalizálta
megtudhatjuk-e az 1. kisbetű pozícióját


Vizsga - RAMSHsJHSAhsjDDD ------Az 1. kisbetű pozícióját szeretném tudni a képlet alapján = s
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Meharban!
A következő tömbképlet segítségével megkaphatja az első kisbetű pozícióját:
=MATCH(1,IF(ABS(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))-109.5)<=12.5,1),0)
Ne felejtse el lenyomni a Ctrl + Shift + Enter billentyűket.


Remélem tud segíteni, köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Skyyang

működik rendesen......
igazából én is ugyanezt akartam..

nagyon köszönöm !!


Meharban singh haver
A weboldal moderátora ezt a megjegyzést minimalizálta
Hogyan lehet eltávolítani az egyező karakterlánc duplikációit ... meg tudná mondani nekem


Üdvözlettel,
Kiran
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Kiran!
Tudsz példát mondani a problémádra? Vagy beszúrhat egy csatolt képet.
Várom válaszát!
A weboldal moderátora ezt a megjegyzést minimalizálta
köszönöm szépen, ez többet segít. De szeretnék valami konkrétabbat az adatkészletemhez.
Két oszlop adatom van. ID és információ. Az információs oszlopban a projektazonosítók cellánként ismétlődnek, mint például a „Kant-, Udp-, Akr- stb.”. Az én adatkészletemnél a project_id nagyobb, mint 15, és javítva van. Tehát törölni akarom a repeat_id-t a cellából, de megtartom az elsőt.
Példa: Kant-526 (0.0287), Kant-527 (0.0113), Kant-528 (0.0262) /// Kant-526 (0.0287), 527 (0.0113), 528 (0.0262),
Kant-543 (0.0685), Kant-544 (0.0685), Udp-097 (0.0141) /// Kant-543 (0.0685), 544 (0.0685), Udp-097 (0.0141)

A mintakép itt található. Van erre valami megoldás.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Imran!
Elnézést, hogy nem oldottam meg a problémát, ha valakinek van jó ötlete, kérem írja meg itt.
Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Megvan a saját megoldásom. Itt a SUBSTITUTE képletet használtam, de túl nagy az adataimhoz. ezért ismételje meg kétszer vagy háromszor a megfelelő eredmény elérése érdekében.

=SUBSTITUTE(SUBSTITUTE("Kant-","",2), ("Kant-","",2)
Itt az 1. 2 a második Kant-csere és a következő minden Kant-eltávolítás esetén csak adjunk hozzá ("Kant-","",2) extra. Nekem működik. De jobban szeretem a jó VBA-t.
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm a kódot.

Tudna nekem segíteni? A makró függvényt használom a cellák írásjelével elválasztott szavak eltávolítására, de az adataim nem szavak, hanem kifejezések. Mint a "KTE, KTO, KTW, KTO" helyett valójában rövid leírások vannak, mint például: "Készítsen számlát, nézze át az e-mailjeimet, frissítse a szerződéseket, nézze át az e-mailjeimet".

Lehetséges lenne frissíteni a VBA-t úgy, hogy a szavak helyett eltávolítsák a duplikált kifejezéseket?

Nagyon köszönöm, ez valóban nagyon hasznos lesz.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Alonso!
Az ismétlődő kifejezések eltávolításához a következő, felhasználó által definiált függvény segíthet, próbálja meg.

Függvény RemoveDuplicateValue(xStr As String, xDelim As String) As String
Dim xValue
Ha (Len(xDelim) > 0) And (Len(Trim(xStr)) > 0) Akkor
A CreateObject segítségével ("Scripting.Dictionary")
Minden felosztásban lévő xÉrtékhez (xStr, xDelim)
Ha Trim(xÉrték) <> "" És nem .exists(Trim(xÉrték)) Akkor .Add Trim(xÉrték), Semmi
Következő
Ha .Count > 0, akkor RemoveDuplicateValue = Join(.keys, xDelim)
Vége
Más
RemoveDuplicateValue = xStr
Ha véget
end Function

Ezután alkalmazza ezt a képletet: =RemoveDuplicateValue(A2,","), módosítsa az elválasztót a sajátjára.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Skyyang!



Remélem, kapok egy kis segítséget a következő cellával kapcsolatban:

PR-PUERTO RICO; USA-EGYESÜLT ÁLLAMOK; USA-EGYESÜLT ÁLLAMOK

El kell távolítanom az Egyesült Államok–EGYESÜLT ÁLLAMOK ismétlődését, mivel a feltöltő eszközöm nem teszi lehetővé az ismétlődéseket.



A fenti VBA-t használtam, és a képlethatárolómat ";"-re cseréltem. A kötőjel okozza ezt a problémát? #NAME? valahányszor futtatom a képletet. Új vagyok a makrók/VBA használatában, de megbizonyosodtam arról, hogy a fájlt makróengedélyezett fájlként mentettem. Nagyon igyekeztem ezeket követni a T-nek.


Köszönöm ezt a már eddig is nagyszerű információt, mivel segített egy másik projektben is, amelyet szintén be kellett fejeznem, és minden továbbit nagyra értékelünk.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Michael,
Arra gondol, hogy eltávolítja az összes ismétlődő kifejezést egy cellából, és csak az egyedieket hagyja meg?
Várom válaszod!
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez a kimenet, amit keresek:

Jelenlegi: PR-PUERTO RICO; USA-EGYESÜLT ÁLLAMOK; USA-EGYESÜLT ÁLLAMOK
Kívánt: PR-PUERTO RICO; USA-EGYESÜLT ÁLLAMOK

Remélem ez érthető, és nagyon köszönöm a gyors választ.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Michael,
Csak alkalmaznia kell az alábbi kódot, majd ezt a képletet kell használnia: =RemoveDuplicateValue(A2";"). Próbáld ki, remélem tud segíteni!

Függvény RemoveDuplicateValue(xStr As String, xDelim As String) As String
Dim xValue
Ha (Len(xDelim) > 0) And (Len(Trim(xStr)) > 0) Akkor
A CreateObject segítségével ("Scripting.Dictionary")
Minden felosztásban lévő xÉrtékhez (xStr, xDelim)
Ha Trim(xÉrték) <> "" És nem .exists(Trim(xÉrték)) Akkor .Add Trim(xÉrték), Semmi
Következő
Ha .Count > 0, akkor RemoveDuplicateValue = Join(.keys, xDelim)
Vége
Más
RemoveDuplicateValue = xStr
Ha véget
end Function
A weboldal moderátora ezt a megjegyzést minimalizálta
Nagyon szépen köszönöm. A válaszod jobban tetszett, mint az én csésze kávém!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia ez tényleg hasznos
De el akarom távolítani a teljes szavakat a "NEM TO:" után.

pl.: NEM: [C11bx1]

NEM: [C11bx3] tetszik
Még senki sem írt megjegyzést
Több ingatlan
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