Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » funkce-textove » REGEXEXTRACT-regularnim-vyrazem-extrahujte-text
Microsoft Excel logo

REGEXEXTRACT - regulárním výrazem získate požadované v Excel

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Využití regulárních výrazů ve funkcích v Excel.

Aneb v nových verzích Excel (365) máte k dispozici funkce pro práci s regulárními výrazy. Kromě REGEXEXTRACT, v tomto článku se na tuto funkci podíváme podrobněji, v dalších článcích zmíním také funkce REGEXTEST a REGEXREPLACE.

Úvodem do funkce REGEXEXTRACT (REGEXEXTRACT)

Z důvodu přehlednosti a možného doplňování je článek rozdělen na kapitoly:

Syntaxe funkce REGEXEXTRACT

Funkce která zjistí, zda zadaný text odpovídá určitému regulárnímu výrazu (paternu).

Syntaxe česky

REGEXEXTRACT(text; vzor; [return_mode]; [case_sensitivity])

Syntaxe anglicky

REGEXEXTRACT(text, patern, [return_mode], [case_sensitivity])

Argumenty

  • text - povinný - text, který chcete porovnat
  • patern (vzor) - povinný - regulární výraz, který určí co extrahujete
  • return_mode - nepovinný - jaké řetězce chcete extrahovat
    • 0 (neuvedeno) - první shoda
    • 1 - všechny shody
    • 2 - zachytávání skupin z první shody
  • case_sensitivity - nepovinný - požadavek zda rozlišovat velká a malá písmena
    • 0 (neuvedeno) - Rozlišují se malá a velká písmena (pokud není v paternu zohledněno)
    • 1 - Nerozlišují se malá a velká písmena

Teorie regulární výrazy

Než začne člověk vytvářet regulární výraz bude se hodit základní teoretický úvod.

  • Začátek / Konec
  • Počty opakování
  • Ostatní

Začátek / Konec

  • ^x - řetězec začíná "x" - zápis ^výraz popisuje pouze takové řetězce výraz, které se nachází na začátku v hledaném řetězci
  • x$ - řetězec končí "x" - zápis výraz$ popisuje pouze takové řetězce výraz, které se nachází na konci v hledaném řetězci

Počty opakování

  • x? - počet výskytu "x" je 0 nebo 1 (výrazu hos?tel odpovídá hostel i hotel.)
  • x+ - počet výskytu "x" je 1 nebo více (42+ označuje: 42, 422, atd., ale nikoli samotná 4)
  • x* - žádný nebo libovolný počet výskytu "x" (např. 10*1 označuje řetězce: 11, 101, 1001, 10001)
  • x{n} - počet výskytu "x" je n
  • x{n,m} - počet výskytu "x" je n až m (zápis 10{3,5} popisuje jedničku a skupinu tří až pěti nul – 1000, 10000, 100000)
  • x{n,} - počet výskytu "x" je n nebo více za sebou

Ostatní

  • . (tečka) jakýkoliv jeden znak
  • \ pro speciální, pokud je potřeba jen tečka \. nebo jen čísla \d viz dále
  • [a-z] jakýkoliv znak mezi "a" až "z"
  • [0-9] číslo 0 až 9
  • [abcd123] jakýkoliv znak z hranaté závorky
  • | alternativy, představuje operátor nebo
  • ()seskupení např. podmínek, co spolu souvisí
  • - (mínus) rozsah

Základní použití funkce REGEXEXTRACT

Získat čísla

Potřebujete-li získat z textu například první číselnou hodnotu:

=REGEXEXTRACT(B9;"[0-9]")

Potřebujete-li získat z textu například všechny číselné hodnoty:

=REGEXEXTRACT(B16;C16;1)

Potřebujete-li získat z textu například všechny číselné hodnoty vylepšeno o výstup do jedné buňky:

=TEXTJOIN("";PRAVDA;REGEXEXTRACT(I14;J14;1)) Excel REGEXEXTRACT cisla zaklad Excel

Získat hodnoty

Potřebujete-li získat z textu například první písmeno X, Y nebo Z:

=REGEXEXTRACT(B29;C29)

Potřebujete-li získat z textu například všechna písmena X, Y nebo Z:

=REGEXEXTRACT(B33;C33;1)

Potřebujete-li získat z textu například všechna písmena X, Y nebo Z vylepšení se zadaním do jedné buňky:

=TEXTJOIN("";PRAVDA;REGEXEXTRACT(B35;C35;1)) Excel REGEXEXTRACT pismena zaklad Excel

Využití funkce REGEXEXTRACT pro získání hodnot z datum

Mějme texty, které obsahují datum "'Date 27-4-1977 x" ve tvaru den (jeden nebo dva znaky, to stejné měsíc, a rok (4 znaky) hodnoty jsou odděleny mínusky.

Využití argumentu return_mode

Klasický zápis hodnoty (den měsíc rok) budou rozděleny do samostatných buněk - return_mode 2

=REGEXEXTRACT(B33;C33;1)

Klasický zápis hodnoty budou rozděleny do buněk celý datum - return_mode 1

=REGEXEXTRACT(B33;C33;1)

Klasický zápis hodnoty prvního datumu do buňky celý datum - return_mode 0

=REGEXEXTRACT(B33;C33;1) Excel REGEXEXTRACT datum Excel

Vylepšení získání den, měsíc, rok v jednotlivých buňkách

Vylepšení a rozpad na den měsíc rok

=DO.ŘÁDKU(REGEXEXTRACT(B26;"(\d{1,2})-(\d{1,2})-(\d{4})";2)) Excel REGEXEXTRACT datum Excel

Související články

Funkce týkající se regulárních výrazů:

Microsoft Excel VBA - stahuj logo

Ke stažení

Soubor ke stažení zdarma je v přípravě..


Závěrem

Narazili jste na nějaké problémy, máte tip na vylepšení nebo doplnění článku, můžete se zmínit v komentářích.

Článek byl aktualizován: 12.06.2024 10:05

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře zatím nejsou

Můžete být prvními co zanechají smysluplný komentář.






Excel


Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2024 |