Jak přejít z Excelu a Google Sheets do systému

Postup krok za krokem, jak z jednoho širokého listu udělat propojené tabulky - co je entita a co jen sloupec, jak vyčistit datové typy před importem a proč souběžný provoz nesmí trvat déle než měsíc.

Marek Raja

Export z Excelu do CSV je práce na pět minut. Problém je o krok dřív: list má šedesát sloupců, tři z nich jsou ve skutečnosti samostatné tabulky, data jsou ve čtyřech formátech a v buňce D14 sedí komentář, který zná jenom účetní. Tenhle text je postup, jak z takového listu udělat datový model, se kterým se dá pracovat. Jestli teprve zvažujete, jestli má přechod smysl, řeší to kdy přestává Excel stačit a srovnání CRM a Excelu - tady už se předpokládá rozhodnuto.

Krok 1: Rozdělte široký list na tabulky, které dávají smysl samy o sobě

Nejčastější chyba migrace je import jedna ku jedné. Šedesát sloupců Excelu se stane šedesáti poli jedné tabulky a výsledek je Excel s horším ovládáním. Než cokoli naimportujete, projděte hlavičku listu a u každého sloupce se rozhodněte, jestli je to entita, nebo opravdu jen sloupec.

Rozhodují tři otázky. Opakuje se ta hodnota na víc řádcích? Má vlastní vlastnosti, které s konkrétním řádkem nesouvisí? Chtěl by někdo někdy vidět seznam jenom těchhle věcí? Když jsou dvě odpovědi ano, je to entita a patří jí vlastní tabulka.

Prakticky to vypadá takhle. Sloupec s názvem firmy, který se opakuje u dvanácti zakázek a nese s sebou IČO, adresu a splatnost, je entita - vznikne z něj tabulka zákazníků a v zakázce zůstane odkaz. Sloupec „stav" s pěti hodnotami, které žádné vlastní vlastnosti nemají, je jen výběrový sloupec. Sloupec „zodpovědný" je hraniční případ: pokud chcete filtrovat podle člověka a hlídat vytížení, udělejte z něj odkaz na tabulku lidí, ne text.

Zvláštní pozor si dejte na buňky, ve kterých je víc věcí najednou. Položky nabídky napsané do jedné buňky oddělené čárkou, tři kontaktní osoby v jednom poli, dvě IČO u jednoho řádku - všechno tohle jsou samostatné záznamy vázané odkazem, ne text. Právě těmhle vazbám mezi tabulkami se říká relace a jsou to ony, co dělá z relační databáze něco jiného než tabulku.

Z běžného širokého listu obvykle vzniknou čtyři až šest tabulek: zákazníci, zakázky, položky, lidé a faktury. Hlavní tabulka se přitom smrskne ze šedesáti sloupců na patnáct.

Jeden list, nebo pět propojených tabulek

Stejná data zůstávají, mění se jen to, kde bydlí - opakovaný název firmy se stane záznamem, na který ostatní tabulky odkazují.

Krok 2: Vyčistěte datové typy, dokud jste ještě v tabulce

Čistěte v Excelu, ne po importu. V tabulce máte filtry, najít a nahradit a pomocné sloupce. Po importu opravujete záznam po záznamu a je to řádově pomalejší.

Pět věcí, které se v praxi rozbíjejí nejčastěji:

  • Data. Jeden sloupec musí mít jeden formát. „12.3.", „12/03/2025" a „březen" v jednom sloupci znamenají, že se do datového pole naimportuje třetina řádků a zbytek spadne do textu.
  • Čísla. „12 500 Kč", „cca 15k" a „12.500,-" nejsou čísla. Měna, jednotka a poznámka patří do vlastního sloupce, v číselném poli zůstane holá hodnota.
  • Prázdno versus nula. Nula znamená nula, prázdná buňka znamená nevíme. Když do prázdných buněk hromadně doplníte nuly, přijdete o rozdíl a průměry začnou lhát.
  • Text, který vypadá jako číslo. IČO s nulou na začátku, telefon, PSČ a číslo účtu jsou text. Excel jim tu nulu utrhne a při importu se to už nedá poznat.
  • Neviditelné mezery. „Nováček s.r.o. " a „Nováček s.r.o." jsou pro import dvě různé firmy. Nedělitelné mezery uvnitř čísel dělají totéž.

