Přejít k hlavnímu obsahu

Excel odstraňuje znaky, slova, čísla z textových řetězců

Předpokládejme, že máte dlouhý seznam textových řetězců, které obsahují znaky, čísla nebo jiné specifické symboly. V určitých případech může být nutné odstranit některé znaky na základě pozice, například zprava, zleva nebo uprostřed z textových řetězců, nebo odstranit některé nežádoucí znaky, čísla ze seznamu řetězců. Při hledání řešení jednoho po druhém vás bude bolet hlava, tento tutoriál shromažďuje všechny druhy metod pro odstranění znaků, slov nebo čísel v Excelu.

Obsah:

1. Odstraňte znaky z levé, pravé nebo střední části textových řetězců

2. Odstraňte nežádoucí / speciální znaky z textových řetězců

3. Odstraňte znaky / text před nebo za určitým znakem

4. Odstraňte slova z textových řetězců


Odstraňte znaky z levé, pravé nebo střední části textových řetězců

Pro většinu z nás může být běžným úkolem odstranit některé znaky z levého, pravého nebo středního textového řetězce v listech aplikace Excel. Tato část představí několik rychlých a jednoduchých triků pro řešení tohoto úkolu.

1.1 Odstraňte prvních n znaků z textových řetězců

Pokud potřebujete odstranit prvních n znaků ze seznamu textových řetězců, mohou vám pomoci následující metody.

 Pomocí vzorců

Za normálních okolností můžete k odstranění znaků od začátku textových řetězců použít buď funkci REPLACE, nebo kombinaci funkcí RIGHT a LEN.

Funkce REPLACE pro odstranění prvních N znaků:

=REPLACE(string, 1, num_chars, "")
  • šňůra: Textový řetězec, ze kterého chcete odstranit znaky;
  • počet_znaků: Počet znaků, které chcete odstranit.

Chcete-li například odstranit první 2 znaky z buněk, použijte níže uvedený vzorec a poté přetažením úchytu výplně zkopírujte vzorec do jiných buněk, viz snímek obrazovky:

=REPLACE(A4, 1, 2, "")

Funkce RIGHT a LEN pro odstranění prvních N znaků:

=RIGHT(string, LEN(string) - num_chars)
  • šňůra: Textový řetězec, ze kterého chcete odstranit znaky;
  • počet_znaků: Počet znaků, které chcete odstranit.

Chcete-li odstranit první 2 znaky z buněk, použijte následující vzorec:

=RIGHT(A4,LEN(A4)-2)


 Pomocí funkce definované uživatelem

Chcete-li odstranit prvních n znaků z buněk, můžete také vytvořit uživatelem definovanou funkci k vyřešení tohoto úkolu. Proveďte prosím následující kroky:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte prvních n znaků z textových řetězců

Function removeFirstx(rng As String, cnt As Long)
'Updateby Extendoffice
removeFirstx = Right(rng, Len(rng) - cnt)
End Function

3. Pak se vraťte zpět do listu a zadejte tento vzorec: = removefirstx (A4,2) do prázdné buňky a poté přetáhněte úchyt výplně dolů, abyste získali požadované výsledky, viz screenshot:

Poznámka: V tomto vzorci: A4 je buňka, ze které chcete odstranit znaky; Číslo 2 označuje počet znaků, které chcete odebrat od začátku textového řetězce.


1.2 Odstraňte posledních n znaků z textových řetězců

Chcete-li odebrat určitý počet znaků z pravé strany textových řetězců, můžete také použít vzorec nebo uživatelem definovanou funkci.

 Pomocí vzorce

Chcete-li odstranit posledních n znaků z textových řetězců, můžete použít vzorec založený na funkcích LEFT a LEN.

Funkce LEFT a LEN pro odstranění posledních N znaků:

=LEFT(string, LEN(string) - num_chars)
  • šňůra: Textový řetězec, ze kterého chcete odstranit znaky;
  • počet_znaků: Počet znaků, které chcete odstranit.

Chcete-li odstranit 3 znaky z konce textových řetězců, použijte prosím tento vzorec a poté přetažením úchytu výplně zkopírujte vzorec do jiných buněk, viz snímek obrazovky:

=LEFT(A4, LEN(A4) - 3)


 Pomocí funkce definované uživatelem

Zde vám také může uživatelsky definovaná funkce pomoci odstranit posledních n znaků ze seznamu buněk, postupujte takto:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte posledních n znaků z textových řetězců

Function removeLastx(rng As String, cnt As Long)
'Updateby Extendoffice
removeLastx = Left(rng, Len(rng) - cnt)
End Function

3. Poté se vraťte do listu a zadejte tento vzorec: = removelastx (A4,3) do prázdné buňky a poté přetáhněte úchyt výplně dolů, abyste získali požadované výsledky, viz screenshot:

Poznámka: V tomto vzorci: A4 je buňka, ze které chcete odstranit znaky; Číslo 3 označuje počet znaků, které chcete odebrat z konce textového řetězce.


1.3 Odstraňte prvních, posledních n znaků nebo znaků určitých pozic pomocí výkonné funkce

Může pro vás být bolestivé pamatovat si různé vzorce, odstraňovat znaky zleva, zprava nebo konkrétní pozici textových řetězců, Kutools pro Excel podporuje výkonnou funkci - Odebrat podle polohy. S tímto malým nástrojem tyto úkoly zvládnete na pár kliknutí, aniž byste si pamatovali nějaké vzorce.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Vyberte buňky, ze kterých chcete odebrat znaky, a potom klepněte Kutools > Text > Odebrat podle polohy, viz screenshot:

2. V Odebrat podle polohy V dialogovém okně proveďte následující operace:

2.1 Odstraňte prvních n znaků z buněk:

  • In Čísla do textového pole zadejte počet znaků, které chcete z řetězců odstranit. V tomto příkladu odstraním první 2 znaky.
  • vybrat Zleva volba v Pozice sekce.
  • Potom klepněte na tlačítko Ok or Podat žádost tlačítko pro získání výsledku, jak je zobrazen níže na snímku obrazovky.

2.2 Odstraňte posledních n znaků z buněk:

  • In Čísla do textového pole zadejte počet znaků, které chcete z řetězců odstranit. V tomto příkladu odstraním poslední 3 znaky.
  • vybrat Zprava volba v Pozice sekce.
  • Potom klepněte na tlačítko Ok or Podat žádost tlačítko pro získání výsledku, jak je zobrazen níže na snímku obrazovky.

