Jak extrahovat číslo pouze z textového řetězce v aplikaci Excel?
Při práci s Excelem můžete narazit na situace, kdy potřebujete extrahovat čísla z textových řetězců. Ať už jsou čísla na začátku, konci nebo v textu, Excel nabízí různé metody, jak toho dosáhnout. Tato příručka prozkoumá různé metody, jak zvládnout různé scénáře, včetně extrahování desetinných čísel, čísel z konkrétních pozic nebo čísel ze začátku nebo konce řetězce.
Extrahujte číslo z libovolné pozice z textového řetězce
Extrahujte desetinné číslo pouze z textového řetězce
Extrahujte číslo z konce textového řetězce
Extrahujte číslo ze začátku textového řetězce
Extrahujte číslo z libovolné pozice z textového řetězce
Abychom vám pomohli extrahovat čísla z libovolné pozice v textovém řetězci, představíme několik praktických a účinných metod.
♦ Extrahujte číslo z libovolné pozice z textového řetězce pomocí vzorců
Následující vzorce vám mohou pomoci extrahovat čísla z textových řetězců, postupujte prosím takto:
Vyberte prázdnou buňku, do které chcete vyjmout extrahované číslo, zadejte libovolný z níže uvedených vzorců a přetáhněte vzorec do jiných buněk. Viz snímek obrazovky:
● Všechny verze aplikace Excel:
=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),"")
● Excel 365 nebo Excel 2021 a novější verze:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
♦ Extrahujte číslo z libovolné pozice z textového řetězce pomocí vzorců
Kutools pro Excel nabízí rychlý a uživatelsky přívětivý způsob, jak extrahovat čísla z textových řetězců, aniž byste si pamatovali jakýkoli vzorec, což vám pomůže ušetřit čas a zefektivnit váš pracovní postup. Zde je návod, jak na to.
- klikněte Kutools > Text > Extrahujte text, viz screenshot:
- v Extrahujte text dialogové okno, proveďte následující operace:
(1.) Vyberte seznam dat, ze kterého chcete extrahovat čísla;
(2.) Vyberte Vyjměte číslo volba;
(3.) Zkontrolovat Vložit jako vzorec možnost, jak potřebujete;
(4.) Nakonec klikněte OK .
- V následujícím okně s výzvou vyberte buňku pro výstup extrahovaného výsledku, viz snímek obrazovky:
- klikněte OK, všechna čísla z každé buňky jsou extrahována najednou. Viz snímek obrazovky:
♦ Extrahujte číslo z libovolné pozice z textového řetězce pomocí kódu VBA
Zde je kód VBA, který vám také může udělat laskavost, postupujte takto:
- Podržte stisknuté tlačítko Alt + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.
- klikněte Vložit > Modula vložte následující kód do Modul Okno.
Kód VBA: Extrahujte číslo pouze z textového řetězce:Sub ExtrNumbersFromRange() Dim xRg As Range Dim xDRg As Range Dim xRRg As Range Dim nCellLength As Integer Dim xNumber As Integer Dim strNumber As String Dim xTitleId As String Dim xI As Integer xTitleId = "KutoolsforExcel" Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8) If TypeName(xDRg) = "Nothing" Then Exit Sub Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8) If TypeName(xRRg) = "Nothing" Then Exit Sub xI = 0 strNumber = "" For Each xRg In xDRg xI = xI + 1 nCellLength = Len(xRg) For xNumber = 1 To nCellLength If IsNumeric(Mid(xRg, xNumber, 1)) Then strNumber = strNumber & Mid(xRg, xNumber, 1) End If Next xNumber xRRg.Item(xI) = strNumber strNumber = "" Next xRg End Sub
- A pak stiskněte F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou k připomenutí výběru rozsahu textu, který chcete použít, viz screenshot:
- Potom klepněte na tlačítko OK, následuje další okno s výzvou, vyberte buňku pro výstup výsledku, viz screenshot:
- Konečně klikněte na tlačítko OK tlačítko a všechna čísla ve vybraných buňkách byla extrahována najednou.
Extrahujte desetinné číslo pouze z textového řetězce
Pokud textové řetězce obsahující některá desetinná čísla v listu, jak můžete z textových řetězců extrahovat pouze desetinná čísla?
Níže uvedený vzorec vám pomůže rychle a snadno extrahovat desetinná čísla z textových řetězců.
Zkopírujte a vložte libovolný z následujících vzorců do prázdné buňky a poté vyplňte úchyt dolů k buňkám, ve kterých chcete tento vzorec obsahovat, všechna desetinná čísla se extrahují z textových řetězců
● Všechny verze aplikace Excel:
=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999"))))
● Excel 365:
=REGEXEXTRACT(A2,"[\d.]+")
Extrahujte číslo z konce textového řetězce
Při práci s textovými řetězci v Excelu možná budete muset extrahovat čísla umístěná na konci řetězce. Chcete-li izolovat čísla na konci řetězce, může vám pomoci následující vzorec.
Zkopírujte a vložte níže uvedený vzorec do prázdné buňky, stiskněte Ctrl + Shift + Enter získat první výsledek:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
Potom přetáhněte úchyt výplně dolů a vyplňte tento vzorec do dalších buněk. Tento vzorec extrahuje čísla výhradně z konce textového řetězce, ignoruje všechna čísla, která se objeví na začátku nebo uprostřed. Viz snímek obrazovky:
Extrahujte číslo ze začátku textového řetězce
Chcete-li extrahovat čísla ze začátku textového řetězce, použijte prosím následující vzorec.
Zkopírujte a vložte níže uvedený vzorec do prázdné buňky, stiskněte Ctrl + Shift + Enter získat první výsledek:
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)
Poté přetáhněte úchyt výplně dolů a vyplňte tento vzorec do dalších buněk, extrahuje se pouze počáteční číslo. Viz snímek obrazovky:
Extrahování čísel z textových řetězců je běžný úkol v Excelu a existuje několik účinných metod, jak toho dosáhnout, v závislosti na vašich potřebách a složitosti vašich dat. Pokud máte zájem prozkoumat další tipy a triky pro Excel, náš web nabízí tisíce výukových programů.
Relativní články:
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- 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!