Osvědčený postup je pomocný sloupec s kontrolou - jestli je hodnota číslo, jestli má IČO osm znaků, jestli datum spadá do rozumného rozsahu - a pak filtr na chybové řádky. Na dvou tisících řádcích to bývá hodina práce a ušetří to týden dohadování, čí číslo je správně. Když už jste v tom, zaveďte IČO jako identifikátor firmy hned; je to jedno ze čtyř pravidel pořádku v obchodních datech, která platí v každém systému.

Krok 3: Formátování, sloučené buňky a poznámky pod čarou se musí stát daty

Sloučená buňka je skoro vždycky skrytý sloupec. Když je nad skupinou řádků napsáno „Praha" a pod ní „Brno", je to sloupec pobočka - rozpojte buňky a hodnotu doplňte do každého řádku, ještě než exportujete. Sloučená hlavička nad skupinou sloupců se řeší přejmenováním: místo dvouřádkové hlavičky „Nabídka / cena" a „Nabídka / datum" vzniknou dva sloupce s celým názvem.

Barvy jsou informace, kterou nikdo nezapsal. Než je zrušíte, projděte legendu s tím, kdo soubor vede: žlutá znamená čeká na zálohu, červená reklamaci. Z každé barvy, která něco znamená, vznikne hodnota ve výběrovém sloupci. U zhruba poloviny barev se ukáže, že jejich význam si už nikdo nepamatuje, a ty jde zahodit bez lítosti.

Komentáře v buňkách při exportu do CSV zmizí bez jediného varování. Projděte je dřív a rozhodněte: jednorázová věta patří do poznámkového pole záznamu, opakující se informace typu „platí jen do konce roku" je sloupec. Stejně tak poznámky pod tabulkou - většinou popisují pravidlo, které se má stát popisem pole nebo podmínkou v automatizaci.

Prvek v ExceluCo z něj bude v databáziNa co si dát pozor
Opakovaný název firmy ve sloupciTabulka zákazníků a odkaz na záznamKlíčem je IČO, ne název
Samostatný list pro každý rokJedna tabulka a sloupec s datemRoky se řeší filtrem, ne listy
Sloučená buňka jako podnadpis skupinyBěžný sloupec s hodnotou na každém řádkuDoplnit dolů před exportem
Barva řádkuVýběrový sloupec stav nebo prioritaZjistit význam, jinak zahodit
Komentář v buňcePoznámka u záznamuPři exportu do CSV mizí bez varování
VLOOKUP na jiný listRelace mezi tabulkamiPřestane se lámat posunem sloupce
SUMIF přes zakázkyAgregační sloupec u zákazníkaPočítá se sám, netahá se dolů
Kontingenční tabulkaSeskupený pohled nebo grafStaví se až po importu
Kopie listu jako filtr pro PetraUložený pohled s filtrem a oprávněnímJedna data, víc pohledů
Pomocný sloupec s mezivýpočtemNic, nepřevádí seNahradí ho formule nebo pohled

Krok 4: Vzorce přepište na formule nad relacemi, ne na jejich kopie

Excelový vzorec ukazuje na souřadnice buněk. Formule v databázi ukazuje na pole a na vazbu mezi záznamy. To je celý rozdíl a je to důvod, proč se přepsané výpočty přestanou lámat, když někdo přidá sloupec.

Vzorce si roztřiďte do tří hromádek. Výpočty v rámci jednoho řádku, jako marže z ceny a nákladu, se převedou jedna ku jedné na formulový sloupec. Součty přes jiný list, tedy typicky kombinace VLOOKUP a SUMIF, se stanou agregací přes relaci: součet cen položek se počítá u zakázky sám, protože položky na zakázku odkazují. Třetí hromádka jsou výpočty, které se v Excelu musely ručně obnovovat - z těch bývá pohled nebo report, ne sloupec.

Tři věci migraci nepřežijí a je lepší to vědět dopředu. Řetězce pomocných sloupců, kde jeden počítá z druhého a třetí z prvního, se přepisují na jednu formuli. Funkce závislé na pozici řádku, jako OFFSET nebo INDIRECT, v databázi nemají obdobu, protože záznam žádnou pevnou pozici nemá. A konstanty zapsané přímo ve vzorci - sazba, provize, hodinovka na pěti místech - patří do vlastního pole, jinak se za rok mění na pěti místech znovu. Jak se z formulových sloupců a pohledů skládá reporting bez exportů, rozebírá článek o reportingu přes pohledy, sloupce a formule.

