Aplikacja zamiast Excela: kiedy firma wyrasta z arkusza i jak przejść bez przestoju
Excel warto zastąpić programem z bazą danych, formularzami i rolami wtedy, gdy kilka osób prowadzi w arkuszu proces, na przykład zamówienia, wnioski zakupowe albo terminy. Sygnałem są wersje pliku krążące w poczcie, nadpisane zmiany, brak odpowiedzi na pytanie, kto poprawił kwotę, i dane osobowe widoczne dla każdego, a nie sam rozmiar, bo arkusz mieści 1 048 576 wierszy. Do wyboru, od najtańszej drogi: uporządkowany plik we współtworzeniu, Microsoft Lists lub Power Apps w Microsoft 365, Airtable albo AppSheet płatne za użytkownika, baza danych z raportami w Excelu tylko do odczytu i aplikacja webowa pisana pod proces, za którą płacisz budowę i utrzymanie zamiast licencji za konto. Przejście nie wymaga przestoju: nowy system działa obok pliku, dopóki cotygodniowe porównania sum i liczby rekordów się zgadzają.
- Arkusz programu Excel mieści maksymalnie 1 048 576 wierszy i 16 384 kolumny, a liczby przechowuje z dokładnością do 15 cyfr (specyfikacja Microsoftu).
- Microsoft zaznacza, że ochrona arkusza w Excelu nie jest funkcją bezpieczeństwa, tylko chroni zablokowane komórki przed zmianą.
- Sprawdzanie poprawności danych w Excelu blokuje błędną wartość tylko przy ręcznym wpisywaniu w komórkę; dane skopiowane lub przeciągnięte nie wywołują komunikatu.
- Gdy dwie osoby współtworzące skoroszyt Excela zmienią ten sam element, zwykle obowiązuje zmiana zapisana jako ostatnia.
Kiedy Excel przestaje wystarczać w firmie?
Excel przestaje wystarczać wtedy, gdy kilka osób prowadzi w nim proces, a nie wtedy, gdy plik robi się duży. Rejestr prowadzony ręcznie rzadko zbliża się do limitu ponad miliona wierszy; brakuje mu raczej reguł, ról i historii zmian.
Arkusz sprawdza się, dopóki służy do liczenia: jedna osoba analizuje dane, buduje model, porównuje warianty. Kłopot zaczyna się, gdy ten sam plik staje się systemem, w którym handlowcy dopisują zamówienia, kierownik zaznacza kolorem akceptację, a księgowość odhacza płatności. Excel nie zna wtedy reguł procesu. Przechowuje komórki, które każdy może nadpisać, a pilnowanie zasad spada wyłącznie na uwagę ludzi.
Jeden z objawów poniżej często da się naprawić w samym Excelu. Trzy albo cztery naraz oznaczają, że arkusz pełni rolę systemu bez mechanizmów, które system powinien mieć: reguł, ról, historii i powiadomień.
- Wersje w poczciePlik krąży jako załącznik, a „zamówienia_v4_ostateczne.xlsx” różni się od wersji kolegi o kilka wierszy, których nikt nie umie wskazać.
- Konflikty przy jednoczesnej edycjiDwie osoby poprawiają ten sam wiersz i zostaje zmiana tej, która zapisała później. Albo plik jest zablokowany, bo ktoś otworzył go w starszej wersji Excela.
- Brak odpowiedzi na pytanie „kto to zmienił”Kwota w wierszu jest inna niż wczoraj i nie wiadomo, kto ją poprawił, kiedy i na jakiej podstawie.
- Formuły zepsute przez kopiuj i wklejKtoś wkleił wiersz z innego pliku, formuła odwołuje się do złej komórki, a suma w podsumowaniu dalej wygląda wiarygodnie.
- Uprawnienia tylko do całego plikuHandlowiec powinien widzieć swoich klientów, a widzi wszystkich, razem z marżą i danymi kontaktowymi.
- Dane osobowe we wspólnym plikuLista klientów albo pracowników z telefonami i adresami trafia do każdego, kto ma link albo dostał plik mailem.
- Plik, który rozumie jedna osobaMakra i ukryte arkusze zna tylko autor. Kiedy jest na urlopie, część pracy czeka.
Jakie limity ma Excel i które z nich naprawdę przeszkadzają?
Twarde limity Excela opisuje specyfikacja Microsoftu i są wysokie. W rejestrze prowadzonym ręcznie bardziej przeszkadzają ograniczenia pracy zespołowej, które wynikają z tego, że arkusz jest plikiem, a nie systemem.
Według specyfikacji Microsoftu arkusz Excela mieści 1 048 576 wierszy i 16 384 kolumny, komórka do 32 767 znaków, a liczby są przechowywane z dokładnością do 15 cyfr. Excel pozwala cofnąć 100 ostatnich operacji, a lista w filtrze pokazuje do 10 000 pozycji. Dane dotyczą Excela dla Microsoft 365 i wersji od 2016 do 2024.
Przy ręcznym dopisywaniu wierszy do miliona daleko. Ważniejszy bywa limit dokładności 15 cyfr: długi numer zapisany jako liczba, na przykład numer rachunku bankowego, nie zostanie przechowany dokładnie. Takie pola trzeba od początku trzymać jako tekst.
Osobną pułapką jest starsza funkcja udostępniania skoroszytu, używana przy pliku na dysku sieciowym: według tej samej specyfikacji taki skoroszyt nie może zawierać ani jednej tabeli Excela, a historię zmian domyślnie trzyma przez 30 dni.
Limity, ceny i przepisy przytoczone w tym tekście sprawdziłem w dokumentacji i cennikach producentów (Microsoft, Airtable, Google, PostgreSQL), w RODO i w sprawozdaniu Prezesa UODO. Link do każdego źródła jest w wykazie źródeł na dole strony.
| Limit | Wartość | Co to oznacza w praktyce |
|---|---|---|
| Wiersze i kolumny w arkuszu | 1 048 576 wierszy na 16 384 kolumny | Przy rejestrze prowadzonym ręcznie rzadko realna bariera. Większe zbiory trzymaj w bazie, a do Excela ładuj podsumowania. |
| Dokładność liczb | 15 cyfr | Numery rachunków i długie identyfikatory zapisuj jako tekst, nie jako liczbę. |
| Znaki w komórce | 32 767 | Długie notatki się zmieszczą, ale arkusz nie jest wygodnym miejscem na korespondencję z klientem. |
| Poziomy cofania | 100 | Po serii masowych zmian nie cofniesz wszystkiego. Ratunkiem zostaje historia wersji pliku. |
| Pozycje na liście filtra | 10 000 | Przy długiej liście klientów czy indeksów filtr nie pokaże wszystkich wartości do zaznaczenia. |
| Historia w funkcji Pokaż zmiany | Do 365 dni, w Excelu dla Microsoft 365 | Widać, kto, gdzie i kiedy zmienił komórkę, razem z poprzednią wartością. |
| Starszy skoroszyt udostępniony | 256 osób naraz, zero tabel Excela, historia domyślnie 30 dni | Przycisk jest w nowych wersjach ukryty, a skoroszyt nie może mieć tabel, na których opiera się porządek w danych. |
Czy wystarczy uporządkować arkusz i pracować w nim we współtworzeniu?
Uporządkowany arkusz we współtworzeniu to pierwszy krok do sprawdzenia, bo w firmie z Microsoft 365 nie wymaga nowych licencji. Nie da jednak uprawnień do pojedynczych wierszy ani reguł, których nie obejdzie zwykłe wklejenie.
Uporządkowanie to kilka decyzji: jeden plik zamiast kopii w poczcie, dane wejściowe oddzielone od obliczeń i raportów, jedna tabela na jeden rodzaj rekordu, lista wyboru zamiast statusu wpisywanego z ręki i właściciel pliku z imienia i nazwiska.
Współtworzenie, czyli jednoczesna praca kilku osób w tym samym skoroszycie, według pomocy Microsoftu działa, gdy plik leży w OneDrive, OneDrive dla Firm albo w bibliotece SharePoint Online. Microsoft zaznacza, że lokalne witryny SharePoint, hostowane poza Microsoftem, współtworzenia nie obsługują. Zmiany innych osób widać w ciągu kilku sekund, a historia wersji pozwala otworzyć i przywrócić wcześniejszy stan pliku.
Dokumentacja mówi też wprost o granicach. Gdy dwie osoby zmienią ten sam element, zwykle wygrywa zmiana zapisana jako ostatnia, a Microsoft radzi przypisać osobom osobne obszary lub arkusze. Jeśli ktoś otworzy plik w wersji Excela bez obsługi współtworzenia, pozostali zobaczą komunikat, że plik jest zablokowany. Makr VBA nie utworzysz, nie uruchomisz ani nie poprawisz w Excelu w przeglądarce, więc arkusz oparty na makrach dalej wymaga wersji na komputer.
Sprawdzanie poprawności danych pomaga, ale nie jest zaporą. Według Microsoftu reguła blokuje błędną wartość tylko wtedy, gdy ktoś wpisuje ją w komórkę; przy kopiowaniu i wypełnianiu komunikat się nie pojawia. Reguła dodana do kolumny z danymi nie oznaczy też starych błędów sama. Tą drogą do arkusza trafiają pomyłki wklejone z innego pliku.
Ochrona arkusza też nie jest tym, na co wygląda. Microsoft pisze, że ochrona na poziomie arkusza nie jest funkcją bezpieczeństwa, tylko zabezpiecza zablokowane komórki przed zmianą. Wśród opisanych poziomów ochrony, czyli pliku, skoroszytu i arkusza, nie ma takiego, który pokazywałby każdej osobie tylko jej wiersze.
- Zbierz kopie w jednym miejscuPrzenieś plik do OneDrive lub SharePoint Online, a stare kopie z poczty oznacz jako archiwum, żeby nikt nie pracował na nich dalej.
- Oddziel dane od obliczeńDane wejściowe w tabeli na osobnym arkuszu, formuły i raporty na kolejnych, do których osoba wpisująca dane nie musi zaglądać.
- Dodaj listy wyboru i regułyStatus, dział i kategoria z listy, kwota tylko dodatnia. Pamiętaj, że wklejone dane te reguły omijają.
- Przypisz obszary osobomKażdy dział edytuje swój arkusz albo swoją kolumnę. Tak Microsoft radzi ograniczać konflikty przy współtworzeniu.
- Wyznacz właścicielaJedna osoba odpowiada za strukturę pliku i zatwierdza zmiany w formułach. Bez niej nikt nie odpowiada za to, czy nowa kolumna albo formuła pasuje do reszty pliku.
Czym zastąpić Excel w firmie: opcje od najmniejszego do największego wysiłku
Między uporządkowanym arkuszem a aplikacją na zamówienie masz pięć opcji pośrednich: Microsoft Lists, Power Apps, Airtable, Google AppSheet i bazę danych z Excelem tylko do odczytu. Każda usuwa inne braki arkusza i każda ma limit opisany w dokumentacji producenta.
Jeśli szukasz po prostu innego programu do arkuszy, masz na przykład LibreOffice Calc z bezpłatnego pakietu open source LibreOffice albo Arkusze Google w przeglądarce. Zmieniasz wtedy licencję lub miejsce pracy, ale nie model danych: dalej pracujesz na pliku. Google pisze wprost, że ochrona arkusza w Arkuszach Google nie jest środkiem bezpieczeństwa, bo inne osoby mogą kopiować z niego dane i eksportować kopie, a treść ukrytych arkuszy widzą także osoby z prawem do wyświetlania. Objawy opisane wyżej przechodzą więc do nowego programu razem z plikiem.
Wśród baz no-code poza Airtable i AppSheet, które opisuję niżej, są też między innymi Baserow, udostępniany na licencji open source MIT i możliwy do uruchomienia na własnym serwerze, NocoDB, który nakłada interfejs podobny do arkusza na istniejącą bazę PostgreSQL lub MySQL, oraz bazy danych w Notion, gdzie każdy wiersz jest osobną stroną z opisem i komentarzami. Przy każdym z nich sprawdzam te same trzy rzeczy: limit rekordów w planie, sposób liczenia płatnych użytkowników i eksport danych na wypadek zmiany narzędzia.
Tabela pod listą zestawia opcje w kolejności rosnącego nakładu pracy, z limitami i cenami z dokumentacji i cenników producentów; ceny podaję w walucie cennika, a przed decyzją sprawdź je u producenta. W skrócie: współtworzenie i Microsoft Lists mieszczą się w subskrypcji Microsoft 365. Power Apps Premium kosztuje według polskiego cennika Microsoftu 17,30 € za użytkownika miesięcznie przy płatności rocznej, bez VAT. Airtable Team to 20 USD za współpracownika miesięcznie przy płatności rocznej, a Google AppSheet od 5 USD za użytkownika miesięcznie. Baza danych to koszt serwera i pracy przy wdrożeniu, a aplikacja na zamówienie to budowa i utrzymanie, bez opłaty za konto; jej koszt zależy od liczby ról, reguł i integracji, a moje widełki są w cenniku.
Zasada wyboru: najpierw ustal, czego brakuje, potem wybierz najniższy stopień, który to daje. Poniżej moje rekomendacje dla typowych sytuacji; szersze porównanie obu dróg znajdziesz w przewodniku no-code czy aplikacja dedykowana.
- Kilka osób potrzebuje jednej wersji plikuWystarczy uporządkowany arkusz we współtworzeniu w OneDrive albo SharePoint Online. Nowe narzędzie niczego tu nie doda.
- Rejestr działu w firmie z Microsoft 365Microsoft Lists, a gdy potrzebny jest wygodny formularz na telefon, Power Apps na tej liście. Wystarcza, dopóki pojedynczy widok pokazuje do około 5000 elementów, a elementów z osobnymi uprawnieniami jest mniej niż zalecane przez Microsoft 5000.
- Powiązane tabele dla małego zespołuAirtable albo Google AppSheet, jeśli dane mieszczą się w limicie rekordów planu, a osób edytujących jest niewiele, bo każda podnosi abonament.
- Dużo danych i raporty dla wielu osóbBaza danych, a Excel podłączony do niej tylko do odczytu. Do wpisywania danych potrzebny jest jeszcze formularz.
- Pieniądze, klienci spoza firmy, integracjeAplikacja webowa na zamówienie: reguły w kodzie i w bazie, z testami, a logowanie i role obejmują także osoby spoza firmy. Koszt budowy zależy od liczby ról, reguł i integracji, a nie od liczby kont.
Cenniki i przepisy się zmieniają. Linki do źródeł są na dole strony.
| Opcja | Kiedy wystarczy | Granica według dokumentacji | Model kosztu |
|---|---|---|---|
| Uporządkowany Excel we współtworzeniu | Kilka osób, proste dane, potrzebna jedna wersja pliku. | Przy konflikcie zwykle wygrywa ostatni zapis. Brak uprawnień do wierszy. Makra VBA nie działają w przeglądarce. | W ramach Microsoft 365. |
| Microsoft Lists lub lista SharePoint | Rejestr zespołu: zgłoszenia, sprzęt, wnioski. | Do 30 mln elementów, ale próg widoku to około 5 tys. Import z Excela do 5 tys. wierszy. | W ramach Microsoft 365. |
| Power Apps | Formularze, akceptacje i ekrany na telefon na danych z Microsoft 365. | Zapytanie niedelegowane obejmuje 500 rekordów, najwyżej 2 tys. Łącznik SQL Server jest łącznikiem premium. | Power Apps Premium: 17,30 € za użytkownika miesięcznie przy płatności rocznej, bez VAT. |
| Airtable | Baza z powiązanymi tabelami, formularzami i widokami dla zespołu. | Free: 1 tys. rekordów w bazie. Team: 50 tys. Business: 125 tys. | Team 20 USD, Business 45 USD za współpracownika miesięcznie przy płatności rocznej. |
| Google AppSheet | Aplikacja, także na telefon, na arkuszu Google albo pliku Excel w chmurze. | Wbudowana baza AppSheet: 2500 wierszy w planach Starter i Core, 200 tys. w Enterprise Plus. | Starter 5 USD, Core 10 USD, Enterprise Plus 20 USD za użytkownika miesięcznie. |
| Baza danych, Excel tylko do odczytu | Dużo danych, kilka źródeł, raporty dla wielu osób. | Baza nie ma ekranów do wpisywania danych. Potrzebny formularz albo aplikacja. | Serwer bazy i praca przy wdrożeniu. |
| Aplikacja webowa na zamówienie | Proces z regułami, rolami, klientami spoza firmy i integracjami. | Granice wyznacza projekt i budżet, nie licencja narzędzia. | Budowa i utrzymanie, bez opłaty za każde konto użytkownika. |
Jak wygląda przeniesienie procesu z arkusza na przykładzie wniosków zakupowych?
Różnicę najłatwiej zobaczyć na jednym procesie. Weźmy rejestr wniosków zakupowych, w którym pracownik dopisuje wiersz, kierownik koloruje komórkę na zielono, a księgowość odhacza płatność w osobnej kolumnie.
Każdy element takiego arkusza ma odpowiednik w bazie danych i w aplikacji. Kroki poniżej pokazują, co dzieje się z kolumnami, kolorami, ukrytymi arkuszami i mailami. Ten sam rejestr wraca niżej w szkicu SQL oraz na diagramie procesu w części o aplikacji na zamówienie.
Taki proces zbudujesz w kilku z opisanych narzędzi, ale w różnym stopniu. W Microsoft Lists z formularzem w Power Apps pola, statusy i powiadomienia zrobisz bez programisty, tyle że reguła „pracownik widzi tylko swoje wnioski” wymaga osobnych uprawnień do każdego elementu, a Microsoft zaleca ich najwyżej 5000 na listę. W bazie danych z aplikacją ta sama reguła to jedna polityka w bazie albo jeden warunek w kodzie, niezależnie od liczby wniosków.
- Kolumny stają się polami z regułamiKwota netto dostaje typ liczbowy i warunek „większa od zera”, dział i status pochodzą ze słownika, a numer wniosku nadaje system, nie człowiek.
- Kolor komórki staje się statusemZamiast zielonego wypełnienia kierownik wybiera „Zatwierdź” albo „Odrzuć” i dopisuje komentarz, który zostaje przy wniosku.
- Dziennik zmian zastępuje brak historiiKażda zmiana kwoty i statusu trafia do osobnej tabeli z nazwą użytkownika, godziną i treścią wiersza po zmianie.
- Role zastępują ukryte kolumnyPracownik widzi swoje wnioski, kierownik wnioski działu, księgowość zatwierdzone. Nikt nie dostaje pliku z całością.
- Powiadomienie zastępuje mail z załącznikiemPo zmianie statusu pracownik i księgowość dostają wiadomość z linkiem, a dane nie wychodzą z systemu jako plik.
- Raport zostaje w ExceluKsięgowość odświeża tabelę przestawną z widoku w bazie przez konto tylko do odczytu, zamiast co tydzień wklejać kopię.
Jak przenieść proces z arkusza do nowego systemu bez przestoju?
Bez przestoju przejdziesz dzięki pracy równoległej: nowy system działa obok arkusza, dopóki liczby się zgadzają. Plik przechodzi w tryb tylko do odczytu dopiero wtedy, gdy nikt go już nie potrzebuje do bieżącej pracy.
Czas przejścia zależy od wybranej drogi. Według pomocy Microsoftu listę w Microsoft Lists tworzysz z tabeli Excela w jednym kroku, o ile tabela ma do 5000 wierszy. Przy bazie danych i aplikacji pisanej pod proces pracę równoległą kończysz dopiero wtedy, gdy kilka cotygodniowych porównań sum się zgadza, więc licz co najmniej tyle tygodni, ile porównań chcesz zobaczyć. Czas budowy samej aplikacji zależy od liczby ról i integracji, dlatego podaję go po rozpisaniu zakresu, a nie z góry.
Zacznij od pomiaru, nie od wyboru narzędzia. Licz czynności, które istnieją tylko dlatego, że dane żyją w pliku: sklejanie wersji z poczty, szukanie aktualnego pliku, poprawianie formuł po wklejeniu, ręczne przypomnienia o akceptacji. Nie licz pracy, która zostanie także w aplikacji, na przykład samego wpisania wniosku. Wynik z kalkulatora pod listą to Twoja liczba, a nie obietnica oszczędności. Jak zestawić ją z kosztem budowy i utrzymania, opisuję w przewodniku czy automatyzacja się opłaca.
Nie przenoś arkusza jeden do jednego. Kolumny w rodzaju „uwagi 2” albo „stary status” są zwykle śladem obejść, a nie potrzebą procesu. Lepiej zapytać, jaką decyzję podejmuje osoba patrząca na wiersz, i zaprojektować ekran pod tę decyzję. Pracę równoległą kończ na podstawie liczb, a nie kalendarza: jeśli sumy z aplikacji i z arkusza zgadzają się przez kilka kolejnych porównań, a zespół nie wraca do pliku, można go zamknąć.
- Zmierz czas wokół plikuPrzez tydzień zapisuj minuty i liczbę powtórzeń każdej czynności, która istnieje tylko przez arkusz. Średnie wpisz do kalkulatora, a w polu „Ile osób to robi” podaj, ile osób faktycznie to robi.
- Spisz arkusze i ich właścicieliPrzy każdym pliku: kto go używa, do czego, jak często i jakie dane osobowe zawiera. Zacznij od procesu, który boli najbardziej.
- Uzgodnij identyfikatory i słownikiKażdy rekord potrzebuje stałego identyfikatora, a statusy i kategorie ustalonej listy. Na tym etapie wychodzą duplikaty i rozjazdy między kopiami.
- Oczyść dane na kopiiZrób import próbny z kopii arkusza. Wiersze odrzucone przez reguły bazy to lista do decyzji człowieka, a nie błąd importu do ukrycia.
- Pracuj równoleglePrzez ustalony okres nowe wpisy trafiają do aplikacji, a raz w tygodniu porównujesz z arkuszem sumy i liczbę rekordów.
- Ustal dzień przejściaOd tej daty arkusz jest tylko do odczytu i ma w nazwie słowo „archiwum”, a nowe dane trafiają wyłącznie do aplikacji.
- Podłącz Excel do nowych danychRaporty, do których zespół jest przyzwyczajony, zostają w Excelu, ale czytają dane z bazy, a nie z kopii.
Policz na swoich liczbach
Minuty × powtórzenia × osoby, przeliczone na miesiąc i rok: 52 tygodnie, a „dziennie” to 5 dni roboczych w tygodniu. Tyle czasu wraca do ludzi na klientów, sprzedaż, naukę albo spokojniejszy dzień, jeśli tę czynność przejmie automat, a człowiek zostanie tam, gdzie trzeba ocenić lub zatwierdzić.
Microsoft Lists i Power Apps: co dostajesz w Microsoft 365, a za co płacisz osobno
Jeśli firma ma już Microsoft 365, Lists i Power Apps są najbliższym krokiem. Obie drogi mają jednak progi, które lepiej znać przed importem pierwszego arkusza.
Microsoft Lists działa na tej samej platformie co listy SharePoint. Listę założysz bezpośrednio z pliku Excel: nagłówki tabeli stają się kolumnami, a wiersze elementami listy. Według pomocy Microsoftu import obejmuje tabele do 5000 wierszy, a typy kolumn trzeba po imporcie sprawdzić, bo program dobiera je według zawartości. Uwaga na dane osobowe: plik wgrany z komputera trafia do biblioteki zasobów witryny (Site Assets), więc inne osoby mogą zobaczyć oryginalny arkusz.
Według limitów SharePoint w Microsoft 365 lista może mieć do 30 milionów elementów, ale próg widoku listy wynosi około 5000 elementów i w SharePoint Online nie da się go zmienić. Duże listy obsługuje się indeksami i filtrowanymi widokami. Uprawnienia można nadać pojedynczym elementom, przy czym Microsoft podaje obsługiwany limit 50 000 unikalnych uprawnień na listę i zalecany ogólny limit 5000. Jeśli każdy rekord dostaje osobne uprawnienia, kilkaset rekordów mieści się w zalecanym limicie 5000, a kilkadziesiąt tysięcy już go przekracza.
Power Apps pozwala zbudować formularze, ekrany na telefon i akceptacje. Według przeglądu licencji Power Platform plan Power Apps dla Microsoft 365 pozwala tworzyć i uruchamiać aplikacje na danych z Microsoft 365 i na usługach podłączonych standardowymi łącznikami, ale nie obejmuje łączników premium, łączników niestandardowych ani dostępu do danych lokalnych. Dokumentacja łącznika SQL Server podaje dla Power Apps klasę Premium, więc aplikacja na firmowej bazie SQL wymaga planu z łącznikami premium, na przykład Power Apps Premium. W polskim cenniku Microsoftu ten plan kosztuje 17,30 € za użytkownika miesięcznie przy płatności rocznej, bez VAT.
Najmniej oczywisty próg to delegowanie zapytań. Według dokumentacji Microsoftu Power Apps przekazuje zapytanie do źródła danych tylko wtedy, gdy źródło je rozumie. Jeśli nie rozumie, aplikacja pobiera pierwsze 500 rekordów, a po zmianie ustawienia najwyżej 2000, i dopiero na nich wykonuje filtr albo sumę. Dokumentacja podaje przykład: rekord numer 501 nie zostanie znaleziony, a średnia policzy się tylko z pierwszych 500 wierszy. Wśród popularnych źródeł obsługujących delegowanie Microsoft wymienia Dataverse, SharePoint, SQL Server i Salesforce; Excela na tej liście nie ma. Aplikacja zbudowana na arkuszu może więc działać poprawnie w testach na małym pliku i zwracać niepełne wyniki, gdy plik urośnie. Dokumentacja łącznika Excel Online (Business) dodaje dwa ograniczenia: obsługuje on pliki do 25 MB, a jednoczesny zapis do jednego pliku z Excela, Power Automate i Power Apps nie jest obsługiwany i może skończyć się niespójnymi danymi.
Moja rada: Lists sprawdzi się jako rejestr działu, a Power Apps jako formularz do niego, dopóki dane zostają w Microsoft 365. Gdy w grę wchodzi baza SQL, klienci spoza firmy albo licencja Premium dla kilkunastu osób, policz koszt narzędzia obok kosztu aplikacji pisanej.
Airtable i Google AppSheet: baza w przeglądarce bez programisty
Narzędzia no-code dają powiązane tabele, formularze i widoki bez pisania kodu. Rachunek rośnie jednak z liczbą osób, które edytują dane, a limity rekordów są niższe, niż sugeruje hasło „arkusz na sterydach”.
Airtable rozlicza płatne plany za współpracownika. Według opisu planów w centrum pomocy Airtable w planie Team płacisz za każdą osobę z prawem komentowania lub wyższym, a w samoobsługowym planie Business za każdą z prawem edycji lub wyższym; osoby tylko do odczytu, wypełnione formularze i linki do udostępnienia rachunku nie podnoszą. Plan Free mieści 1000 rekordów w bazie, 5 osób z prawem edycji i 2 tygodnie historii zmian. Team kosztuje 20 USD za współpracownika miesięcznie przy płatności rocznej albo 24 USD przy miesięcznej i mieści 50 000 rekordów w bazie oraz rok historii. Business to 45 USD albo 54 USD i 125 000 rekordów. Limit rekordów dotyczy całej bazy, czyli wszystkich jej tabel razem.
Przy wyjściu z Airtable licz się z pracą. Eksport odbywa się do pliku CSV z widoku siatki, osobno dla każdej tabeli, bo eksportu całej bazy jednym plikiem nie ma. Powiązania między tabelami odtwarzasz potem po stronie nowego systemu.
Google AppSheet buduje aplikację, także na telefon, na danych z Arkuszy Google albo z plików Excel w Microsoft 365, Dropboxie czy Boxie. Według cennika AppSheet prototyp przetestujesz bezpłatnie z maksymalnie 10 użytkownikami, a plany kosztują 5 USD (Starter), 10 USD (Core) i 20 USD (Enterprise Plus) za użytkownika miesięcznie, a AppSheet Core według Google jest w większości płatnych planów Google Workspace. Wbudowana baza AppSheet mieści 2500 wierszy w planach Starter i Core oraz 200 000 w Enterprise Plus.
Przy AppSheet zwróć uwagę na liczenie użytkowników. Licencję kupujesz dla każdego użytkownika, także gościa bez logowania, a gościa AppSheet liczy według urządzenia: pracownik, który otworzy aplikację bez logowania na dwóch urządzeniach, to dwóch użytkowników.
W obu narzędziach pamiętaj o RODO. Jeśli w bazie są dane klientów lub pracowników, dostawca przetwarza je w Twoim imieniu, a art. 28 RODO wymaga wtedy umowy albo innego instrumentu prawnego, który określa między innymi przedmiot, czas trwania, charakter i cel przetwarzania. Zanim zaimportujesz listę klientów, sprawdź warunki powierzenia u dostawcy i miejsce przechowywania danych.
Baza danych zamiast Excela: co daje i jak dalej liczyć w arkuszu
Baza danych sama pilnuje swoich reguł, a w arkuszu wszystko zależy od uważności osoby, która wpisuje dane. Excel nadal się przyda: łączysz go z bazą tylko do odczytu i liczysz w nim tak jak dotąd.
Relacyjna baza, na przykład PostgreSQL, przechowuje dane w tabelach z regułami. Według dokumentacji PostgreSQL próba zapisania wartości, która łamie ograniczenie, kończy się błędem, nawet jeśli wartość pochodzi z ustawienia domyślnego. Nie ma znaczenia, czy wiersz przyszedł z formularza, z importu czy z innego programu. Tego Excel nie zapewni, bo jego reguły nie obejmują wklejania.
Trzy rzeczy, których brakuje arkuszowi, baza daje wprost. Reguły danych: kwota musi być dodatnia, numer wniosku unikalny, status z listy dozwolonych. Historię zmian: wyzwalacz zapisuje do osobnej tabeli każdą operację z czasem i nazwą użytkownika. Uprawnienia do wierszy: po włączeniu zabezpieczeń na poziomie wierszy (row-level security) użytkownik widzi i zmienia tylko wiersze dopuszczone przez politykę, a gdy polityki nie ma, nie widzi niczego.
Poniżej szkic dla rejestru wniosków zakupowych, który wcześniej żył w arkuszu. Uruchamiaj go na kopii bazy; to ilustracja mechanizmów, a nie gotowy system.
Reguła widoczności w tym szkicu opiera się na koncie bazy, którym łączy się użytkownik. To pasuje, gdy każda osoba ma własne konto, na przykład przy podglądzie danych z Excela. W aplikacji webowej ludzie logują się zwykle do aplikacji, a nie do bazy, więc tę samą regułę zapisuję w warstwie aplikacji i testuję na kontach z różnymi rolami. Według dokumentacji PostgreSQL właściciel tabeli i superużytkownik domyślnie omijają polityki wierszy, dlatego test robię na zwykłym koncie, a nie na koncie administratora.
Excel zostaje narzędziem do analiz. Łączysz go z bazą przez Power Query kontem, które może tylko czytać widok; jak to zrobić krok po kroku i jak ustawić odświeżanie, opisuję w przewodniku Excel połączony z bazą danych SQL. Jeśli zestawienie ma przychodzić samo, w ustalonym rytmie, zajrzyj do przewodnika raport z bazy danych dla firmy.
Sama baza nie wystarczy, bo ludzie potrzebują ekranu do wpisywania danych: formularza w aplikacji webowej albo w narzędziu no-code podłączonym do bazy. Bez niego ludzie wracają do wklejania danych z arkusza, tym razem prosto do bazy.
-- Słownik statusów zamiast tekstu wpisywanego z ręki
CREATE TABLE status_wniosku (
kod text PRIMARY KEY,
nazwa text NOT NULL
);
CREATE TABLE wniosek_zakupowy (
id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
numer text NOT NULL UNIQUE,
dzial text NOT NULL,
wlasciciel text NOT NULL, -- konto osoby, która złożyła wniosek
kwota_netto numeric(12,2) NOT NULL CHECK (kwota_netto > 0),
status text NOT NULL REFERENCES status_wniosku (kod)
);
-- Historia: kto, kiedy i co zmienił
CREATE TABLE wniosek_historia (
operacja char(1) NOT NULL,
kiedy timestamptz NOT NULL,
kto text NOT NULL,
wiersz jsonb NOT NULL
);
CREATE FUNCTION zapisz_historie() RETURNS trigger AS $$
BEGIN
IF (TG_OP = 'DELETE') THEN
INSERT INTO wniosek_historia VALUES ('D', now(), current_user, to_jsonb(OLD));
ELSE
INSERT INTO wniosek_historia VALUES (left(TG_OP, 1), now(), current_user, to_jsonb(NEW));
END IF;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER wniosek_historia
AFTER INSERT OR UPDATE OR DELETE ON wniosek_zakupowy
FOR EACH ROW EXECUTE FUNCTION zapisz_historie();
-- Każdy widzi i zmienia tylko swoje wnioski, rola kierownik widzi wszystkie
ALTER TABLE wniosek_zakupowy ENABLE ROW LEVEL SECURITY;
CREATE POLICY wlasne_wnioski ON wniosek_zakupowy
USING (wlasciciel = current_user);
CREATE POLICY kierownicy ON wniosek_zakupowy TO kierownik
USING (true);
Kiedy aplikacja webowa na zamówienie, a nie kolejne narzędzie no-code?
Aplikacja pisana pod proces ma sens, gdy proces ma własne reguły, dotyczy ludzi spoza firmy albo łączy się z innymi systemami. Wtedy dopasowywanie gotowego narzędzia kosztuje więcej niż zbudowanie ekranów pod sposób pracy.
Nie każdy z poniższych punktów przesądza sprawę. Jeden zwykle da się obejść w Lists albo w Airtable. Kiedy spełnione są dwa lub trzy naraz, aplikacja przestaje być luksusem, a w perspektywie kilku lat warto porównać jej koszt z sumą abonamentów. Jak policzyć budżet i co go podnosi, opisuję w przewodniku ile kosztuje aplikacja webowa, a o tym, jak zacząć od jednej funkcji zamiast całego systemu, w tekście o koszcie i zakresie MVP.
Rejestr wniosków zakupowych z przykładu wyżej dobrze pokazuje tę granicę. Dopóki wniosków jest kilkaset, a widzą je tylko pracownicy, wystarczy lista z formularzem. Gdy dochodzą progi akceptacji zależne od budżetu działu, dostawcy logujący się z zewnątrz i eksport do programu księgowego, łatwiej napisać ekrany pod proces. W obu wariantach o pieniądzach dalej decyduje człowiek.
- Licencja za każdego użytkownikaPrzy kilkunastu osobach z prawem edycji abonament no-code rośnie z każdym nowym pracownikiem. Własna aplikacja kosztuje utrzymanie, ale nie nalicza opłaty za konto.
- Klienci i podwykonawcy w procesieGdy dane wpisuje ktoś spoza firmy, potrzebujesz logowania, ról i widoku tylko jego spraw. Taki przypadek opisuję w przewodniku o panelu klienta B2B.
- Reguły, które dotyczą pieniędzyProgi akceptacji, rabaty, rozliczenia. Takie reguły powinny siedzieć w kodzie i w bazie, z testami, a nie w formule, którą ktoś może nadpisać.
- Integracje z innymi systemamiKsięgowość, magazyn, sklep, bank. Każde przepisywanie między nimi to miejsce na błąd; piszę o tym w tekście o przepisywaniu danych między programami.
- Własność danych i koduDane w Twojej bazie, kod w Twoim repozytorium. Zmiana wykonawcy nie oznacza eksportu każdej tabeli osobno do CSV.
- 01 · StartPracownik składa wniosekFormularz z działem, kwotą netto, dostawcą i załącznikiem. Bez pól obowiązkowych wniosek się nie zapisze.aplikacja webowa
- 02 · AutomatSprawdzenie i przypisanieSystem sprawdza budżet działu, nadaje numer i kieruje wniosek do kierownika według działu i progu kwoty.PostgreSQL
- 03 · CzłowiekKierownik zatwierdza lub odrzucaWidzi wniosek, budżet i wcześniejsze zakupy u dostawcy. Decyzja i komentarz zostają przy wniosku.
- 04 · AutomatPowiadomienie i wpis do historiiPracownik i księgowość dostają wiadomość, a każda zmiana statusu trafia do historii z nazwiskiem i godziną.e-mail
- 05 · EfektJeden rejestr bez wersji w poczcieKsięgowość pobiera zatwierdzone wnioski do Excela przez połączenie tylko do odczytu i liczy jak dotąd.
Odzyskany czasKierownik rozmawia z dostawcami o warunkach i terminach, zamiast szukać w poczcie, która wersja arkusza ma aktualny status wniosku.
Dane osobowe w arkuszu: co z tego wynika według RODO
Arkusz z danymi klientów lub pracowników wysyłany mailem to jeden z najprostszych sposobów na naruszenie ochrony danych. RODO nie zakazuje Excela, ale wymaga zabezpieczeń, które w pliku trudno zapewnić.
Art. 5 ust. 1 lit. f RODO wymaga przetwarzania danych w sposób zapewniający odpowiednie bezpieczeństwo, w tym ochronę przed niedozwolonym przetwarzaniem i przypadkową utratą. Art. 5 ust. 2 dodaje, że administrator musi umieć wykazać przestrzeganie tych zasad. Art. 25 ust. 2 mówi o domyślnej ochronie danych: środki techniczne mają zapewnić, by dane domyślnie nie były udostępniane bez interwencji danej osoby nieokreślonej liczbie osób fizycznych. Plik z pełną listą klientów, udostępniony całemu działowi linkiem, trudno z tym pogodzić.
Art. 32 wymienia wśród środków bezpieczeństwa między innymi zdolność do szybkiego przywrócenia dostępności danych po incydencie oraz regularne testowanie skuteczności zabezpieczeń. Historia wersji w chmurze i kopie zapasowe bazy ze sprawdzonym odtworzeniem są tu konkretnym argumentem, plik na pulpicie jednego komputera nie jest.
Dane z urzędu pokazują, gdzie leży ryzyko. Według sprawozdania Prezesa UODO za 2025 r. do urzędu wpłynęło 22 435 zgłoszeń naruszeń ochrony danych, wobec 14 842 rok wcześniej, a do najczęściej zgłaszanych należało nieprawidłowe zaadresowanie korespondencji, tradycyjnej i elektronicznej. Arkusz z danymi wysłany do niewłaściwej osoby to dokładnie ten przypadek. Art. 33 RODO każe zgłosić naruszenie organowi nadzorczemu bez zbędnej zwłoki, w miarę możliwości w ciągu 72 godzin od jego stwierdzenia, chyba że jest mało prawdopodobne, by skutkowało ryzykiem dla praw lub wolności osób.
Aplikacja z rolami nie załatwia RODO za Ciebie, ale zmienia punkt wyjścia: dane nie wychodzą z systemu jako załącznik, każdy widzi tylko swój zakres, a dziennik zmian pokazuje, kto co zrobił. Szerzej o obowiązkach małej firmy piszę w przewodniku AI Act i RODO w małej firmie.
Co zostaje w arkuszach po przejściu na nowy system?
Excel zostaje w firmie, zmienia się tylko jego rola: z miejsca, w którym prowadzisz proces, staje się narzędziem do liczenia na danych, które leżą gdzie indziej.
Dobre wdrożenie to dla mnie takie, po którym nikt nie tęskni za arkuszem do prowadzenia procesu, a każdy dalej może otworzyć Excel, żeby coś policzyć. Jeśli po przejściu przez ten tekst uznasz, że wystarczy uporządkować plik i włączyć współtworzenie, to też jest dobra decyzja.
Buduję aplikacje webowe w Angularze albo w React z Next.js, z logiką w TypeScript i danymi w PostgreSQL, a Excel podłączam do nich tylko do odczytu. Prowadzę JFlow Labs sam, pracuję z Mikołowa, zdalnie w całej Polsce. Jeśli chcesz sprawdzić, czy Twój arkusz to już ten moment, napisz, jaki proces w nim prowadzisz, ile osób go edytuje, jak często się zmienia i z jakimi systemami wymienia dane. Odpowiadam w ciągu jednego dnia roboczego. Zakres prac opisuję na stronie aplikacje webowe, a widełki są w cenniku.
- Analizy doraźneJednorazowe pytania zarządu, porównanie wariantów, model cenowy. Do tego arkusz zwykle jest szybszy niż system.
- Modele i kalkulacje roboczeBudżet na przyszły rok, symulacja marży. Gdy reguła się ustabilizuje i zaczną z niej korzystać inni, można ją przenieść do aplikacji.
- Raporty na danych z bazyTabela przestawna odświeżana z widoku w bazie przez konto tylko do odczytu, zamiast kopii wklejanej co tydzień.
- Eksporty dla księgowości i kontrahentówAplikacja tworzy plik, gdy ktoś go potrzebuje, zamiast być tym plikiem na co dzień.
Pytania i odpowiedzi
Kiedy Excel przestaje wystarczać w firmie?
Excel przestaje wystarczać, gdy kilka osób prowadzi w nim proces: przyjmuje zamówienia, zatwierdza wydatki, pilnuje terminów. Typowe objawy to wersje pliku w poczcie, konflikty przy jednoczesnej edycji, brak odpowiedzi na pytanie, kto zmienił daną wartość, i dane osobowe widoczne dla wszystkich. Sam rozmiar pliku rzadko jest powodem, bo arkusz Excela mieści ponad milion wierszy.
Czy Excel może być bazą danych?
Excel może przechowywać dane w tabelach, ale nie pilnuje reguł tak jak baza danych. Sprawdzanie poprawności danych w Excelu działa tylko przy ręcznym wpisywaniu, a wklejone wartości je omijają, podczas gdy baza taka jak PostgreSQL odrzuca każdy wiersz łamiący ograniczenie. Excel nie daje też uprawnień do pojedynczych wierszy. Dla jednej osoby i prostych danych to wystarcza, dla procesu prowadzonego przez kilka osób zwykle nie.
Ile wierszy ma Excel?
Arkusz Excela mieści 1 048 576 wierszy i 16 384 kolumny według specyfikacji Microsoftu dla Excela dla Microsoft 365 i wersji od 2016 do 2024. Liczby Excel przechowuje z dokładnością do 15 cyfr, więc długie numery, na przykład rachunków bankowych, trzeba zapisywać jako tekst.
Czy kilka osób może jednocześnie edytować plik Excel?
Tak, przez współtworzenie, jeśli plik leży w OneDrive, OneDrive dla Firm albo SharePoint Online, a wszyscy używają wersji Excela, która je obsługuje, na przykład Excela dla Microsoft 365 lub Excela w przeglądarce. Lokalne witryny SharePoint współtworzenia nie obsługują. Gdy dwie osoby zmienią ten sam element, zwykle obowiązuje zmiana zapisana jako ostatnia.
Czy Excel pokazuje, kto zmienił komórkę?
Tak, w Excelu dla Microsoft 365 funkcja Pokaż zmiany pokazuje, kto, gdzie i kiedy zmienił dane, razem z poprzednią wartością komórki, do 365 dni wstecz. Do tego dochodzi historia wersji pliku w OneDrive i SharePoint. To podgląd w pliku, a nie osobna tabela historii, którą w bazie danych można przeszukiwać zapytaniami i łączyć z raportami.
Microsoft Lists czy Excel: co wybrać do rejestru zespołu?
Microsoft Lists lepiej sprawdza się jako rejestr, do którego kilka osób dopisuje elementy, bo ma formularz, widoki i uprawnienia do pojedynczych elementów. Listę założysz z tabeli Excela do 5000 wierszy. Trzeba jednak pamiętać o progu widoku listy około 5000 elementów, którego w SharePoint Online nie da się zmienić, oraz o zalecanym limicie 5000 unikalnych uprawnień na listę.
Czy LibreOffice albo Arkusze Google zastąpią Excela w firmie?
LibreOffice Calc i Arkusze Google zastępują Excela jako program do arkuszy: LibreOffice to bezpłatny pakiet biurowy open source, a Arkusze Google działają w przeglądarce. Zmieniają licencję albo miejsce pracy, ale dane dalej leżą w pliku, więc nie dają reguł danych ani uprawnień do pojedynczych wierszy. Google zaznacza, że ochrona arkusza w Arkuszach Google nie jest środkiem bezpieczeństwa. Jeśli problemem jest proces prowadzony przez kilka osób, potrzebna jest lista, baza danych albo aplikacja.
Czy Power Apps jest w cenie Microsoft 365?
Plany Microsoft 365 wymienione w przewodniku licencjonowania Power Platform obejmują Power Apps dla Microsoft 365, czyli aplikacje na danych z Microsoft 365 i usługach podłączonych standardowymi łącznikami. Łączniki premium, niestandardowe i dostęp do danych lokalnych wymagają osobnego planu, na przykład Power Apps Premium, a łącznik SQL Server jest w Power Apps łącznikiem premium. Power Apps Premium kosztuje według polskiego cennika Microsoftu 17,30 € za użytkownika miesięcznie przy płatności rocznej, bez VAT.
Ile kosztuje aplikacja zamiast Excela?
Koszt takiej aplikacji zależy od liczby ról, reguł i integracji oraz od tego, ile danych trzeba oczyścić przed migracją. Narzędzia no-code rozliczają się za użytkownika, a aplikacja pisana na zamówienie kosztuje budowę i utrzymanie. Czynniki ceny opisuję w przewodniku ile kosztuje aplikacja webowa, a widełki moich usług są w cenniku.
Jak przenieść dane z Excela do aplikacji bez przestoju?
Najbezpieczniej przez pracę równoległą: nowe wpisy trafiają do aplikacji, a arkusz działa obok, dopóki cotygodniowe porównanie sum i liczby rekordów się zgadza. Przed importem trzeba ustalić identyfikatory rekordów i słowniki statusów, bo na tym etapie wychodzą duplikaty. Arkusz przechodzi w tryb tylko do odczytu dopiero w ustalonym dniu przejścia.
Źródła
Liczby i terminy w tym przewodniku sprawdziłem w oficjalnych źródłach. Ceny i przepisy się zmieniają, więc przy decyzji warto zajrzeć do nich ponownie.
- Microsoft Support: Excel specifications and limits (wiersze, kolumny, dokładność liczb, skoroszyt udostępniony)
- Microsoft Support: współpraca nad skoroszytami programu Excel dzięki współtworzeniu
- Microsoft Support: Show changes that were made in a workbook (historia do 365 dni)
- Microsoft Support: Protection and security in Excel
- Microsoft Support: More on data validation (kopiowanie i wypełnianie omija reguły)
- Microsoft Support: Work with VBA macros in Excel for the web
- LibreOffice: pakiet biurowy open source (Calc, Base)
- Pomoc Edytorów Dokumentów Google: ochrona, ukrywanie i edytowanie arkuszy
- Microsoft Learn: SharePoint limits (elementy list, unikalne uprawnienia)
- Microsoft Support: List View Threshold for large lists and libraries
- Microsoft Support: Create a list based on a spreadsheet (import do 5000 wierszy)
- Microsoft Learn: Power Apps, delegowanie i limity zapytań
- Microsoft: licencjonowanie i ceny usługi Power Apps
- Microsoft Learn: Licensing overview for Microsoft Power Platform (Power Apps dla Microsoft 365)
- Microsoft Learn: łącznik Excel Online (Business), znane ograniczenia (pliki do 25 MB, jednoczesne zapisy)
- Microsoft Learn: łącznik SQL Server (klasa Premium w Power Apps)
- Airtable: plans overview (limity rekordów, historia, ceny planów)
- Google AppSheet: pricing
- Baserow: open source no-code database (licencja MIT, chmura lub własny serwer)
- NocoDB: interfejs arkusza dla bazy PostgreSQL lub MySQL
- Notion Help Center: Intro to databases
- EUR-Lex: rozporządzenie (UE) 2016/679 (RODO), art. 5, 25, 28, 32 i 33
- UODO: sprawozdanie z działalności Prezesa UODO w 2025 r. (naruszenia ochrony danych)
- PostgreSQL: Constraints
- PostgreSQL: Trigger Functions (wyzwalacz audytowy)
- PostgreSQL: Row Security Policies
Masz pytanie do swojego projektu?
Opisz, co chcesz osiągnąć. Odpowiem konkretnie, także wtedy, gdy najlepszą odpowiedzią jest „nie rób tego”.
Jonasz Jankowski · Bezpośrednia współpraca · Mikołów (Śląsk), zdalnie w całej Polsce
- Odpowiadam osobiście w ciągu jednego dnia roboczego.
- Krótka rozmowa o celu, funkcjach, materiałach i integracjach.
- Dostajesz zakres z etapami i konkretną kwotę, zanim cokolwiek zaczniemy.