Bałagan w arkuszu posprzątany z AI: rozjechane daty, duplikaty i formuły, których nie umiesz napisać

Jak opisać modelowi swoje dane, żeby dostać działającą formułę: czyszczenie, rozbijanie kolumn, masowa przeróbka tekstu i pięć testów wyniku.

Bałagan w arkuszu posprzątany z AI: rozjechane daty, duplikaty i formuły, których nie umiesz napisać

Najwięcej czasu w arkuszu zjada mi nie liczenie, tylko doprowadzanie danych do stanu, w którym w ogóle da się cokolwiek policzyć. Eksport z jednego systemu, wklejka z maila, lista z formularza: trzy formaty dat, cztery zapisy tej samej firmy, imię i nazwisko w jednej komórce. To jest robota, którą model wykonuje dobrze, pod warunkiem że dostanie opis danych, a nie prośbę o cud.

Dlaczego dostaję formułę, która nie działa

Prawie każda niedziałająca formuła, jaką dostałem, brała się z tego samego: opisałem, co chcę osiągnąć, ale nie opisałem, na czym model ma to zrobić. Model nie widzi mojego arkusza. Nie wie, że kolumna D to tekst wyglądający jak data, że nagłówki zaczynają się w trzecim wierszu, bo nad nimi jest logo, i że część komórek jest pusta, a część zawiera samą spację, co dla arkusza jest różnicą fundamentalną.

Druga przyczyna to milczenie o narzędziu. Excel i Arkusze Google mają różne zestawy funkcji, różne separatory argumentów i różnie zachowują się przy tablicach. Jeśli nie napiszę, w czym pracuję, w połowie przypadków dostanę formułę korzystającą z funkcji, której w moim programie nie ma, albo z przecinkami tam, gdzie mój arkusz chce średników.

Karta danych, czyli sześć zdań przed każdą prośbą

Mam stały szablon opisu. Wpisanie go zajmuje dwie minuty i zbija liczbę poprawek z pięciu do zera albo jednej.

  1. Program i ustawienia: Excel 365, Excel 2019 czy Arkusze Google, język interfejsu, separator argumentów (przecinek czy średnik).
  2. Zakres: w którym wierszu są nagłówki, od którego zaczynają się dane, ile jest wierszy.
  3. Kolumny: litera, nagłówek, typ (tekst, liczba, data) i po dwa, trzy prawdziwe przykłady wartości.
  4. Wyjątki: puste komórki, myślniki zamiast zer, słowo brak, wartości podwójne w jednej komórce.
  5. Forma wyniku: nowa kolumna obok czy podmiana w miejscu, jedna formuła do przeciągnięcia czy jedna tablicowa na całą kolumnę.
  6. Zachowanie przy danych spoza wzorca: ma zostawić pusto, zwrócić oryginał czy wpisać komunikat.
Pracuję w: Arkusze Google, interfejs polski, separator argumentów: średnik.
Dane: nagłówki w wierszu 1, dane od wiersza 2 do 4180.
Kolumny:
A „Data” (tekst): 03.02.2026 | 2026-02-03 | 3 lut 2026 | 02/03/2026
B „Klient” (tekst): Kowalski Jan | jan kowalski | KOWALSKI  JAN
C „Kwota” (tekst): 1 234,50 zł | 1234.5 | -
Wyjątki: w A około 40 komórek pustych, w C myślnik zamiast zera.
Chcę: nową kolumnę E z prawdziwą datą (typ data), jedna formuła w E2
do przeciągnięcia w dół. Nie ruszaj kolumny A.
Gdy formatu nie da się rozpoznać: zostaw pusto, nie zgaduj.
Napisz formułę, a pod nią wypisz, co robi każdy jej fragment,
i wymień formaty, których NIE obsługuje.

Ostatnia linijka jest tu najważniejsza. Lista formatów nieobsługiwanych mówi mi, czego szukać w danych, zanim uznam wynik za gotowy.

Cztery rodzaje bałaganu i co z nimi robię

Daty, które nie są datami

Najszybszy test, jaki znam, nie wymaga żadnej formuły: prawdziwa data domyślnie przykleja się do prawej krawędzi komórki, tekst do lewej. Jeśli kolumna wygląda jak schody, mam mieszankę. Zanim poproszę o cokolwiek, liczę warianty: pomocnicza kolumna z funkcją sprawdzającą, czy komórka jest liczbą, plus sortowanie po długości tekstu pokazuje mi w kilkanaście sekund, ile formatów naprawdę siedzi w tych danych.

Dopiero z tą listą idę do modelu. Prośba w stylu „napraw daty” daje formułę pod jeden format i cichą awarię na reszcie. Prośba z wypisanymi czterema wariantami i liczbą wystąpień każdego daje formułę, którą da się sprawdzić.