2.3 Odeberte n znaků z konkrétní pozice buněk:

Pokud potřebujete odstranit určitý počet znaků z určité pozice textových řetězců, například odstranění 3 znaků začněte od třetího znaku řetězce.

  • In Čísla do textového pole zadejte počet znaků, které chcete z řetězců odstranit. V tomto příkladu odstraním 3 postavy z určité pozice.
  • vybrat Specifikovat a do textového pole zadejte číslo, od kterého chcete odstranit znaky začínající Pozice sekce. Zde odeberu znaky ze třetí postavy.
  • Potom klepněte na tlačítko Ok or Podat žádost tlačítko pro získání výsledku, jak je zobrazen níže na snímku obrazovky.

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


1.4 Odstraňte první n a posledních n znaků z textových řetězců se vzorcem

Pokud potřebujete odstranit některé znaky na obou stranách textových řetězců v aplikaci Excel, můžete zkombinovat funkce MID a LEN a vytvořit vzorec pro řešení tohoto úkolu.

=MID(string, left_chars + 1, LEN(string) - (left_chars + right_chars)
  • šňůra: Textový řetězec, ze kterého chcete odstranit znaky;
  • left_chars: Počet znaků k odstranění zleva;
  • right_chars: Počet znaků k odstranění zprava.

Například potřebujete odstranit prvních 7 znaků a posledních 5 znaků z textových řetězců současně, zadejte prosím do prázdné buňky následující vzorec:

=MID(A4, 7+1, LEN(A4) - (7+5))

Poznámka: V tomto vzorci: A4 je buňka, ze které chcete odstranit znaky; Číslo 7 je počet znaků, které chcete odstranit z levé strany; Číslo 5 je počet znaků, které chcete odebrat z pravé strany.

A pak přetáhněte rukojeť výplně dolů na místo, kde chcete použít tento vzorec, a dostanete výsledek, jak je zobrazen níže:


Odstraňte nežádoucí / speciální znaky z textových řetězců

Při importu dat odjinud do Excelu může být do vašeho listu vloženo mnoho speciálních nebo nechtěných znaků. Chcete-li odstranit tyto nežádoucí znaky, jako jsou #@$%^&, mezery, čísla, nenumerická čísla, zalomení řádků atd., tato část vám poskytne užitečné metody, které vám pomohou.

2.1 Odstraňte některé speciální znaky z textových řetězců

Pokud jsou v textových řetězcích nějaké speciální znaky, jako je %^&*(), k odstranění tohoto typu znaků můžete použít tři níže uvedené triky.

 Odstraňte několik speciálních znaků z textových řetězců pomocí funkce SUBSTITUTE

Normálně v Excelu můžete vnořit několik funkcí SUBSTITUTE, abyste nahradili každý konkrétní znak ničím, obecná syntaxe je:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(string_cell, char1, ""), char2, ""), char3, "")
  • řetězec_buňka: Buňka obsahuje textový řetězec, ze kterého chcete odstranit speciální znaky;
  • char1, char2, char3: Nechtěné znaky, které chcete odstranit.

Nyní prosím zkopírujte nebo zadejte níže uvedený vzorec do prázdné buňky:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "#", ""), "&", ""), "*", ""), "%", "")

A pak přetáhněte úchyt výplně dolů k buňkám, kde chcete použít tento vzorec, a všechny nechtěné znaky, které jste zadali, budou najednou odstraněny, viz snímek obrazovky:

Tipy: Pokud chcete odstranit více znaků, stačí do vzorce vložit více funkcí SUBSTITUTE.


 Odstraňte více speciálních znaků z textových řetězců pomocí funkce definované uživatelem

Výše vnořené funkce SUBSTITUTE fungují dobře, pokud je potřeba odstranit málo speciálních znaků, ale pokud potřebujete odstranit desítky znaků, vzorec bude příliš dlouhý a bude obtížné jej spravovat. V tomto případě vám může pomoci následující uživatelsky definovaná funkce dokončit tento úkol rychle a snadno.

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte několik speciálních znaků z textových řetězců

Function RemoveUnwantedChars(Str As String, xchars As String)
'Updateby Extendoffice
    For Index = 1 To Len(xchars)
        Str = Replace(Str, Mid(xchars, Index, 1), "")
    Next
    RemoveUnwantedChars = Str
End Function

3. Poté zavřete okno kódu a vraťte se do listu, zadejte tento vzorec =RemoveUnwantedChars(A2, $D$2) do prázdné buňky, kde chcete vytisknout výsledek, a poté přetáhněte úchyt výplně dolů, abyste získali výsledky, jak potřebujete, viz snímek obrazovky:

Poznámka: Ve výše uvedeném vzorci: A2 je buňka, ze které chcete odstranit znaky; $ D $ 2 obsahuje speciální znaky, které chcete odstranit (můžete zadat jakékoli další speciální znaky, které potřebujete).


 Odstraňte několik speciálních znaků z textových řetězců pomocí úžasné funkce

Pokud jste nainstalovali Kutools pro Excel, S jeho Odebrat znaky můžete odstranit všechny druhy znaků, jako jsou číselné znaky, alfa znaky, netisknutelné znaky... ze seznamu buněk, jak potřebujete.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Vyberte rozsah buněk, ze kterých chcete odebrat speciální znaky, a potom klepněte Kutools > Text > Odebrat znaky, viz screenshot:

2. V Odebrat znaky dialogové okno:

  • Kontrola Zvyk možnost podle Odebrat znaky sekce.
  • A pak do textového pole zadejte speciální znaky, které chcete odstranit.
  • Potom klepněte na tlačítko Ok or Podat žádost tlačítko pro odstranění vámi zadaných znaků najednou. Viz snímek obrazovky:

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


2.2 Odstraňte všechna čísla z textových řetězců

Pokud máte seznam textových řetězců, které se mísí s čísly, písmeny a speciálními znaky, a nyní chcete pouze odstranit všechna čísla a ponechat ostatní znaky. Tato část vám poskytne několik užitečných způsobů, jak vám pomoci.

 Odstraňte čísla z textových řetězců pomocí funkce SUBSTITUTE

V Excelu může vnořená funkce SUBSTITUTE pomoci nahradit všechna čísla ničím, takže můžete použít níže uvedený vzorec k odstranění všech čísel z buněk:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"")

Poté přetáhněte úchyt výplně dolů k buňkám, kde chcete tento vzorec použít, a všechna čísla budou odstraněna ze seznamu textových řetězců, viz snímek obrazovky:


 Odstraňte čísla z textových řetězců pomocí funkce TEXTJOIN

