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.
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 Excelu | Co z něj bude v databázi | Na co si dát pozor |
|---|---|---|
| Opakovaný název firmy ve sloupci | Tabulka zákazníků a odkaz na záznam | Klíčem je IČO, ne název |
| Samostatný list pro každý rok | Jedna tabulka a sloupec s datem | Roky se řeší filtrem, ne listy |
| Sloučená buňka jako podnadpis skupiny | Běžný sloupec s hodnotou na každém řádku | Doplnit dolů před exportem |
| Barva řádku | Výběrový sloupec stav nebo priorita | Zjistit význam, jinak zahodit |
| Komentář v buňce | Poznámka u záznamu | Při exportu do CSV mizí bez varování |
| VLOOKUP na jiný list | Relace mezi tabulkami | Přestane se lámat posunem sloupce |
| SUMIF přes zakázky | Agregační sloupec u zákazníka | Počítá se sám, netahá se dolů |
| Kontingenční tabulka | Seskupený pohled nebo graf | Staví se až po importu |
| Kopie listu jako filtr pro Petra | Uložený pohled s filtrem a oprávněním | Jedna data, víc pohledů |
| Pomocný sloupec s mezivýpočtem | Nic, nepřevádí se | Nahradí 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.
- Nové záznamy vznikají jen v systému. Od dne D se do tabulky nepřidává řádek, ani „jenom rychle tenhle jeden".
- Historie zůstane tam, kam se naimportovala. Do původního souboru se nesahá, slouží už jen k nahlédnutí.
- 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á.
- 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č.
- 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 tabulce | Proč | Co s tím místo toho |
|---|---|---|
| Listy, které nikdo letos neotevřel | Nikdo je nečte, jen prodlužují čištění | Archivovat celý soubor jen pro čtení |
| Pomocné sloupce a mezivýpočty | Nahradí je formule a pohledy | Přepsat, ne převést |
| Reportní listy a kontingenčky | Vznikají znovu jako pohled | Postavit až po importu dat |
| Kopie typu finalni_v3 a zaloha | Duplicitní data se stejnou vahou | Určit jednu platnou verzi, zbytek do archivu |
| Řádky s pouhým jménem bez firmy a data | Nedá se s nimi pracovat | Samostatný 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á.