Osobna pułapka: format dzienno-miesięczny kontra miesięczno-dzienny. Wartość 02/03/2026 to 2 marca albo 3 lutego i nie ma sposobu, żeby model to wiedział. Muszę mu powiedzieć, z jakiego systemu pochodzi eksport i którą konwencję stosuje. Jeśli tego nie wiem, sprawdzam w danych: wystarczy znaleźć dowolny wiersz z liczbą większą niż dwanaście na pierwszej pozycji.

Duplikaty, których nie widać

Wbudowane usuwanie duplikatów porównuje znak po znaku, więc anna@firma.pl i Anna@Firma.pl ze spacją na końcu to dla niego dwa różne wpisy. Robię więc kolumnę klucza: tekst przycięty ze spacji i sprowadzony do małych liter, i dopiero po niej szukam powtórzeń.

Druga zasada jest twarda: nie kasuję duplikatów, tylko je oznaczam. Nowa kolumna z wartością pierwszy albo powtórka, filtr, przegląd okiem. Duplikat w kolumnie z mailem nie oznacza duplikatu wiersza: ten sam klient mógł złożyć dwa różne zamówienia i skasowanie drugiego kasuje pieniądze, nie bałagan.

Literówki i warianty nazw

Tu nie proszę o formułę, tylko o tabelę. Wyciągam unikalne wartości z kolumny, wklejam listę do czatu i każę zbudować dwukolumnowy słownik: wariant i forma docelowa. Taką tabelę wklejam z powrotem do arkusza i podpinam zwykłym wyszukiwaniem pionowym.

Przewaga słownika nad sprytną formułą polega na tym, że słownik da się przeczytać. Widzę każdą decyzję modelu, zanim wejdzie w dane. A decyzje bywają odważne: bez wyraźnego zakazu model połączy Nowak Transport z Nowak Transport II, bo są podobne.

Poniżej lista unikalnych nazw kontrahentów z arkusza (312 pozycji).
Zbuduj tabelę dwukolumnową: WARIANT | NAZWA DOCELOWA.

Łącz warianty TYLKO wtedy, gdy różnią się:
- wielkością liter,
- spacjami i interpunkcją,
- formą prawną (sp. z o.o., Sp. z o. o., z o.o.),
- oczywistą literówką w jednym znaku.

NIE łącz nazw różniących się cyfrą, numerem, dopiskiem oddziału
ani miastem. Takie przypadki wypisz osobno pod tabelą
jako „do decyzji człowieka” z podaniem, co je różni.

Każda z 312 pozycji ma pojawić się w tabeli dokładnie raz.
Na końcu podaj liczbę wierszy tabeli.

Lista:
[wklejam]

Znaki, których nie widać

Komórka wygląda na pustą, a nie jest. Najczęstsi winowajcy to spacja nierozdzielająca przyklejona do liczb w eksportach z systemów księgowych, złamanie wiersza w środku adresu, apostrof rozpoczynający komórkę i liczba zapisana jako tekst. Wykrywam je jedną pomocniczą kolumną z długością tekstu: jeśli wpis wygląda na pusty, a długość wynosi jeden, wiem, co się dzieje. Przy podejrzeniu liczb podaję modelowi długość i pytam, jaki znak siedzi na konkretnej pozycji, zamiast zgadywać.

Rozbijanie i łączenie kolumn

Rozbicie imienia i nazwiska po pierwszej spacji działa do pierwszego nazwiska dwuczłonowego i pierwszego tytułu przed imieniem. Dlatego regułę ustalam na przypadkach brzegowych, nie na trzech pierwszych wierszach. Do promptu wklejam najtrudniejsze wartości, jakie znajdę w kolumnie, i piszę wprost, jaki wynik chcę dla każdej z nich. Model, który dostaje oczekiwany wynik dla Anna Nowak-Kowalska, dr Jan Kowalski i Jan Maria Rokita, pisze inną formułę niż ten, który dostaje samo „rozbij na imię i nazwisko”.

Przy łączeniu pilnuję dwóch rzeczy. Po pierwsze, złączenie liczby z tekstem zamienia liczbę w tekst i po takiej operacji sumowanie przestaje działać. Po drugie, łączenie z separatorem przy pustych komórkach zostawia wiszące przecinki, więc od razu proszę o wersję pomijającą puste.

Masowa przeróbka tekstu: formuła czy wklejka

Mam dwie drogi i wybieram świadomie. Formuła jest powtarzalna i przeliczy się przy następnym eksporcie, ale nie poradzi sobie z zadaniem wymagającym rozumienia treści. Wklejka do czatu radzi sobie z sensem, ale jest jednorazowa i ma jedną poważną wadę: model potrafi po cichu skrócić listę. Dostaję 180 pozycji zamiast 200 i bez liczenia tego nie widzę.

Obejście jest proste i stosuję je zawsze. Numeruję wiersze przed wysłaniem i żądam numeru przy każdym wyniku. Potem wklejam wynik obok oryginału, dopasowuję po numerze i sprawdzam, czy któryś nie zniknął.

Poniżej 200 opisów produktów, każdy z numerem.
Dla każdego wiersza skróć opis do maksymalnie 90 znaków,
zachowując nazwę produktu i pojemność.