Pokud máte Excel 2019, 2021 nebo 365, nová funkce TEXTJOIN také může pomoci odstranit čísla z textových řetězců.

Zkopírujte prosím následující vzorec do prázdné buňky a poté stiskněte kombinaci kláves Ctrl + Shift + Enter, abyste získali první výsledek:

=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1), ""))

A poté zkopírujte vzorec do dalších buněk níže, kde chcete tento vzorec použít, viz snímek obrazovky:

Poznámka: Tento TEXTJOIN je k dispozici pouze v Excelu 2019, 2021 a Office 365.


 Odeberte čísla z textových řetězců pomocí funkce definované uživatelem

Kromě výše uvedených dvou vzorců vám může prospět také funkce definovaná uživatelem, proveďte prosím následující kroky:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte čísla z textových řetězců

Function RemoveNumbers(Txt As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
RemoveNumbers = .Replace(Txt, "")
End With
End Function

3. Poté zavřete a opusťte okno kódu, vraťte se do listu a zadejte tento vzorec: = Odebrat čísla (A2) do prázdné buňky a poté přetáhněte úchyt výplně dolů k buňkám, kde chcete použít tento vzorec, viz snímek obrazovky:


 Odstraňte čísla z textových řetězců pomocí praktické možnosti

Pokud jste unaveni složitými vzorci, dovolte mi ukázat vám snadný nástroj – Kutools pro ExcelJe Odebrat znaky. S touto šikovnou funkcí můžete tento úkol splnit pouze několika kliknutími.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Vyberte rozsah buněk, ze kterých chcete odebrat čísla, a potom klikněte Kutools > Text > Odebrat znaky.

2. V Odebrat znaky V dialogovém okně proveďte následující operace:

  • Kontrola Číselný možnost podle Odebrat znaky sekce.
  • Potom klepněte na tlačítko Ok or Podat žádost tlačítko pro okamžité odstranění čísel. Viz snímek obrazovky:

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


2.3 Odstraňte nečíselné znaky z textových řetězců

Chcete-li odstranit všechny nečíselné znaky a zachovat pouze čísla z textových řetězců, bude tato část hovořit o některých způsobech řešení tohoto úkolu v aplikaci Excel.

 Odeberte nečíselné znaky z textových řetězců pomocí vzorce v Excelu 2016 a starších verzích

Pokud používáte Excel 2016 nebo starší verze, měli byste k provedení této úlohy použít složitý vzorec, zkopírujte nebo zadejte níže uvedený vzorec do prázdné buňky:

=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)

A poté zkopírujte vzorec do dalších buněk níže, kde chcete tento vzorec použít, viz snímek obrazovky:

Poznámka: Pokud čísla v textovém řetězci začínají 0, 0 se ztratí.


 Odstraňte nečíselné znaky z textových řetězců pomocí funkce TEXTJOIN v Excelu 2019, 2021, 365

Výše uvedený vzorec může být pro většinu z nás příliš složitý na pochopení. Pokud máte Excel 2019, 2021 nebo 365, existuje úhledný vzorec, který vám může pomoci.

Zkopírujte nebo zadejte následující vzorec do prázdné buňky a stiskněte Ctrl + Shift + Enter klíče dohromady, abyste získali první správný výsledek:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

Poté přetáhněte rukojeť výplně dolů k buňkám, kde použijete tento vzorec, a získáte výsledek, jak je zobrazen níže:

Poznámka: S tímto vzorcem můžete vidět, že úvodní 0 budou zachovány, protože čísla jsou vrácena jako text.


 Odstraňte nečíselné znaky z textových řetězců pomocí funkce definované uživatelem

Samozřejmě můžete také vytvořit svou vlastní uživatelem definovanou funkci s jednodušší syntaxí, postupujte takto:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte nečíselné znaky z textových řetězců

Function Removenonnumeric(str As String) As String
'Updateby Extendoffice
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "[^0-9]"
        Removenonnumeric = .Replace(str, "")
    End With
End Function

3. Poté zavřete a opusťte okno kódu, vraťte se do listu a zadejte tento vzorec: =Removenonnumeric(A2) do prázdné buňky a poté přetáhněte úchyt výplně dolů k buňkám, kde chcete použít tento vzorec, budou extrahována pouze čísla, jak je uvedeno níže:


 Odstraňte nečíselné znaky z textových řetězců pomocí jednoduché funkce

Chcete-li přímo odstranit nečíselné znaky v rozsahu buněk, Kutools pro ExcelJe Odebrat znaky nástroj to zvládne jen několika kliknutími.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Vyberte oblast buněk, ze kterých chcete odebrat nečíselné znaky, a potom klepněte Kutools > Text > Odebrat znaky.

2. V Odebrat znaky dialogové okno, nastavte prosím následující operace:

  • Kontrola Numerické možnost podle Odebrat znaky sekce.
  • Potom klepněte na tlačítko Ok or Podat žádost tlačítko pro okamžité odstranění všech nečíselných znaků. Viz snímek obrazovky:

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


2.4 Oddělte text a čísla z jedné buňky do dvou sloupců

Někdy možná budete chtít extrahovat text a čísla z textových řetězců do dvou oddělených sloupců. Pomocí následujících metod můžete tento úkol dokončit rychle a snadno.

 Oddělte text a čísla z jedné buňky do dvou sloupců pomocí funkce definované uživatelem

Pomocí následující funkce definované uživatelem můžete extrahovat text a čísla najednou, proveďte prosím následující kroky:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Oddělte text a čísla z textových řetězců do dvou sloupců

Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby Extendoffice
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
    xStr = VBA.Mid(pWorkRng.Value, i, 1)
    If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
        SplitText = SplitText + xStr
    End If
Next
End Function

3. Poté zavřete a opusťte okno kódu, vraťte se do listu a zadejte tento vzorec: = SplitText (A2, FALSE) do prázdné buňky a poté přetáhněte úchyt výplně dolů k buňkám, které chcete vyplnit tímto vzorcem, abyste získali veškerý text, viz snímek obrazovky:

4. A pak pokračujte v psaní tohoto vzorce: = SplitText (A2, TRUE) do jiné buňky a přetáhněte popisovač výplně dolů do buněk, které chcete vyplnit tímto vzorcem, abyste získali čísla, viz screenshot:


 Oddělte text a čísla z jedné buňky do dvou sloupců pomocí snadné funkce

