Obsah
Tento návod ukazuje, jak v aplikaci Excel použít funkci LEFT k získání podřetězce ze začátku textového řetězce, vyjmutí textu před určitým znakem, vynucení vrácení čísla ze vzorce Left a další.
Mezi mnoha různými funkcemi, které Microsoft Excel poskytuje pro manipulaci s textovými daty, je LEFT jednou z nejpoužívanějších. Jak již název napovídá, funkce umožňuje vyjmout určitý počet znaků začínajících na levé straně textového řetězce. Excel LEFT však umí mnohem více než jen svou čistou podstatu. V tomto návodu najdete několik základních vzorců pro funkci LEFT, které vám pomohouporozumíte syntaxi a pak vám ukážu několik způsobů, jak můžete funkci LEFT v Excelu využít mnohem více, než je její základní použití.
Funkce LEFT aplikace Excel - syntaxe
Funkce LEFT v aplikaci Excel vrací zadaný počet znaků (podřetězec) od začátku řetězce.
Syntaxe funkce LEFT je následující:
LEFT(text, [num_chars])Kde:
- Text (povinné) je textový řetězec, ze kterého chcete extrahovat podřetězec. Obvykle se zadává jako odkaz na buňku obsahující text.
- Num_chars (nepovinné) - počet znaků, které se mají extrahovat, počínaje levou stranou řetězce.
- Pokud num_chars je vynechána, je výchozí hodnota 1, což znamená, že vzorec Left vrátí 1 znak.
- Pokud num_chars je větší než celková délka text , vzorec vlevo vrátí všechny text .
Chcete-li například z textu v buňce A2 získat první 3 znaky, použijte tento vzorec:
=LEFT(A2, 3)
Následující snímek obrazovky ukazuje výsledek:
Důležitá poznámka! LEFT patří do kategorie textových funkcí, proto je výsledkem vzorce Left vždy vzorec. textový řetězec , a to i v případě, že původní hodnota, ze které extrahujete znaky, je číslo. Pokud pracujete s číselným souborem dat a chcete, aby funkce LEFT vrátila číslo, použijte ji ve spojení s funkcí VALUE, jak je ukázáno v tomto příkladu.
Jak používat funkci LEFT v aplikaci Excel - příklady vzorců
Co dalšího kromě extrakce textu z levé části řetězce umí funkce LEFT? Následující příklady ukazují, jak lze funkci LEFT použít v kombinaci s dalšími funkcemi aplikace Excel k řešení složitějších úloh.
Jak extrahovat podřetězec před určitým znakem
V některých případech můžete potřebovat extrahovat část textového řetězce, která předchází určitému znaku. Například můžete chtít vytáhnout křestní jména ze sloupce plných jmen nebo získat kódy zemí ze sloupce telefonních čísel. Problém je v tom, že každé jméno a každý kód obsahuje jiný počet znaků, a proto nelze jednoduše zadat předdefinované číslo do příkazu. num_chars argumentu vzorce vlevo, jako jsme to udělali ve výše uvedeném příkladu.
Pokud je jméno a příjmení odděleno mezerou, problém spočívá v určení pozice znaku mezery v řetězci, což lze snadno provést pomocí funkce SEARCH nebo FIND.
Předpokládejme, že celé jméno je v buňce A2, pozici mezery vrátí tento jednoduchý vzorec: HLEDAT(" ",A2)). A nyní tento vzorec vložte do buňky A2. num_chars argumentu funkce LEFT:
=LEFT(A2, SEARCH(" ", A2))
Chcete-li vzorec ještě trochu vylepšit, zbavte se koncové mezery odečtením 1 od výsledku vzorce Hledat (není vidět v buňkách, koncové mezery mohou způsobit mnoho problémů, zejména pokud plánujete použít extrahované názvy v jiných vzorcích):
=LEFT(A2, SEARCH(" ", A2)-1)
Stejným způsobem můžete ze sloupce telefonních čísel získat kódy zemí. Jediný rozdíl je v tom, že místo mezery použijete funkci Hledat ke zjištění pozice první pomlčky ("-"):
=LEFT(A2, SEARCH("-", A2)-1)
Na závěr můžete použít tento obecný vzorec pro získání podřetězce, který předchází jakémukoli jinému znaku:
LEVÝ( řetězec , HLEDAT( znak , řetězec ) - 1)Jak odstranit posledních N znaků z řetězce
Již víte, jak použít funkci LEFT aplikace Excel k získání podřetězce ze začátku textového řetězce. Někdy však můžete chtít udělat něco jiného - odstranit určitý počet znaků z konce řetězce a zbytek řetězce vytáhnout do jiné buňky. K tomu použijte funkci LEFT v kombinaci s LEN, například takto:
LEVÝ( řetězec, LEN( řetězec ) - počet_znaků_k_odstranění )Vzorec pracuje s touto logikou: funkce LEN zjistí celkový počet znaků v řetězci, pak od celkové délky odečtete počet nežádoucích znaků a funkce LEFT vrátí zbývající znaky.
Chcete-li například z textu v poli A2 odstranit posledních 7 znaků, použijte tento vzorec:
=LEFT(A2, LEN(A2)-7)
Jak ukazuje obrázek níže, vzorec úspěšně odřízne " - ToDo" postfix (4 písmena, pomlčka a 2 mezery) z textových řetězců ve sloupci A.
Jak vynutit, aby funkce LEFT vracela číslo
Jak již víte, funkce LEVÁ v Excelu vždy vrací text, a to i v případě, že z čísla vytáhnete několik prvních číslic. Pro vás to znamená, že výsledky vzorců Levá nebudete moci použít ve výpočtech ani v jiných funkcích Excelu, které pracují s čísly.
Jak tedy přimět aplikaci Excel LEFT, aby vypisovala číslo, a ne textový řetězec? Jednoduše tak, že ji zabalíte do funkce VALUE, která je určena k převodu řetězce představujícího číslo na číslo, například takto: VALUE(LEFT())
Chcete-li například z řetězce v A2 vyjmout první 2 znaky a převést výstup na čísla, použijte tento vzorec:
=HODNOTA(LEFT(A2,2))
Výsledek bude vypadat podobně:
Jak vidíte na výše uvedeném snímku obrazovky, čísla ve sloupci B získaná pomocí vzorce Value Left jsou v buňkách zarovnána doprava, na rozdíl od textu zarovnaného doleva ve sloupci A. Protože aplikace Excel rozpozná výstup jako čísla, můžete tyto hodnoty libovolně sčítat a průměrovat, zjišťovat minimální a maximální hodnotu a provádět další výpočty.
To je jen několik z mnoha možných použití funkce LEFT v aplikaci Excel. Chcete-li se blíže seznámit se vzorci probíranými v tomto kurzu, můžete si stáhnout ukázkový list funkce LEFT aplikace Excel.
Další příklady levých vzorců naleznete v následujících zdrojích:
- Rozdělení řetězce čárkou, dvojtečkou, lomítkem, pomlčkou nebo jiným oddělovačem
- Jak rozdělit řetězec pomocí zalomení řádku
- Jak převést 8 čísel na datum
- spočítat počet znaků před nebo za daným znakem.
- Vzorec pole pro provádění různých výpočtů pro čísla v různých rozsazích
Nefunkčnost funkce LEFT aplikace Excel - důvody a řešení
Pokud funkce LEFT aplikace Excel ve vašich pracovních listech nefunguje správně, je to pravděpodobně způsobeno jedním z následujících důvodů.
1. Argument Num_chars je menší než nula
Pokud váš levý vzorec aplikace Excel vrátí chybu #VALUE!, je třeba nejprve zkontrolovat hodnotu v položce num_chars argument. Pokud je to záporné číslo, stačí odstranit znaménko minus a chyba zmizí (samozřejmě je velmi nepravděpodobné, že by tam někdo záměrně dal záporné číslo, ale chybovat je lidské :)
K chybě VALUE dochází nejčastěji tehdy. num_chars argument je reprezentován jinou funkcí. V tomto případě zkopírujte tuto funkci do jiné buňky nebo ji vyberte na panelu vzorců a stiskněte klávesu F9, abyste zjistili, čemu se rovná. Pokud je hodnota menší než 0, zkontrolujte, zda funkce neobsahuje chyby.
Pro lepší ilustraci si vezměme vzorec Left, který jsme použili v prvním příkladu pro extrakci telefonních kódů zemí: LEFT(A2, SEARCH("-", A2)-1). Jak si možná vzpomínáte, funkce Search v programu num_chars argument vypočítá pozici první pomlčky v původním řetězci, od které odečteme 1, abychom pomlčku z konečného výsledku odstranili. Kdybych omylem nahradil -1 například za -11, vzorec by přes chybu #VALUE, protože num_chars se rovná záporným číslům:
2. Mezery v původním textu
V případě, že vzorec vlevo v aplikaci Excel bez zjevného důvodu selže, zkontrolujte, zda původní hodnoty neobsahují počáteční mezery. Pokud jste data zkopírovali z webu nebo exportovali z jiného externího zdroje, může se před textovými položkami nepozorovaně skrývat mnoho takových mezer a vy o nich nebudete vědět, dokud se něco nepokazí. Problém ilustruje následující obrázek:
Chcete-li se zbavit počátečních mezer v pracovních listech, použijte funkci TRIM aplikace Excel nebo doplněk Text Toolkit.
3. Aplikace Excel LEFT nepracuje s daty
Pokud se pokusíte pomocí funkce LEFT v aplikaci Excel získat jednotlivou část data (například den, měsíc nebo rok), ve většině případů získáte pouze několik prvních číslic čísla, které představuje dané datum. Jde o to, že v aplikaci Microsoft Excel jsou všechna data uložena jako celá čísla představující počet dní od 1. ledna 1900, který je uložen jako číslo 1 (více informací naleznete na stránceFormát data aplikace Excel). To, co vidíte v buňce, je pouze vizuální reprezentace data a jeho zobrazení lze snadno změnit použitím jiného formátu data.
Například pokud máte v buňce A1 datum 11. ledna 2017 a pokusíte se extrahovat den pomocí vzorce LEFT(A1,2), výsledkem bude 42, což jsou první dvě číslice čísla 42746, které v interním systému Excelu představuje 11. leden 2017.
Chcete-li vyjmout určitou část data, použijte jednu z následujících funkcí: DEN, MĚSÍC nebo ROK.
Pokud jsou data zadána jako textové řetězce, bude funkce LEFT fungovat bez problémů, jak ukazuje pravá část obrázku:
Takto se v Excelu používá funkce LEFT. Děkuji vám za přečtení a doufám, že se uvidíme zase příští týden.