Zasady:
- zwróć DOKŁADNIE 200 wierszy, po jednym na wejście,
- format wiersza: numer TAB wynik,
- nie zmieniaj kolejności, nie łącz, nie pomijaj wierszy,
- jeśli wiersz jest pusty albo nieczytelny, zwróć numer i słowo BRAK,
- nie dopisuj komentarzy przed listą ani po niej,
- na końcu podaj liczbę zwróconych wierszy.

1	[...]
2	[...]

Jeszcze jedna rzecz przed wklejeniem czegokolwiek: przelatuję listę pod kątem danych osobowych i numerów, które nie powinny opuszczać firmy. Nazwiska klientów, adresy, numery dokumentów. Jeśli do zadania nie są potrzebne, zostawiam te kolumny w arkuszu i wysyłam tylko to, co model musi zobaczyć. To nie jest porada prawna, tylko nawyk, który kosztuje pół minuty.

Formuła, której nie umiem napisać

Stosuję dwie zasady i obie wzięły się z kilku zmarnowanych wieczorów.

Zasada jednej komórki. Najpierw proszę o formułę do jednej komórki, sprawdzam ją ręcznie na trzech wierszach i dopiero wtedy każę zamienić ją na wersję obejmującą całą kolumnę. Formuła tablicowa, która liczy źle, liczy źle w czterech tysiącach wierszy naraz i trudniej wtedy zobaczyć, gdzie się psuje.

Zasada warstw. Nie proszę o jedną formułę robiącą pięć rzeczy. Proszę o pięć kolumn pomocniczych, po jednej operacji w każdej: przytnij spacje, wytnij kod pocztowy, zamień przecinek na kropkę, dopasuj nazwę ze słownika, policz różnicę. Każdą oglądam osobno. Dopiero gdy wszystkie są dobre, każę je zwinąć w jedną formułę i porównuję wynik zwinięty z wynikiem warstwowym. Muszą być identyczne co do znaku.

Do tego jedno pytanie, które zadaję przy każdej formule: co ta formuła zwróci, gdy komórka źródłowa jest pusta, zawiera tekst zamiast liczby albo zawiera wartość spoza wzorca. Odpowiedź mówi mi, czy formuła się przyzna do porażki, czy po cichu zgadnie.

Pięć testów, zanim zaufam wynikowi

TestJak go robięCo łapie
Licznik wierszyLiczba niepustych w kolumnie źródłowej i wynikowej, przed i poZgubione i zdublowane wiersze
Suma kontrolnaSuma kwot przed czyszczeniem i po nimZjedzone przecinki dziesiętne, ucięte końcówki, minusy
Trzy skrajnościSortuję po długości tekstu i oglądam najkrótszą, najdłuższą i najdziwniejszą wartośćPrzypadki brzegowe, pod które formuła nie była pisana
Losowe dziesięćDziesięć wierszy z różnych miejsc arkusza sprawdzonych okiemCiche podmiany i przesunięcia o jeden wiersz
Test śmieciaWpisuję celowo bzdurę w komórkę źródłową i patrzę na wynikFormuły, które zgadują zamiast zwrócić pustkę lub błąd

Do tego trzy nawyki, które nic nie kosztują: kopia pliku przed operacją, wynik zawsze w nowej kolumnie (nigdy nadpisanie oryginału), kolumna źródłowa zostaje do samego końca zadania. Kasuję ją dopiero wtedy, gdy wynik przeszedł wszystkie pięć testów.

Czego model nie zrobi za mnie

  • Nie wie, czy Kowalski J. to ten sam klient co Kowalski Jan. Zgadnie, i będzie brzmiał przy tym bardzo pewnie.
  • Nie odróżni kwoty netto od brutto, jeśli nagłówek tego nie mówi.
  • Nie wie, że w lipcu zmienił się format eksportu i od połowy pliku dane wyglądają inaczej.
  • Nie widzi scalonych komórek, ukrytych wierszy ani aktywnego filtra, a każda z tych rzeczy zmienia to, co obejmie przeciągnięta formuła.
  • Nie wie, które wiersze są ważne. Błąd w jednej fakturze na dwieście to dla modelu margines, dla mnie telefon od klienta.

Sprzątanie danych z AI oszczędza mi kilka godzin tygodniowo i wcale nie dlatego, że model jest mądrzejszy ode mnie w Excelu. Dlatego, że pisze bez znudzenia formuły, których napisanie zajęłoby mi czterdzieści minut szukania w dokumentacji. Cała reszta, czyli decyzja, co jest duplikatem, co jest tą samą firmą i co znaczy pusta komórka, zostaje po mojej stronie i tak ma zostać.

Tekst powstał z pomocą AI i został zredagowany przez człowieka.

$ udostępnij X in
Piotr Olszewski
Piotr Olszewski

Piszę maistry.pl. AI po polsku, konkretnie i bez owijania. Codziennie o 18:18.