Pokud máte Kutools pro Excel, to je Rozdělit buňky Nástroj vám může pomoci rozdělit buňky do více sloupců nebo řádků na základě jakýchkoli oddělovačů, zadané šířky nebo textu a čísla.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Vyberte rozsah buněk, které chcete rozdělit, a klikněte Kutools > Sloučit a rozdělit > Rozdělit buňky, viz screenshot:

2. V Rozdělit buňky dialogové okno vyberte Rozdělit na sloupce možnost podle Styl a poté zkontrolujte Text a číslo z Rozdělit sekce, viz screenshot:

3. Potom klepněte na tlačítko Ok tlačítko a další Rozdělit buňky Zobrazí se dialogové okno, vyberte buňku, do které chcete vypsat oddělený text a čísla, a poté klepněte na OK knoflík. Nyní můžete vidět, že text a čísla ve vybraných buňkách jsou rozděleny do dvou sloupců najednou, jak je ukázáno níže:

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


2.5 Odstraňte znaky zalomení řádku z textových řetězců

Zalomení řádku je něco, co umožňuje mít v Excelu více řádků ve stejné buňce. Někdy, když kopírujete data z webu nebo oddělujete obsah buňky pomocí Alt + Enter ručně, získáte zalomení řádků nebo návrat vozíku. V určitých případech můžete chtít odstranit zalomení řádků, aby byl obsah buňky jeden řádek, jak je znázorněno na obrázku níže. Zde uvedu několik způsobů řešení tohoto úkolu v Excelu.

 Odstraňte znaky zalomení řádku z textových řetězců pomocí funkce Najít a nahradit

V aplikaci Excel můžete použít Najít a nahradit funkce pro odstranění zalomení řádků, postupujte takto:

1. Vyberte rozsah dat, ze kterého chcete odstranit konce řádků.

2. Potom klepněte na tlačítko Domů > Najít a vybrat > Nahradit (nebo stiskněte Ctrl + H klíče) jít na Najít a nahradit dialogové okno, viz screenshot:

3. Ve vyskočené Najít a nahradit V dialogovém okně proveďte následující operace:

  • Umístěte kurzor do Najít to, co pole a tisk Ctrl + J na klávesnici možná nic nevidíte, ale znak konce řádku byl vložen.
  • v Nahraďte pole, ponechte toto pole prázdné, chcete-li pouze odstranit konce řádků nebo stiskněte tlačítko Prostor bar jednou pro nahrazení zalomení řádků mezerami.

4. Potom klepněte na tlačítko Nahradit vše tlačítko, budou všechny konce řádků ve vybraných buňkách najednou odstraněny nebo nahrazeny mezerami. Viz snímek obrazovky:


 Odstraňte znaky zalomení řádku z textových řetězců pomocí funkce SUBSTITUTE

Můžete také vytvořit vzorec založený na funkcích SUBSTITUTE a CHAR k odstranění zalomení řádků z textových řetězců.

Abyste získali výsledek, použijte níže uvedený vzorec:

=SUBSTITUTE(A2,CHAR(10),"")

Tipy: Funkce SUBSTITUTE vyhledá a nahradí znak CHAR(10), který představuje znak konce řádku, ničím. Pokud chcete, aby byl výsledek oddělen čárkou a mezerou, můžete použít níže uvedený vzorec:

=SUBSTITUTE(A2,CHAR(10),", ")


 Odstraňte znaky zalomení řádku z textových řetězců pomocí kódu VBA

Pokud vám vyhovuje používání kódu VBA, zde je také kód pro vás, proveďte prosím následující kroky:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte zalomení řádků z textových řetězců

Sub RemoveCarriage()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    Rng.Value = Replace(Rng.Value, Chr(10), "")
Next
End Sub

3. Poté stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou, vyberte rozsah, ve kterém chcete odstranit konce řádků, viz snímek obrazovky:

4. A pak klikněte OK tlačítko, budou odstraněny všechny konce řádků z vybraného rozsahu dat.


 Odstraňte znaky zalomení řádku z textových řetězců pomocí chytré volby

Zde, Kutools pro ExcelJe Odebrat znaky funkce vám také může pomoci snadno odstranit zalomení řádků.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Vyberte oblast buněk, kde chcete odstranit zalomení řádků, a klikněte Kutools > Text > Odebrat znaky.

2. V Odebrat znaky dialogové okno, nastavte prosím následující operace:

  • Kontrola Netiskněte možnost podle Odebrat znaky sekce.
  • Potom klepněte na tlačítko Ok or Podat žádost tlačítko pro odstranění všech zalomení řádků z vybraného rozsahu dat. Viz snímek obrazovky:

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


2.6 Odstraňte z textových řetězců mezery (počáteční, koncové, nadbytečné nebo všechny mezery).

Kopírování a vkládání textu z externího zdroje do listu aplikace Excel často přináší nepříjemné zbylé mezery, ruční odstranění úvodních, koncových nebo jiných mezer navíc bude zdlouhavé. Naštěstí Excel poskytuje několik jednoduchých triků, jak se s tímto úkolem vypořádat.

 Odstraňte přebytečné mezery (začátek, konec, přebytek) z textových řetězců pomocí funkce TRIM

Chcete-li v Excelu odstranit úvodní, koncové a nadbytečné mezery z textových řetězců, může vám pomoci jednoduchá funkce TRIM. Tato funkce odstraní všechny mezery kromě jednotlivých mezer mezi slovy.

Zadejte následující vzorec do prázdné buňky:

=TRIM(A2)

A pak přetáhněte úchyt výplně dolů, abyste zkopírovali vzorec pro další buňky, nyní můžete vidět, že všechny úvodní, koncové mezery a další mezery mezi slovy jsou ze snímku obrazovky odstraněny najednou:


 Odstraňte všechny mezery z textových řetězců

Pokud chcete z textových řetězců odstranit všechny mezery, může vám pomoci následující funkce SUBSTITUTE a funkce Najít a nahradit.

Pomocí funkce SUBSTITUTE

Pomocí funkce SUBSTITUTE můžete nahradit všechny mezery ničím, použijte prosím níže uvedený vzorec do prázdné buňky:

=SUBSTITUTE(A2," ","")

Poté přetáhněte úchyt výplně dolů a zkopírujte tento vzorec do dalších buněk, které potřebujete, a všechny mezery budou odstraněny, jak je znázorněno na obrázku níže:


Pomocí funkce Najít a nahradit

