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

Extrahujte slovo začínající konkrétním znakem v aplikaci Excel

Možná budete například muset extrahovat slovo, které začíná konkrétním znakem „=“ pro každou buňku, jak je ukázáno níže, jak byste mohli tento úkol rychle a snadno vyřešit v aplikaci Excel?


Extrahujte slovo začínající konkrétním znakem v aplikaci Excel

Chcete-li z každé buňky extrahovat slova, která začínají konkrétním znakem nebo textem, můžete vytvořit vzorec s kombinací funkcí TRIM, LEFT, SUBSTITUTE, MID, FIND, LEN a REPT, obecná syntaxe je:

=TRIM(LEFT(SUBSTITUTE(MID(text, FIND(char, text), LEN(text))," ",REPT(" ",LEN(text))),LEN(text)))
  • text: Textový řetězec nebo hodnota buňky, ze které chcete extrahovat slovo.
  • char: Začíná znak nebo text, který chcete extrahovat.

1. Zkopírujte nebo zadejte následující vzorec do prázdné buňky:

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

2. Poté přetáhněte úchyt výplně dolů a aplikujte vzorec na buňky, které chcete použít, a všechna slova začínající konkrétním znakem „=“ byla extrahována najednou, viz screenshot:


Vysvětlení vzorce:

1. MID (A2, FIND ("=", A2), LEN (A2):

  • DÉLKA (A2): Tato funkce LEN vrací počet znaků v buňce A2. Tato část je ve funkci MID rozpoznána jako argument num_char.
  • Najít ("=", A2): Tato funkce FIND se používá k získání pozice prvního konkrétního znaku „=“ v buňce A2. Tato část je ve funkci MID rozpoznána jako argument start_num.
  • MID (A2, FIND ("=", A2), LEN (A2): Tato funkce MID se používá k extrakci podřetězce z buňky A2 na pozici, která byla vrácena funkcí FIND, a konkrétní délky vrácené funkcí LEN.

2. NÁHRADA (MID (A2, FIND ("=", A2), LEN (A2)), "", REPT ("", LEN (A2))):

  • REPT ("", LEN (A2): Funkce REPT opakuje prázdný řetězec buňky A2 konkrétní počet vrácení funkcí LEN.
  • NÁHRADNÍ(): Tato funkce SUBSTITUTE nahradí veškerý prázdný řetězec jiným novým textem - více mezer vrácených funkcí REPT z textového řetězce vráceného funkcí MID.
  • MID (A2, FIND ("=", A2), LEN (A2): Tato funkce MID se používá k extrakci podřetězce z buňky A2 na pozici, která byla vrácena funkcí FIND, a konkrétní délky vrácené funkcí LEN.

3. VLEVO (SUBSTITUTE (MID (A2, FIND ("=", A2), LEN (A2)), "", REPT ("", LEN (A2))), LEN (A2)):Tato funkce LEFT slouží k extrakci konkrétního počtu znaků vrácených funkcí LEN z levé strany textového řetězce vráceného funkcí SUBSTITUTE.

4. TRIM ():Funkce TRIM odstraní všechny mezery navíc z textového řetězce vráceného funkcí LEFT.


Poznámky:

1. Ve výše uvedeném vzorci můžete změnit znak „=“ na jakýkoli jiný znak nebo text, který potřebujete.

2. Pokud existuje více slov, která začínají konkrétním znakem, bude extrahováno pouze první slovo.


Použité relativní funkce:

  • REPT:
  • Funkce REPT se používá k opakovanému opakování znaků.
  • SUBSTITUTE:
  • Funkce SUBSTITUTE nahradí text nebo znaky v textovém řetězci jiným textem nebo znaky.
  • TRIM:
  • Funkce TRIM odstraní z textového řetězce všechny mezery navíc a mezi slovy zachová pouze jednotlivé mezery.
  • MID:
  • Funkce MID vrací konkrétní znaky ze středu textového řetězce.
  • LEN:
  • Funkce LEN vrací počet znaků v textovém řetězci.
  • REPT:
  • Funkce REPT se používá k opakovanému opakování znaků.
  • FIND:
  • Funkce FIND se používá k vyhledání řetězce v jiném řetězci a vrací počáteční pozici řetězce uvnitř jiného.

Další články:

  • Extrahujte slovo obsahující konkrétní text v aplikaci Excel
  • Někdy můžete chtít extrahovat slovo z buňky, která obsahuje konkrétní znak nebo text, například následující snímek obrazovky, a extrahovat všechna slova obsahující znak „=“. Jak byste mohli vyřešit tento úkol v aplikaci Excel?
  • Extrahujte text mezi závorkami z textového řetězce
  • Pokud je v textovém řetězci část textu obklopená závorkami, musíte nyní extrahovat všechny textové řetězce mezi závorkami, jak ukazuje následující snímek obrazovky. Jak byste mohli rychle a snadno vyřešit tento úkol v aplikaci Excel?
  • Extrahujte více řádků z buňky
  • Pokud máte seznam textových řetězců, které jsou odděleny zalomením řádků (k tomu dochází při stisknutí kláves Alt + Enter při zadávání textu), a nyní chcete tyto řádky textu extrahovat do více buněk, jak je ukázáno níže. Jak byste to mohli vyřešit pomocí vzorce v aplikaci Excel?

Nejlepší kancelářské nástroje produktivity

Kutools pro Excel - pomůže vám vyniknout před davem

Rádi byste svou každodenní práci dokončili rychle a dokonale? Kutools pro Excel přináší 300 výkonných pokročilých funkcí (kombinace sešitů, součet podle barvy, rozdělení obsahu buněk, převod data a tak dále...) a ušetří vám 80 % času.

  • Navrženo pro 1500 pracovních scénářů, pomůže vám vyřešit 80 % problémů s Excelem.
  • Omezte každý den tisíce kliknutí na klávesnici a myš a ulehčete svým unaveným očím a rukám.
  • Staňte se odborníkem na Excel za 3 minuty. Už si nemusíte pamatovat žádné bolestivé vzorce a kódy VBA.
  • 30denní neomezená bezplatná zkušební verze. 60denní záruka vrácení peněz. Bezplatný upgrade a podpora po dobu 2 let.
Pás karet aplikace Excel (s nainstalovaným programem Kutools pro Excel)

Záložka Office - Povolte čtení a úpravy na záložkách v Microsoft Office (včetně Excelu)

  • Jednu sekundu přepnete mezi desítkami otevřených dokumentů!
  • Snižte stovky kliknutí myší každý den, sbohem s myší rukou.
  • Zvyšuje vaši produktivitu o 50% při prohlížení a úpravách více dokumentů.
  • Přináší efektivní karty do Office (včetně Excelu), stejně jako Chrome, Firefox a Nový Internet Explorer.
Snímek obrazovky aplikace Excel (s nainstalovanou kartou Office)
Komentáře (2)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Tento vzorec funguje pouze pro jednu shodu. Co když existuje více shod?
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Mdhdy,
Pokud potřebujete extrahovat všechny shody z buňky, může vám pomoci následující uživatelsky definovaná funkce:
Poznámka: V kódu změňte „=“ postava z tohoto scénáře .Pattern = "=\S+" na jakoukoli jinou postavu, kterou potřebujete.
Function ExtractEx(Target As Range) As String
    ExtractEx = ""
    If Target.Count > 1 Then Exit Function
    On Error Resume Next
    
    Dim xRetList As Object
    Dim xRegEx As Object
    Dim I As Long
    Dim xRet As String
    Application.Volatile
    Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
    With xRegEx
        .Pattern = "=\S+"
        .Global = True
        .MultiLine = True
        .IgnoreCase = True
    End With
    Set xRetList = xRegEx.Execute(Target.Formula)

    If xRetList.Count > 0 Then
        For I = 0 To xRetList.Count - 1
            xRet = xRet & xRetList.Item(I) & " "
        Next
        ExtractEx = xRet
    Else
        ExtractEx = ""
    End If

End Function

Po vložení kódu použijte tento vzorec:=ExtractEx(A2), viz níže uvedený snímek obrazovky:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-extract-text-1.png
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL