Praktické využít velkých jazykových modelů pro konstrukci vzorců v Excelu

Velké jazykové modely (LLM) jako ChatGPT mohou být skvělým pomocníkem při práci s Excel vzorci. Mohou vám pomoci nejen vytvořit správný vzorec na základě popisu, ale také jej opravit nebo vyladit tak, aby fungoval správně. V tomto článku se podíváme na tři hlavní oblasti využití:

  1. Jak pomocí LLM generovat vzorce v Excelu – příklady použití
  2. Jak ladit chyby ve vzorcích
  3. Jak se vyhnout běžným chybám v zadání, například nesprávné lokalizaci vzorců

Jak LLM jako ChatGPT využít k tvorbě vzorců v Excelu?

Velké jazykové modely umí skvěle pochopit popis úlohy a převést ho na odpovídající vzorec v Excelu. Stačí zadat srozumitelný dotaz a model vám vrátí odpověď ve správném formátu. Níže si ukážeme tři konkrétní příklady.

Příklad 1: Výpočet provizí podle prodejů

Máme tabulku, kde každý řádek obsahuje jméno obchodníka a jeho měsíční prodeje. Potřebujeme vytvořit vzorec, který vypočítá provizi podle následujících pravidel:

  • Pokud obchodník prodal za méně než 10 000 Kč → provize je 5 %
  • Pokud prodal mezi 10 000 Kč a 50 000 Kč → provize je 7 %
  • Pokud prodal nad 50 000 Kč → provize je 10 %

Zadání pro ChatGPT:
„Potřebuji vzorec v Excelu, který na základě hodnoty v buňce A2 určí výši provize podle těchto pravidel: <vložená pravidla>“

Odpověď ChatGPT:
Vzorec pro výpočet provize (za předpokladu, že prodeje jsou ve sloupci A) může vypadat takto:

=KDYŽ(A2<10000; A2*0.05; KDYŽ(A2<=50000; A2*0.07; A2*0.10))

V anglické verzi:

=IF(A2<10000, A2*0.05, IF(A2<=50000, A2*0.07, A2*0.10))

Příklad 2: Spojení jména a příjmení do jednoho sloupce

Máme dva sloupce, ve kterých jsou křestní jména (sloupec A) a příjmení (sloupec B). Chceme je spojit do jednoho sloupce tak, aby mezi nimi byla mezera.

Zadání pro ChatGPT:
„Jaký je vzorec v Excelu pro spojení jména ve sloupci A s příjmením ve sloupci B, oddělené mezerou?“

Odpověď ChatGPT:
Pokud používáte starší verzi Excelu:

=A2&" "&B2

Pokud používáte novější verzi Excelu:
=CONCAT(A2, " ", B2)

Příklad 3: Automatický výpočet stáří na základě data narození

Chceme spočítat věk člověka podle jeho data narození (sloupec A), přičemž věk se má počítat k dnešnímu dni.

Zadání pro ChatGPT:
„Jak spočítám v Excelu věk osoby na základě jejího data narození ve sloupci A?“

Odpověď ChatGPT:

=ROK(DNES()) - ROK(A2) - KDYŽ(DATUM(ROK(DNES());MĚSÍC(A2);DEN(A2))>DNES();1;0)

Anglická verze:

=YEAR(TODAY()) - YEAR(A2) - IF(DATE(YEAR(TODAY()), MONTH(A2), DAY(A2)) > TODAY(), 1, 0)

Jak ladit chyby ve vzorcích pomocí ChatGPT?

I když ChatGPT vygeneruje vzorec, může se stát, že v Excelu nebude fungovat správně a zobrazí chybu jako #HODNOTA!, #JMÉNO?, nebo #DĚLENÍ_NULOU!. Namísto ručního hledání chyby můžete ChatGPT požádat o opravu správně formulovaným dotazem.

Aby ChatGPT správně opravil chybný vzorec, vždy ve svém dotazu uveďte:

  • Přesný vzorec, který vrací chybu.
  • Typ chyby (#HODNOTA!, #JMÉNO?, #N/A…).
  • Co chcete, aby vzorec dělal správně (např. „Chci, aby místo chyby zobrazil text“).
  • Verzi Excelu nebo jazykové prostředí, pokud to může hrát roli.

Chyba #HODNOTA! – Problém s datovým typem

Příčina: Některý z argumentů ve vzorci je ve špatném formátu. Například když funkce CONCATENATE() nebo CONCAT() očekává text, ale dostane číslo.

Jak položit dotaz ChatGPT pro opravu:
„Můj vzorec =CONCAT(A2, " ", B2) v Excelu vrací chybu #HODNOTA! Pravděpodobně proto, že jedna z buněk obsahuje číslo místo textu. Můžeš upravit vzorec tak, aby správně fungoval pro jakýkoli vstup?“

Opravený vzorec od ChatGPT:

=CONCAT(TEXT(A2, "0"), " ", TEXT(B2, "0"))

Tímto způsobem se čísla převedou na text a chyba zmizí.

Chyba #JMÉNO? – Excel nerozpoznává název funkce

Příčina: Vzorec obsahuje funkci napsanou v nesprávném jazyce (např. anglické funkce v české verzi Excelu) nebo překlep v názvu funkce.

Jak položit dotaz ChatGPT pro opravu:
„Dostal jsem vzorec =IF(A2>10, "Ano", "Ne"), ale používám českou verzi Excelu a zobrazí se chyba #JMÉNO?. Můžeš vzorec přeložit do češtiny?“

Opravený vzorec od ChatGPT:

=KDYŽ(A2>10; "Ano"; "Ne")

Chyba #DĚLENÍ_NULOU! – Dělení nulou

Příčina: Vzorec obsahuje dělení hodnotou, která je nulová nebo prázdná, např. =A2/B2, když B2 obsahuje 0.

Jak položit dotaz ChatGPT pro opravu:
„Mám vzorec =A2/B2, ale pokud je B2 prázdné nebo nulové, zobrazí se chyba #DĚLENÍ_NULOU!. Můžeš vzorec upravit tak, aby se chyba neobjevovala a místo toho zobrazil text ‚N/A‘?“

Opravený vzorec od ChatGPT:

=KDYŽ(B2=0; "N/A"; A2/B2)

Tento vzorec zkontroluje, zda je B2 nulové, a pokud ano, zobrazí text namísto chyby.

Chyba #ODKAZ! – Odkaz na neexistující buňku

Příčina: Vzorec obsahuje odkaz na buňku, která byla odstraněna nebo přesunuta.

Jak položit dotaz ChatGPT pro opravu:
„Můj vzorec =A2+B2+C2 z nějakého důvodu vrací chybu #ODKAZ!. Můžeš mi poradit, jak najít, která buňka způsobuje problém, a jak vzorec opravit?“

Možná odpověď ChatGPT:

  1. Zkontrolujte, zda některá z buněk A2, B2 nebo C2 neobsahuje chybu #ODKAZ!.
  2. Pokud ano, zkuste obnovit chybějící hodnoty nebo upravit vzorec tak, aby se na neexistující buňku neodkazoval.
  3. Použijte vzorec:
=KDYŽ(JE.CHYBHODN(A2); 0; A2) + KDYŽ(JE.CHYBHODN(B2); 0; B2) + KDYŽ(JE.CHYBHODN(C2); 0; C2)

Tímto způsobem se ignorují neplatné odkazy.

Chyba #N/A – Hodnota nebyla nalezena

Příčina: Funkce jako SVYHLEDAT (VLOOKUP) nebo XLOOKUP nemůže najít hledanou hodnotu v daném rozsahu.

Jak položit dotaz ChatGPT pro opravu:
„Používám vzorec =SVYHLEDAT(50; A2:B10; 2; NEPRAVDA), ale některé hodnoty vrací #N/A. Můžeš vzorec upravit tak, aby v případě nenalezení hodnoty zobrazil text ‚Nenalezeno‘ místo chyby?“

Opravený vzorec od ChatGPT:

=KDYŽ(JE.CHYBHODN(SVYHLEDAT(50; A2:B10; 2; NEPRAVDA)); "Nenalezeno"; SVYHLEDAT(50; A2:B10; 2; NEPRAVDA))

Tímto způsobem se vyhneme zobrazování chyby #N/A a místo ní bude uveden srozumitelný text.

Jak se vyhnout běžným chybám při zadávání vzorců?

Překlad vzorců do nesprávného jazyka

Problém: ChatGPT často generuje vzorce v angličtině, ale pokud máte českou verzi Excelu, nebudou fungovat. Například místo:

=IF(A2>10, "Ano", "Ne")

musí být:

=KDYŽ(A2>10; "Ano"; "Ne")

Řešení: Při zadání dotazu uveďte, jakou jazykovou verzi Excelu používáte.

2. Nesprávné oddělovače argumentů

Problém: V české verzi Excelu se používají středníky ;, ale v anglické čárky ,.
Řešení: Pokud dostanete vzorec s čárkami, nahraďte je středníky. Správné řešení je ale ChatGPT oznámit v jaké jazykové lokalizaci pracujete a nechat výstup opravit.

3. Zbytečné složitosti ve vzorcích

Problém: ChatGPT někdy vytváří příliš komplikované vzorce, které lze zjednodušit.
Řešení: Požádejte ChatGPT o optimalizovanou verzi nebo zkuste vzorec zjednodušit ručně.