Ve skutečnosti, Najít a nahradit funkce v Excelu také může pomoci zbavit se všech mezer z vybraných buněk, proveďte prosím následující kroky:

1. Vyberte rozsah dat, ze kterého chcete odstranit všechny mezery.

2. Potom klepněte na tlačítko Domů > Najít a vybrat > Nahradit (nebo stiskněte Ctrl + H klíče) pro přechod na Najít a nahradit v otevřeném dialogovém okně Najít a nahradit V dialogovém okně proveďte následující operace:

  • Stisknout Mezerník v Najít to, co pole;
  • v Nahraďte pole, nechte toto pole prázdné.

3. A pak klikněte Nahradit vše tlačítko, všechny mezery ve vybraných buňkách budou najednou odstraněny. Viz snímek obrazovky:


 Odstraňte všechny druhy mezer z textových řetězců pomocí výkonné funkce

Kutools pro Excel má výkonnou funkci – Odebrat mezery, s tímto nástrojem můžete nejen odstranit úvodní mezery, koncové mezery, přebytečné mezery, ale také všechny mezery z vybraných rozsahů v jednom dialogovém okně, což zvýší vaši produktivitu práce.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1. Vyberte rozsah dat, ze kterého chcete mezery odebrat, a poté klepněte Kutools > Text > Odebrat mezery. Viz snímek obrazovky:

2. V Odebrat mezery V dialogovém okně vyberte jeden typ prostoru, který chcete odebrat z Typ prostorů:

  • Odstraňte úvodní mezery, vyberte prosím Přední mezery volba;
  • Odstraňte koncové mezery, vyberte prosím Koncové mezery volba;
  • Odstraňte úvodní a koncové mezery najednou, vyberte prosím Přední a koncové mezery volba;
  • Odstraňte všechny přebytečné mezery, vyberte prosím Všechny mezery volba;
  • Odstraňte všechny mezery, vyberte prosím Všechny prostory volba.

3. Potom klepněte na tlačítko Ok or Podat žádost tlačítko, získáte výsledek, který potřebujete.

Stáhněte si zdarma zkušební verzi Kutools pro Excel!


Odstraňte znaky / text před nebo za určitým znakem

V této části představím některé operace pro odstranění textu nebo znaků před nebo za prvním, posledním nebo n-tým výskytem určitého znaku.

3.1 Odstraňte text před nebo za prvním specifickým znakem

Pokud chcete odstranit text před nebo za prvním specifickým znakem, jako je mezera, čárka, ze seznamu textových řetězců, jak je zobrazeno na obrázku níže, zde pro vás zveřejním dvě metody.

 Odeberte text před prvním specifickým znakem pomocí vzorce

Chcete-li odstranit text nebo znaky před prvním konkrétním znakem, můžete vytvořit vzorec založený na funkcích RIGHT, LEN a FIND, obecná syntaxe je:

=RIGHT(cell, LEN(cell)-FIND("char", cell))
  • buňka: Odkaz na buňku nebo textový řetězec, ze kterého chcete odstranit text;
  • spálit: Specifický oddělovač, podle kterého chcete odstranit text.

Chcete-li například odstranit vše před první čárkou z řetězců seznamu, měli byste použít následující vzorec do prázdné buňky a poté jej přetáhnout dolů do buněk, které potřebujete, viz snímek obrazovky:

=RIGHT(A2,LEN(A2)-FIND(",",A2))

Poznámka:Ve výše uvedeném vzorci: A2 je buňka, ze které chcete odstranit text; , je konkrétní znak, na jehož základě chcete odstranit text, můžete jej podle potřeby změnit na jakékoli jiné znaky.


 Odeberte text za prvním konkrétním znakem pomocí vzorce

Chcete-li odstranit vše po prvním konkrétním znaku, můžete použít funkce LEFT a FIND a získat výsledek, obecná syntaxe je:

=LEFT(cell,FIND("char",cell)-1)
  • buňka: Odkaz na buňku nebo textový řetězec, ze kterého chcete odstranit text;
  • spálit: Specifický oddělovač, podle kterého chcete odstranit text.

Nyní zadejte níže uvedený vzorec do prázdné buňky a poté přetáhněte úchyt výplně dolů do jiných buněk, kde chcete tento vzorec použít, a všechny znaky za první čárkou budou najednou odstraněny, viz snímek obrazovky:

=LEFT(A2,FIND(",",A2)-1)


3.2 Odstraňte text před nebo za N-tým výskytem znaku

Někdy textové řetězce obsahují více instancí určitého oddělovače, možná budete chtít odstranit všechny znaky před nebo za konkrétní instancí, například druhý, třetí nebo čtvrtý, jak potřebujete. Chcete-li se vypořádat s tímto typem odstranění, můžete použít následující triky:

 Odebrat text před N-tým výskytem znaku pomocí vzorce

Chcete-li odstranit text před N-tým výskytem konkrétního znaku, může vám pomoci následující vzorec, obecná syntaxe je:

=RIGHT(cell,LEN(cell)-FIND("#",SUBSTITUTE(cell,"char","#",N)))
  • buňka: Odkaz na buňku nebo textový řetězec, ze kterého chcete odstranit text;
  • spálit: Konkrétní oddělovač, na základě kterého chcete odstranit text;
  • N: Výskyt znaku, před kterým se má odstranit text.

Chcete-li například z textových řetězců odstranit vše před druhou čárkou, měli byste použít níže uvedený vzorec:

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,",","#",2)))

Poznámka:Ve výše uvedeném vzorci: A2 je buňka, ze které chcete odstranit text; , je konkrétní znak, na základě kterého chcete odstranit text, můžete jej změnit na jakékoli jiné znaky, jak potřebujete; 2 označuje n-tou čárku, před kterou chcete odstranit text.

A pak přetažením úchytu výplně zkopírujte vzorec do jiných buněk, viz snímek obrazovky:


 Odebrat text po N-tém výskytu znaku pomocí vzorce

Chcete-li odstranit text po N-tém výskytu konkrétního oddělovače, mohou vám pomoci funkce VLEVO, NAHRADIT a NAJÍT. Obecná syntaxe je:

=LEFT(cell, FIND("#", SUBSTITUTE(cell, "char", "#", N)) -1)
  • buňka: Odkaz na buňku nebo textový řetězec, ze kterého chcete odstranit text;
  • spálit: Konkrétní oddělovač, na základě kterého chcete odstranit text;
  • N: Výskyt znaku, po kterém se má text odstranit.

Jakmile pochopíte základní syntaxi, zkopírujte nebo zadejte níže uvedený vzorec do prázdné buňky:

=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)

Poznámka:Ve výše uvedeném vzorci: A2 je buňka, ze které chcete odstranit text; , je konkrétní znak, na základě kterého chcete odstranit text, můžete jej změnit na jakékoli jiné znaky, jak potřebujete; 2 označuje n-tou čárku, za kterou chcete odstranit text.

Poté přetažením úchytu výplně zkopírujte vzorec do jiných buněk a všechny znaky za druhou čárkou budou najednou odstraněny, viz snímek obrazovky:


 Odstraňte text před nebo za N-tým výskytem znaku pomocí funkce definované uživatelem

Jak vidíte, případy odstranění textu před nebo za N-tým výskytem znaku můžete vyřešit pomocí nativních funkcí Excelu v různých kombinacích. Problém je, že si tyto složité vzorce musíte zapamatovat. V tomto případě vytvořím uživatelem definovanou funkci, která pokryje všechny scénáře, postupujte prosím takto:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte text před nebo za N-tým výskytem znaku

Function RemoveTextOccurrence(Str As String, Delimiter As String, Occurrence As Integer, IsAfter As Boolean)
Dim xStr As String
Dim xStrLen, xF, xIntStart As Integer
xStr = Str
xStrLen = Len(xStr)
xIntStart = 1
For xF = 1 To Occurrence
xIntStart = InStr(xIntStart + 1, xStr, Delimiter, vbTextCompare)
If (xIntStart = 0) Or (xIntStart < 0) Then
    If IsAfter Then
    RemoveTextOccurrence = xStr
    Else
    RemoveTextOccurrence = ""
    End If
    Exit Function
End If
Next
If IsAfter Then
    RemoveTextOccurrence = Mid(Str, 1, xIntStart - 1)
Else
    RemoveTextOccurrence = Mid(Str, xIntStart + 1)
End If
End Function

3. Poté zavřete a opusťte okno kódu, vraťte se do listu a použijte následující vzorce:

Odebrat text před druhým výskytem čárky:

=RemoveTextOccurrence(A2, ", ", 2, FALSE)

Odebrat text po druhém výskytu čárky

=RemoveTextOccurrence(A2, ", ", 2, TRUE)


3.3 Odstraňte text před nebo za posledním výskytem znaku

Pokud potřebujete odstranit veškerý text před nebo za posledním specifickým znakem a ponechat pouze podřetězce za posledním konkrétním znakem nebo před ním, jak je znázorněno na obrázku níže, bude tato část hovořit o některých vzorcích pro řešení tohoto problému.

 Odstraňte text před posledním výskytem znaku pomocí vzorce

Chcete-li odstranit všechny znaky před posledním výskytem znaku, obecná syntaxe je:

=RIGHT(cell,LEN(cell)-SEARCH("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char","")))))
  • buňka: Odkaz na buňku nebo textový řetězec, ze kterého chcete odstranit text;
  • spálit: Konkrétní oddělovač, na základě kterého chcete odstranit text;

Nyní, pokud potřebujete odstranit text před posledním výskytem čárky, zkopírujte nebo zadejte níže uvedený vzorec do prázdné buňky:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,",","#",LEN(A2)-LEN(SUBSTITUTE(A2,",","")))))

Poznámka:Ve výše uvedeném vzorci: A2 je buňka, ze které chcete odstranit text; , je konkrétní znak, na jehož základě chcete odstranit text, můžete jej podle potřeby změnit na jakékoli jiné znaky.

Poté přetažením úchytu výplně zkopírujte vzorec do jiných buněk a všechny znaky před poslední čárkou budou odstraněny, jak je znázorněno na obrázku níže:


 Odebrat text po posledním výskytu znaku pomocí vzorců

Pokud jsou hodnoty buněk odděleny proměnným počtem oddělovačů, nyní chcete smazat vše po poslední instanci tohoto oddělovače, obecná syntaxe je:

=LEFT(cell,FIND("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char",""))))-1)
  • buňka: Odkaz na buňku nebo textový řetězec, ze kterého chcete odstranit text;
  • spálit: Konkrétní oddělovač, na základě kterého chcete odstranit text;

Zkopírujte nebo zadejte níže uvedený vzorec do prázdné buňky a poté přetáhněte úchyt výplně dolů, abyste získali další požadované výsledky, viz snímek obrazovky:

=LEFT(A2,FIND("#",SUBSTITUTE(A2,",","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1)

Poznámka:Ve výše uvedeném vzorci: A2 je buňka, ze které chcete odstranit text; , je konkrétní znak, na jehož základě chcete odstranit text, můžete jej podle potřeby změnit na jakékoli jiné znaky.


3.4 Odstraňte text v závorkách

Pokud máte seznam textových řetězců s částí znaků uzavřených v závorkách, možná budete chtít odstranit všechny znaky v závorkách včetně závorek samotných, jak je znázorněno na obrázku níže. Tato část bude hovořit o některých tricích pro řešení tohoto úkolu v aplikaci Excel.

 Odstraňte text mezi závorkami pomocí funkce Najít a nahradit

V Excelu vám vestavěná funkce Najít a nahradit může pomoci najít všechny texty v závorkách a pak je ničím nahradit. Postupujte prosím takto:

1. Vyberte seznam dat, ze kterého chcete odstranit texty v závorkách.

2. Potom klepněte na tlačítko Domů > Najít a vybrat > Nahradit (nebo stiskněte Ctrl + H kláves) a přejděte do dialogového okna Najít a nahradit v Najít a nahradit dialogové okno, proveďte následující operace:

  • v Najít to, co pole, typ (*) do textového pole;
  • v Nahraďte pole, nechte toto pole prázdné.

3. Potom klepněte na tlačítko Nahradit vše tlačítko, všechny znaky v závorkách (včetně závorek) ve vybraných buňkách budou najednou smazány. Viz snímek obrazovky:

Tipy: Najít a nahradit funkce také funguje pro dva nebo více párů závorek v textových řetězcích.


 Odstraňte text mezi závorkami pomocí vzorce

Kromě funkce Najít a nahradit můžete pro řešení tohoto úkolu v Excelu použít také vzorec, obecná syntaxe je:

=SUBSTITUTE(text,MID(LEFT(text,FIND(")",text)),FIND("(",text),LEN(text)),"")
  • (souhrnně „Stránka (Stránky)“), a naše postupy pro shromažďování, využívání, uchovávání, ochranu a zpřístupnění takových informací. Tyto zásady platí pro informace, které shromažďujeme na těchto stránkách nebo v e-mailu, textových a jiných elektronických zprávách mezi vámi a těmito stránkami. Rovněž popisují vaše možnosti týkající se využívání vašich osobních údajů, přístupu k nim a jejich opravě.: Textový řetězec nebo odkaz na buňku, ze kterého chcete odstranit znaky.

Nyní prosím zkopírujte nebo zadejte následující vzorec do prázdné buňky, kde chcete získat výsledek:

=SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),"")

Poté přetáhněte úchyt výplně dolů k buňkám, kde chcete tento vzorec použít, a všechny texty v závorkách včetně závorek budou najednou odstraněny, viz snímek obrazovky:

Tipy: Pokud v hodnotě buňky nejsou žádné závorky, po použití výše uvedeného vzorce se zobrazí chyba. Chcete-li chybu ignorovat, použijte prosím níže uvedený vzorec:

=IFERROR(SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),""),A2)


 Odstraňte text mezi závorkami pomocí funkce definované uživatelem

