Excel jest wciąż najpopularniejszym narzędziem analitycznym w polskich firmach. Raporty sprzedaży, zestawienia kosztów, listy klientów – wszystko żyje w plikach .xlsx na czyimś dysku lub w skrzynce mailowej. I prędzej czy później ktoś z zarządu pyta: "Czy możemy to zobaczyć na ładnym dashboardzie?"
Odpowiedź brzmi: tak, Data Studio potrafi wyświetlać dane z Excela. Ale droga od pliku .xlsx do działającego dashboardu jest pełna pułapek – zepsute daty, mieszane typy danych, brak automatycznego odświeżania i ograniczenia rozmiaru. Ten artykuł pokazuje trzy metody importu (od najprostszej do najbardziej niezawodnej), pięć najczęstszych problemów z konkretnymi rozwiązaniami i schemat decyzyjny, kiedy Excel w ogóle przestaje wystarczać.
Metoda 1: Konwersja do Google Sheets
Najprostsza i najczęściej stosowana metoda. Prześlij plik .xlsx na Google Drive, otwórz go jako Google Sheets, a potem podłącz arkusz do Data Studio przez natywny konektor. Brzmi banalnie – i w 80% przypadków takie jest.
Krok po kroku:
- Wgraj plik .xlsx na Google Drive (przeciągnij lub "Nowy > Prześlij plik").
- Kliknij prawym przyciskiem → "Otwórz w" → "Arkusze Google". Google skonwertuje plik do formatu Sheets.
- Sprawdź konwersję: daty, liczby, polskie znaki (ą, ę, ś – czasem giną przy konwersji plików z Windows), formuły (część formuł Excel nie ma odpowiednika w Sheets).
- W Data Studio: "Dodaj dane" → "Arkusze Google" → wybierz plik i zakładkę.
Zalety: Zero kosztów, natywny konektor Data Studio z automatycznym odświeżaniem (co ~15 minut), możliwość edycji danych bezpośrednio w przeglądarce, współdzielenie z zespołem.
Wady: Limit 10 milionów komórek na arkusz (20 kolumn × 500 000 wierszy), konwersja formuł Excel bywa niedokładna (szczególnie VLOOKUP z przybliżonym dopasowaniem, INDIRECT, makra VBA nie działają w ogóle), wolne działanie przy dużych zbiorach danych.
#ERROR!, a Data Studio interpretuje ją jako NULL. Łatwiej to wyłapać od razu niż debugować na dashboardzie.
Metoda 2: File Upload – bezpośrednie przesłanie XLSX
Data Studio ma wbudowany konektor "Prześlij plik" (File Upload), który akceptuje pliki CSV i XLSX do 100 MB. Nie musisz konwertować pliku do Sheets – przesyłasz go bezpośrednio.
Krok po kroku:
- W Data Studio kliknij "Dodaj dane" → "Prześlij plik".
- Przeciągnij plik .xlsx lub .csv.
- Data Studio automatycznie rozpozna kolumny i typy danych.
- Sprawdź i popraw typy – szczególnie kolumny dat (Data Studio często klasyfikuje je jako tekst).
Kluczowe ograniczenie: Plik przesłany przez File Upload nie odświeża się automatycznie. Jeśli dane zmieniają się co tydzień, musisz ręcznie przesłać nowy plik i podmienić źródło. Dla jednorazowego raportu to nie problem; dla raportu operacyjnego – to dyskwalifikacja.
Kiedy ta metoda ma sens? Gdy potrzebujesz szybkiego dashboardu na jednorazową prezentację, nie masz czasu na konfigurację Sheets/BigQuery, a plik jest gotowy i czysty. W praktyce – rzadko, bo większość raportów żyje dłużej niż jedno spotkanie.
Metoda 3: BigQuery – dla dużych zbiorów
Jeśli Twój Excel ma ponad 100 000 wierszy, zawiera dane z wielu zakładek, które trzeba połączyć JOIN-em, lub musisz łączyć dane z Excela z innymi źródłami (GA4, Google Ads, CRM) – BigQuery to jedyna sensowna opcja.
Krok po kroku:
- Zapisz plik jako CSV (BigQuery najlepiej radzi sobie z CSV; XLSX wymaga dodatkowego kroku przez Sheets).
- Otwórz konsolę BigQuery w Google Cloud.
- Utwórz dataset, jeśli jeszcze nie masz (np.
raporty_excel). - Kliknij dataset → "Utwórz tabelę" → Źródło: Upload → wybierz plik CSV.
- BigQuery automatycznie wykryje schemat kolumn. Sprawdź typy danych – szczególnie DATE i NUMERIC.
- W Data Studio: "Dodaj dane" → "BigQuery" → wybierz projekt, dataset i tabelę.
Zalety: Brak limitu wierszy (obsługuje miliardy), błyskawiczne zapytania nawet na dużych zbiorach, możliwość pisania SQL (JOIN, GROUP BY, okienka analityczne), darmowy tier do 10 GB storage i 1 TB zapytań miesięcznie.
Kiedy migrować: Plik > 100 000 wierszy. Potrzebujesz łączyć Excela z innymi źródłami. Wielu użytkowników jednocześnie korzysta z raportu (BigQuery skaluje się lepiej niż Sheets). Potrzebujesz transformacji SQL, których nie da się zrobić w polach obliczeniowych Data Studio.
5 typowych problemów po imporcie
Niezależnie od wybranej metody – po podłączeniu danych z Excela do Data Studio prawie zawsze pojawiają się problemy. Oto pięć najczęstszych, z konkretnymi rozwiązaniami.
| Problem | Objaw w Data Studio | Rozwiązanie |
|---|---|---|
| Daty jako liczby | Zamiast "2026-01-15" widzisz "46037" | W Sheets: zaznacz kolumnę → Format → Data. W BigQuery: DATE_ADD('1899-12-30', INTERVAL serial_number DAY) |
| Mieszane typy w kolumnie | Kolumna "Wartość" to tekst zamiast liczby; nie działa SUM() | Wyczyść źródło: usuń wiersze z tekstem (np. "N/A", "brak") i zamień na puste komórki. W Sheets zmień typ na Liczbę. |
| Polskie znaki zepsute | "Zak³ady" zamiast "Zakłady", "Ÿ" zamiast "ś" | Przy eksporcie CSV z Excela: Zapisz jako → CSV UTF-8 (nie "CSV z separatorami"). Starsze Excele domyślnie eksportują w Windows-1250. |
| Puste wiersze na końcu | Wykresy wyglądają poprawnie, ale KPI karty pokazują dziwne wartości | Excel często ma niewidoczne puste wiersze poniżej danych (komórki z formatowaniem, bez wartości). Usuń je: zaznacz cały pusty obszar → kliknij prawym → Usuń wiersze. |
| Scalenie komórek (merge) | Data Studio pomija lub niepoprawnie odczytuje scalone wiersze | Przed importem: zaznacz cały arkusz → Format → Scal komórki → Rozdziel komórki. Wypełnij puste komórki wartościami (Ctrl+D do skopiowania w dół). |
Większość tych problemów wynika z jednego źródła: Excel jest narzędziem prezentacyjnym, a Data Studio oczekuje danych tabelarycznych. Scalenia, mieszane typy, formatowanie warunkowe, wielu nagłówków – to wszystko ma sens na wydruku, ale łamie każdy konektor BI.
Złota zasada: Przed podłączeniem Excela do Data Studio, przeformatuj dane do "płaskiej tabeli" – jeden wiersz nagłówków, jeden typ danych na kolumnę, zero scalonych komórek, zero pustych wierszy. Jeśli to oznacza utratę formatowania – dobrze. Dashboard zastąpi to formatowanie czymś lepszym.
Automatyzacja: Gmail → Sheets → Data Studio
Częsty scenariusz w firmach B2B: raport sprzedażowy przychodzi mailem jako załącznik .xlsx, ktoś go ręcznie wgrywa na Drive i aktualizuje dashboard. Co tydzień. Przez 3 lata. Aż zapomni i dashboard zaczyna pokazywać dane sprzed miesiąca.
Apps Script potrafi to zautomatyzować. Poniższy skrypt przeszukuje Gmaila, wyciąga najnowszy załącznik XLSX, konwertuje go do Sheets i nadpisuje zawartość docelowego arkusza:
/**
* Pobiera najnowszy załącznik XLSX z Gmaila
* i wkleja dane do wskazanego arkusza Google Sheets.
*/
function importujExcelZGmaila() {
// Szukaj maili z załącznikiem od konkretnego nadawcy
var watki = GmailApp.search(
'from:raport@firma.pl has:attachment filename:xlsx newer_than:7d',
0, 1
);
if (watki.length === 0) {
Logger.log('Brak nowych maili z raportem.');
return;
}
var wiadomosci = watki[0].getMessages();
var ostatnia = wiadomosci[wiadomosci.length - 1];
var zalaczniki = ostatnia.getAttachments();
// Znajdź załącznik .xlsx
var xlsx = null;
for (var i = 0; i < zalaczniki.length; i++) {
if (zalaczniki[i].getName().match(/\.xlsx$/i)) {
xlsx = zalaczniki[i];
break;
}
}
if (!xlsx) {
Logger.log('Brak załącznika XLSX.');
return;
}
// Wgraj na Drive i skonwertuj do Sheets
var blob = xlsx.copyBlob();
var plik = Drive.Files.insert(
{title: 'temp_import', mimeType: MimeType.GOOGLE_SHEETS},
blob
);
// Otwórz skonwertowany arkusz
var zrodlo = SpreadsheetApp.openById(plik.id);
var dane = zrodlo.getSheets()[0].getDataRange().getValues();
// Wklej dane do docelowego arkusza
var cel = SpreadsheetApp.openById('ID_DOCELOWEGO_ARKUSZA');
var arkusz = cel.getSheetByName('Dane');
arkusz.clearContents();
arkusz.getRange(1, 1, dane.length, dane[0].length).setValues(dane);
// Usuń tymczasowy plik
DriveApp.getFileById(plik.id).setTrashed(true);
Logger.log('Zaimportowano ' + dane.length + ' wierszy.');
}
Ustaw trigger tygodniowy (np. poniedziałek o 8:00) i nigdy więcej nie musisz ręcznie wgrywać pliku. Data Studio podłączony do docelowego arkusza odświeży się automatycznie w ciągu 15 minut od aktualizacji danych.
Drive.Files.insert(), musisz włączyć usługę "Drive API" w edytorze Apps Script: Usługi (ikona +) → Drive API → Dodaj. Bez tego skrypt zwróci błąd Drive is not defined.
Drzewo decyzyjne: Sheets, BigQuery czy coś innego?
Nie każdy plik Excel powinien trafić do tego samego miejsca. Oto schemat, który stosuję przy każdym nowym projekcie:
Krok 1 – Ile wierszy?
- Do 50 000 wierszy → Google Sheets (szybkie, proste, darmowe).
- 50 000 – 500 000 wierszy → Google Sheets z uproszczonym arkuszem (usuń zbędne kolumny, formuły) lub BigQuery.
- Ponad 500 000 wierszy → BigQuery (Sheets będą zbyt wolne).
Krok 2 – Jak często się zmieniają dane?
- Jednorazowo → File Upload (najszybsza ścieżka).
- Raz w tygodniu/miesiącu → Sheets + automatyzacja Apps Script.
- Codziennie → BigQuery + Cloud Storage z automatycznym ładowaniem (lub Sheets z triggerem dziennym, jeśli dane są małe).
Krok 3 – Czy łączysz dane z innymi źródłami?
- Nie – Sheets wystarczy.
- Tak, z GA4/Google Ads → BigQuery (te źródła mają natywne eksporty do BigQuery; JOIN w SQL jest wielokrotnie szybszy niż blending w Data Studio).
- Tak, z własnym CRM/ERP → BigQuery + pipeline ETL.
Krok 4 – Ile osób korzysta z dashboardu?
- 1–5 osób → Sheets.
- 10+ osób jednocześnie → BigQuery (Sheets pod obciążeniem potrafi zwracać błędy odświeżania).
Porównanie metod importu
| Parametr | Google Sheets | File Upload | BigQuery |
|---|---|---|---|
| Koszt | $0 | $0 | $0 (free tier) do $5+/mies. |
| Auto-odświeżanie | ✅ co ~15 min | ❌ ręczne przesyłanie | ✅ natychmiastowe |
| Limit rozmiaru | 10 mln komórek | 100 MB | Brak (TB+) |
| SQL | ❌ | ❌ | ✅ pełny SQL |
| Czas setup | 5 minut | 2 minuty | 30–60 minut |
| Najlepsze dla | Małe/średnie zbiory, szybki start | Jednorazowe prezentacje | Duże zbiory, wiele źródeł, produkcja |
Dla większości polskich firm B2B ścieżka wygląda tak: zaczynasz od Google Sheets (szybko, prosto, bezpłatnie). Gdy arkusz rośnie powyżej 100 000 wierszy lub potrzebujesz łączyć dane z innymi źródłami – migrujesz do BigQuery. File Upload to opcja awaryjna na jedno spotkanie – nie na produkcję.
Niezależnie od metody, klucz to jakość danych wejściowych. Najlepszy dashboard nie pomoże, jeśli źródłowy Excel ma scalone komórki, mieszane typy i trzy wiersze nagłówków. Poświęć 30 minut na wyczyszczenie pliku przed importem – zaoszczędzisz 3 godziny debugowania na dashboardzie.