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:

  1. Wgraj plik .xlsx na Google Drive (przeciągnij lub "Nowy > Prześlij plik").
  2. Kliknij prawym przyciskiem → "Otwórz w" → "Arkusze Google". Google skonwertuje plik do formatu Sheets.
  3. Sprawdź konwersję: daty, liczby, polskie znaki (ą, ę, ś – czasem giną przy konwersji plików z Windows), formuły (część formuł Excel nie ma odpowiednika w Sheets).
  4. 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.

💡 Wskazówka: Po konwersji do Sheets usuń oryginalne formuły Excela i zastąp je odpowiednikami Sheets albo wartościami. Zostawienie nieprzetłumaczonych formuł to częsty powód błędów – komórka pokazuje #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:

  1. W Data Studio kliknij "Dodaj dane" → "Prześlij plik".
  2. Przeciągnij plik .xlsx lub .csv.
  3. Data Studio automatycznie rozpozna kolumny i typy danych.
  4. 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:

  1. Zapisz plik jako CSV (BigQuery najlepiej radzi sobie z CSV; XLSX wymaga dodatkowego kroku przez Sheets).
  2. Otwórz konsolę BigQuery w Google Cloud.
  3. Utwórz dataset, jeśli jeszcze nie masz (np. raporty_excel).
  4. Kliknij dataset → "Utwórz tabelę" → Źródło: Upload → wybierz plik CSV.
  5. BigQuery automatycznie wykryje schemat kolumn. Sprawdź typy danych – szczególnie DATE i NUMERIC.
  6. 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.

⚠️ Uwaga: Przy ładowaniu CSV do BigQuery upewnij się, że separator dziesiętny to kropka (.), a nie przecinek (,). Polskie Excele domyślnie używają przecinka jako separatora – BigQuery zinterpretuje "1234,56" jako tekst, nie liczbę. Przed eksportem zmień ustawienia regionalne Excela na angielskie lub użyj "Znajdź i zamień" (Ctrl+H) żeby podmienić przecinki na kropki w kolumnach numerycznych.

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.

💡 Wskazówka: Aby użyć 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.