Krok 5: Měsíc jeďte souběžně, pak soubor zamkněte

Souběžný provoz není období, kdy se všechno dělá dvakrát. Je to období, kdy platí jasné dělení práce a nikdo o něm nediskutuje.

  1. Nové záznamy vznikají jen v systému. Od dne D se do tabulky nepřidává řádek, ani „jenom rychle tenhle jeden".
  2. Historie zůstane tam, kam se naimportovala. Do původního souboru se nesahá, slouží už jen k nahlédnutí.
  3. Jednou týdně smíříte dvě čísla. Počet otevřených zakázek a jejich celkovou hodnotu. Když sedí dva týdny po sobě, migrace je hotová.
  4. Datum zamčení je v kalendáři od začátku. Ne „až budeme spokojení", ale konkrétní pátek. Kdo ho posune, musí říct proč.
  5. Původní soubor se archivuje, ne maže. Uložte ho jen pro čtení do dokumentů, ať je kam sáhnout, když se za půl roku někdo zeptá na starou zakázku.

Delší souběh migraci nezachrání, ale zabije

Když souběžný provoz trvá dva a půl měsíce, tým si vybere nástroj, který zná - a to je tabulka. Měsíc je horní hranice, po které už nejde o opatrnost, ale o odklad rozhodnutí.

Co nepřevádět

Migrace se nejčastěji zadrhne na datech, která nikdo nepotřebuje. Následující věci nechte být a ušetříte polovinu času.

Co nechat v tabulcePročCo s tím místo toho
Listy, které nikdo letos neotevřelNikdo je nečte, jen prodlužují čištěníArchivovat celý soubor jen pro čtení
Pomocné sloupce a mezivýpočtyNahradí je formule a pohledyPřepsat, ne převést
Reportní listy a kontingenčkyVznikají znovu jako pohledPostavit až po importu dat
Kopie typu finalni_v3 a zalohaDuplicitní data se stejnou vahouUrčit jednu platnou verzi, zbytek do archivu
Řádky s pouhým jménem bez firmy a dataNedá se s nimi pracovatSamostatný seznam k dotřídění, nebo vůbec

Kolik historie tedy převádět? U většiny firem, se kterými mluvíme, vychází dva až tři roky zpět. Starší data se do systému nedostanou nikdy, protože se v nich pravidla mezitím změnila a nikdo je už nedokáže vyložit. Co se při přesunu typicky ztratí a jak si toho všimnout včas, popisuje článek o migraci dat mezi systémy.

Poslední poznámka k nástroji. Rozdíl mezi platformami je hlavně v tom, jestli si tabulky a vazby postavíte sami, nebo čekáte na dodavatele - v Apexloopu vzniká datový model klikáním a import běží po jednotlivých tabulkách, takže se dá zákazníky naimportovat v pondělí a zakázky ve středu.

Celý postup i s kontrolními seznamy vede průvodce migrací z Excelu nebo Notionu. Na to, co dělat po importu, tedy v jakém pořadí zapínat pohledy, oprávnění a automatizace, navazuje prvních třicet dní s novým systémem.

Časté otázky k přechodu z Excelu

Jak převést Excel do databáze krok za krokem?

Nejdřív rozdělte široký list na tabulky podle toho, co je entita a co jen sloupec, pak sjednoťte datové typy a rozpojte sloučené buňky, teprve potom importujte - nejdřív číselníky, pak zákazníky, nakonec navázané záznamy. Vzorce se přepisují až po importu, protože potřebují hotové vazby.

Co se stane s Excel vzorci při přechodu do systému?

Nepřenesou se, přepisují se ručně, ale obvykle jich ubude. Výpočty v rámci řádku se převedou jedna ku jedné, součty přes jiný list nahradí agregace přes relaci a pomocné mezivýpočty většinou zaniknou úplně.

Jak dlouho trvá migrace z Excelu do systému?

U jednoho listu s několika tisíci řádky bývá vlastní příprava a import otázkou dvou až tří dnů práce. Delší je souběžný provoz, který má trvat zhruba měsíc, a čištění dat, pokud se odkládalo roky.

Musím převádět všechna historická data?

Ne a většinou je to chyba. Dva až tři roky zpět stačí pro veškeré běžné dohledávání, starší listy se archivují jako soubor jen pro čtení. Ušetřený čas je lepší dát do čištění toho, co se opravdu používá.

Popište, co má z vaší tabulky vzniknout.

Apexloop postaví aplikaci na míru