Výše uvedený vzorec funguje dobře pro odstranění textu z jednoho páru závorek, pokud potřebujete odstranit texty z více párů závorek v textových řetězcích, vzorec nebude fungovat správně. Zde vytvořím jednoduchou uživatelsky definovanou funkci pro vyřešení tohoto úkolu.

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte text v závorkách

Function remtxt(ByVal str As String) As String
'Updateby Extendoffice
  While InStr(str, "(") > 0 And InStr(str, ")") > InStr(str, "(")
    str = Left(str, InStr(str, "(") - 1) & Mid(str, InStr(str, ")") + 1)
  Wend
  remtxt = Trim(str)
End Function

3. Poté se vraťte do listu a zadejte tento vzorec do prázdné buňky: = remtxt (A2)a poté přetáhněte úchyt výplně dolů k buňkám, kde chcete použít tento vzorec, všechny texty ve všech závorkách včetně závorek budou odstraněny, jak je znázorněno na obrázku níže:


Odstraňte slova z textových řetězců

V určitých případech můžete chtít odstranit některá slova ze seznamu buněk, například první nebo poslední slovo, duplicitní slova z buňky. Pro řešení těchto druhů odstraňování vám tato část představí některé metody.

4.1 Odstraňte první nebo poslední slovo z textového řetězce

Chcete-li odstranit první nebo poslední slovo ze seznamu textových řetězců, mohou vám pomoci následující vzorce.

 Odstraňte první slovo z textového řetězce pomocí vzorce

Odstraňte první slova ze seznamu textových řetězců, můžete vytvořit jednoduchý vzorec založený na funkcích RIGHT, LEN a FIND, obecná syntaxe je:

=RIGHT(text,LEN(text)-FIND(" ",text))
  • (souhrnně „Stránka (Stránky)“), a naše postupy pro shromažďování, využívání, uchovávání, ochranu a zpřístupnění takových informací. Tyto zásady platí pro informace, které shromažďujeme na těchto stránkách nebo v e-mailu, textových a jiných elektronických zprávách mezi vámi a těmito stránkami. Rovněž popisují vaše možnosti týkající se využívání vašich osobních údajů, přístupu k nim a jejich opravě.: Textový řetězec nebo odkaz na buňku, ze kterého chcete odstranit první slovo.

Nyní zadejte nebo zkopírujte následující vzorec do prázdné buňky:

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

A poté přetažením úchytu výplně dolů použijte vzorec na další buňky, viz snímek obrazovky:

Tipy: Pokud potřebujete z buněk odstranit prvních N slov, použijte prosím níže uvedený vzorec:

=MID(TRIM(text),1+FIND("~",SUBSTITUTE(TRIM(text)," ","~",N)),255)
  • (souhrnně „Stránka (Stránky)“), a naše postupy pro shromažďování, využívání, uchovávání, ochranu a zpřístupnění takových informací. Tyto zásady platí pro informace, které shromažďujeme na těchto stránkách nebo v e-mailu, textových a jiných elektronických zprávách mezi vámi a těmito stránkami. Rovněž popisují vaše možnosti týkající se využívání vašich osobních údajů, přístupu k nim a jejich opravě.: Textový řetězec nebo odkaz na buňku, ze kterého chcete odstranit prvních n slov;
  • N: Označuje, kolik slov chcete odstranit ze začátku textového řetězce.

Chcete-li například odstranit první dvě slova z buněk, zkopírujte nebo zadejte níže uvedený vzorec do prázdné buňky, abyste získali požadovaný výsledek, viz snímek obrazovky:

=MID(TRIM(A2),1+FIND("~",SUBSTITUTE(TRIM(A2)," ","~",2)),255)


  Odstraňte poslední slovo z textového řetězce pomocí vzorce

Chcete-li odstranit poslední slovo z textových řetězců, můžete k vyřešení tohoto úkolu použít také vzorec, obecná syntaxe je:

=LEFT(TRIM(text),FIND("~",SUBSTITUTE(text," ","~",LEN(TRIM(text))-LEN(SUBSTITUTE(TRIM(text)," ",""))))-1)
  • (souhrnně „Stránka (Stránky)“), a naše postupy pro shromažďování, využívání, uchovávání, ochranu a zpřístupnění takových informací. Tyto zásady platí pro informace, které shromažďujeme na těchto stránkách nebo v e-mailu, textových a jiných elektronických zprávách mezi vámi a těmito stránkami. Rovněž popisují vaše možnosti týkající se využívání vašich osobních údajů, přístupu k nim a jejich opravě.: Textový řetězec nebo odkaz na buňku, ze kterého chcete odstranit poslední slovo;

Použijte níže uvedený vzorec do prázdné buňky a poté přetáhněte táhlo výplně dolů, abyste vzorec použili na další buňky, viz snímek obrazovky:

=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1)

Tipy: Chcete-li odstranit posledních N slov ze seznamu buněk, obecná syntaxe je:

=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",LEN(text)-LEN(SUBSTITUTE(text," ",""))-(N-1))))
  • (souhrnně „Stránka (Stránky)“), a naše postupy pro shromažďování, využívání, uchovávání, ochranu a zpřístupnění takových informací. Tyto zásady platí pro informace, které shromažďujeme na těchto stránkách nebo v e-mailu, textových a jiných elektronických zprávách mezi vámi a těmito stránkami. Rovněž popisují vaše možnosti týkající se využívání vašich osobních údajů, přístupu k nim a jejich opravě.: Textový řetězec nebo odkaz na buňku, ze kterého chcete odstranit posledních n slov;
  • N: Označuje počet slov, která chcete odstranit z konce textového řetězce.

Předpokládejme, že chcete-li odstranit poslední 3 slova ze seznamu buněk, použijte k vrácení výsledku níže uvedený vzorec, viz snímek obrazovky:

=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-(3-1))))


4.2 Odstraňte duplicitní znaky nebo slova v buňce

Při odstraňování duplicitních hodnot nebo řádků nabízí Excel různé možnosti, ale pokud jde o odstranění některých duplicitních znaků nebo slov v dané buňce, nemusí existovat žádná dobrá vestavěná funkce, která by to řešila. V tomto případě vám tato část pomůže vytvořit některé uživatelsky definované funkce, které si s touto hádankou poradí.

 Odstraňte duplicitní znaky v buňce pomocí funkce definované uživatelem

Máte-li v buňce více výskytů stejného znaku a chcete-li odstranit duplicitní znaky v buňce a zachovat pouze první výskyty, jak je znázorněno na obrázku níže, můžete použít následující uživatelem definovanou funkci.

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte duplicitní znaky v buňce

Function RemoveDupeschars(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
RemoveDupeschars = xOutValue
End Function

3. Poté zavřete okno s kódem, vraťte se do listu a zadejte tento vzorec =RemoveDupeschars(A2) do prázdné buňky vedle vašich dat a poté přetáhněte úchyt výplně k buňkám, na které chcete použít tento vzorec, viz snímek obrazovky:

PoznámkaA2 je datová buňka, ze které chcete odstranit duplicitní znaky.

Tip: Funkce rozlišuje velká a malá písmena, takže s malými a velkými písmeny zachází jako s různými znaky.


 Odstraňte duplicitní slova v buňce pomocí funkce definované uživatelem

Předpokládejme, že máte v buňce stejná slova nebo textové řetězce a chtěli byste z buňky odstranit všechna stejná slova, jak je uvedeno níže. K vyřešení tohoto úkolu v Excelu můžete použít následující uživatelem definovanou funkci.

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Odstraňte duplicitní slova v buňce

Function RemoveDupeswords(txt As String, Optional delim As String = " ") As String
'Updateby Extendoffice
    Dim x
    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 RemoveDupeswords = Join(.keys, delim)
    End With
End Function

3. Poté zavřete okno kódu, vraťte se do listu a zadejte tento vzorec =RemoveDupeswords(A2,", ") do prázdné buňky vedle vašich dat a poté přetáhněte úchyt výplně k buňkám, na které chcete použít tento vzorec, viz snímek obrazovky:

Poznámka: A2 je buňka, ze které chcete odstranit duplicitní slova, a čárka a mezera (, ) jsou oddělovače pro oddělení textových řetězců, můžete je změnit na jakékoli jiné oddělovače podle svých potřeb.

Tip: Tato funkce nerozlišuje velká a malá písmena, malá a velká písmena jsou považována za stejné znaky.


4.3 Ořízněte textový řetězec na N slov

Pokud máte v buňce dlouhý textový řetězec, můžete někdy chtít oříznout textový řetězec na určitý počet slov, což znamená ponechat pouze prvních n slov a zbývající slova vyjmout. Tato část bude hovořit o některých tricích, které vám pomohou dosáhnout této úlohy v aplikaci Excel.

 Ořízněte textový řetězec na N slov pomocí vzorce

Chcete-li oříznout textový řetězec na N slov, můžete vytvořit vzorec založený na funkcích LEFT, FIND a SUBSTITUTE, obecná syntaxe je:

=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",N))-1)
  • (souhrnně „Stránka (Stránky)“), a naše postupy pro shromažďování, využívání, uchovávání, ochranu a zpřístupnění takových informací. Tyto zásady platí pro informace, které shromažďujeme na těchto stránkách nebo v e-mailu, textových a jiných elektronických zprávách mezi vámi a těmito stránkami. Rovněž popisují vaše možnosti týkající se využívání vašich osobních údajů, přístupu k nim a jejich opravě.: Textový řetězec nebo odkaz na buňku, který chcete oříznout;
  • N: Počet slov, která chcete zachovat z levé strany daného textového řetězce.

Chcete-li se s touto úlohou vypořádat, zkopírujte nebo zadejte níže uvedený vzorec do prázdné buňky:

=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",B2))-1)

A poté přetažením úchytu výplně dolů použijte tento vzorec na další buňky, viz snímek obrazovky:


 Ořízněte textový řetězec na N slov pomocí funkce definované uživatelem

Kromě výše uvedeného vzorce můžete také vytvořit uživatelem definovanou funkci pro řešení tohoto úkolu, postupujte prosím takto:

1. Podržte Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do okna modulu.

Kód VBA: Ořízněte textový řetězec na N slov

Function GetNWords(StrWords As String, Num_of_Words As Integer) As String
'Updateby Extendoffice
Dim xArr
Dim xRes As String
Dim xF As Integer
xStr = StrWords
If (Num_of_Words < 1) Then
    GetNWords = ""
    Exit Function
End If
xArr = Split(xStr, " ")
xRes = ""
On Error Resume Next
For xF = 0 To UBound(xArr)
    If Trim(xArr(xF)) <> "" Then
    Num_of_Words = Num_of_Words - 1
        If xRes = "" Then
            xRes = Trim(xArr(xF))
        Else
            xRes = xRes & " " & Trim(xArr(xF))
        End If
    End If
    If Num_of_Words = 0 Then Exit For
Next
If Num_of_Words = 0 Then
    GetNWords = xRes & "..."
Else
    GetNWords = xRes & "..."
End If
End Function

3. Poté zavřete a ukončete okno s kódem, vraťte se do listu a zadejte tento vzorec: =GetNWords(A2,B2) do prázdné buňky a poté přetažením úchytu výplně dolů aplikujte tento vzorec na další buňky, pouze první konkrétní počet slov bude zachován, jak je znázorněno na obrázku níže:


  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce a uchovávání údajů; Rozdělit obsah buněk; Zkombinujte duplicitní řádky a součet / průměr... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Oblíbené a rychlé vkládání vzorců„Rozsahy, grafy a obrázky; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Seskupování kontingenčních tabulek podle číslo týdne, den v týdnu a další ... Zobrazit odemčené, zamčené buňky různými barvami; Zvýrazněte buňky, které mají vzorec / název...
karta kte 201905
  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
officetab dno
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations