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

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

Někdy možná budete muset odstranit všechny nečíselné znaky z textových řetězců a ponechat pouze čísla uvedená níže. Tento článek představí některé vzorce pro řešení tohoto úkolu v aplikaci Excel.


Odstraňte nebo odeberte všechny nečíselné znaky z textových řetězců pomocí vzorců

V aplikaci Excel 2019 a Office 365 vám nová funkce TEXTJOIN kombinující s funkcemi IFERROR, MID, ROW a INDIRECT pomůže extrahovat pouze čísla z textového řetězce, obecná syntaxe je:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text: textový řetězec nebo hodnota buňky, ze které chcete odebrat všechny nečíselné znaky.

1. Zkopírujte nebo zadejte následující vzorec do prázdné buňky, do které chcete odeslat výsledek:

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

2. A pak stiskněte Ctrl + Shift + Enter společně získáte první výsledek, viz screenshot:

3. Poté vyberte buňku vzorce a potom přetáhněte popisovač výplně dolů do buněk, na které chcete použít tento vzorec, byla extrahována pouze čísla a byly odstraněny všechny ostatní nečíselné znaky, viz screenshot:


Vysvětlení vzorce:

ŘÁDEK (NEPŘÍMÝ ("1: 100"): Číslo 1: 100 ve vzorci NEPŘÍMÉ znamená, že funkce MID vyhodnotí 100 znaků textového řetězce. Toto pole bude obsahovat 100 čísel, jako je tato: {1; 2; 3; 4; 5; 6; 7; 8 ... 98; 99; 100}.
Poznámka: Pokud je váš textový řetězec mnohem delší, můžete podle potřeby změnit číslo 100 na větší číslo.

MID (A2, ROW (INDIRECT ("1: 100")), 1: Tato funkce MID se používá k extrakci textu v buňce A2 za účelem získání jednoho znaku a vytvoří pole jako toto:
{"5"; "0"; "0"; ""; "K"; "u"; "t"; "o"; "o"; "l"; "s"; ""; "f" ; "o"; "r"; ""; "E"; "x"; "c"; "e"; "l"; ""; ""; ""; ""; ""; "". ..}

MID(A2,ROW(INDIRECT("1:100")),1)+0: Přidání hodnoty 0 poté, co se toto pole použije k vynucení textu na číslo, bude číselná textová hodnota převedena na číslo a nečíselné hodnoty budou zobrazeny jako chybová hodnota #HODNOTA, jako je tato:
{"5"; "0"; "0"; # HODNOTA!; # HODNOTA!; # HODNOTA!; # HODNOTA!; # HODNOTA!; # HODNOTA! !;#HODNOTA! !;#HODNOTA!...}

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0: Tato funkce IFERROR slouží k nahrazení všech chybových hodnot prázdným řetězcem, jako je tento:
{"5"; "0"; "0"; ""; ""; ""; ""; ""; ""; ""; ""; …}

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")): Nakonec bude tato funkce TEXTJION kombinovat všechny neprázdné hodnoty v poli, které vrátí funkce IFFERROR, a vrátí výsledek.


Poznámky:

1. S výše uvedeným vzorcem budou čísla vrácena jako textový formát, pokud potřebujete skutečnou číselnou hodnotu, použijte tento vzorec, nezapomeňte stisknout Ctrl + Shift + Enter dohromady, abyste dosáhli správného výsledku.

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

2. V dřívějších verzích aplikace Excel tento vzorec nebude fungovat, v tomto případě vám může pomoci následující vzorec, zkopírujte nebo zadejte tento 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)


Oddělte nebo odeberte všechny nečíselné znaky z textových řetězců pomocí snadné funkce

Možná je příliš dlouhé si pamatovat výše uvedené vzorce, zde představím Kutools pro Excel pro vás, s jeho Odebrat znaky Tato funkce umožňuje odstranit číselné, abecední, netisknutelné nebo alfanumerické znaky z textových řetězců pouhými několika kliknutími. Klikněte a stáhněte si zdarma Kutools pro Excel!


Použité relativní funkce:

  • TEXTJOIN:
  • Funkce TEXTJOIN spojuje více hodnot z řádku, sloupce nebo oblasti buněk se specifickým oddělovačem.
  • MID:
  • Funkce MID se používá k vyhledání a vrácení konkrétního počtu znaků ze středu zadaného textového řetězce.
  • ROW:
  • Funkce Excel ROW vrací číslo řádku odkazu.
  • INDIRECT:
  • Funkce Excel INDIRECT převádí textový řetězec na platný odkaz.
  • IFERROR:
  • Funkce IFERROR se používá k vrácení vlastního výsledku, když vzorec vyhodnotí chybu, a vrátí normální výsledek, pokud nedojde k žádné chybě.

Další články:


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 (4)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Díky za to. Pěkný vzorec. Jak bych to změnil tak, že pokud buňka obsahuje pouze písmena, vzorec vloží do buňky výsledků 0 (spíše než jen prázdnou, jak je v tuto chvíli)? Myslel jsem, že bych to mohl udělat tak, že vzorec zabalím do další prohlášení IF, ale nedostanu se příliš daleko.
Tento komentář byl moderátorem webu minimalizován
Dobrý den, Glenne, Chcete-li zobrazit výsledky jako prázdné místo než nuly, použijte prosím následující vzorec:=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, 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),"")

Zkuste to prosím, doufám, že vám to pomůže!
Tento komentář byl moderátorem webu minimalizován
Páni, to bude chtít trávení 😋 Díky, že jste si udělal čas na odpověď 👍
Tento komentář byl moderátorem webu minimalizován
Jaký je tento vzorec pro francouzské nastavení?
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