Copilot w Excelu: jak pisać prompty, żeby dostawać poprawne formuły bez złych odwołań
Jak pisać prompty do Copilota w Excelu, by generował poprawne formuły bez błędnych odwołań? Praktyczne wskazówki o tabelach, separatorach, LET, odporności na zmiany arkusza i szybkiej weryfikacji wyniku.
Dlaczego Copilot w Excelu najczęściej myli odwołania do komórek i zakresów?
Copilot najczęściej myli odwołania, ponieważ działa na opisie językowym, a nie na pełnym zrozumieniu intencji użytkownika i logiki arkusza tak, jak robi to człowiek. Jeśli w skoroszycie są podobne nagłówki, kilka tabel o zbliżonej strukturze, puste kolumny, wiersze sum lub nieregularne zakresy, model może błędnie przypisać znaczenie konkretnym komórkom albo rozszerzyć zakres na dane, które nie powinny być uwzględnione.
Drugi częsty powód to nieprecyzyjne polecenie. Gdy prompt zawiera ogólne sformułowania typu „policz sprzedaż z tej tabeli” albo „porównaj wartości z kolumny obok”, Copilot musi sam odgadnąć, która tabela jest właściwa, od jakiego wiersza zaczynają się dane i czy ma użyć całej kolumny, fragmentu zakresu czy pojedynczych komórek. W Excelu nawet niewielka niejednoznaczność prowadzi do innego odwołania, niż oczekiwane.
Błędy pojawiają się też wtedy, gdy arkusz nie ma wyraźnej struktury. Scalane komórki, nagłówki wielopoziomowe, ręcznie dopisywane podsumowania w środku danych, mieszanie tekstu i liczb w jednej kolumnie oraz brak formatowania tabelarycznego utrudniają poprawne rozpoznanie granic zakresu. W takiej sytuacji Copilot może uznać wiersz sumy za część danych albo pominąć część rekordów.
Znaczenie ma również sposób, w jaki Excel przechowuje kontekst odwołań. Formuła może wymagać odwołania względnego, bezwzględnego albo mieszanego, a Copilot nie zawsze trafnie przewiduje, czy użytkownik będzie kopiował formułę w dół, w bok albo użyje jej tylko raz. Dlatego model bywa poprawny składniowo, ale wskazuje zły zakres praktycznie.
Najważniejsze jest to, że Copilot zwykle nie „myli się” przez samą składnię Excela, tylko przez niejednoznaczny kontekst: niejasne polecenie, nieuporządkowany arkusz albo kilka możliwych interpretacji tych samych danych. Im mniej miejsca na domysły, tym mniejsze ryzyko błędnych odwołań do komórek i zakresów.
Jak opisać strukturę danych, żeby Copilot użył tabel i odwołań strukturalnych zamiast adresów A1?
Trzeba opisać dane tak, jak są zorganizowane logicznie, a nie tak, jak leżą na arkuszu. W promptcie warto jednoznacznie napisać, że zakres ma być traktowany jako Tabela programu Excel z określoną nazwą oraz że formuły mają używać odwołań strukturalnych, na przykład Sprzedaż[Kwota] albo [@Ilość], a nie adresów typu A2:A100. Jeśli tego nie doprecyzujesz, Copilot często sięga po klasyczne adresowanie komórek, bo jest ono bardziej ogólne.
Najważniejsze jest podanie trzech informacji: nazwy tabeli, nazw kolumn i relacji między nimi. Zamiast pisać „dane są w kolumnach A:D”, lepiej napisać „mam tabelę o nazwie Zamówienia z kolumnami Data, Produkt, Ilość, Cena, Wartość; użyj wyłącznie odwołań strukturalnych w tej tabeli”. Taki opis daje Copilotowi jasny model danych i zmniejsza ryzyko, że wygeneruje formułę zależną od konkretnego układu arkusza.
Jeżeli formuła ma działać w obrębie jednego wiersza tabeli, trzeba to nazwać wprost. Wtedy Copilot powinien użyć składni z operatorem wiersza bieżącego, na przykład =[@Ilość]*[@Cena], zamiast =C2*D2. Jeżeli obliczenie ma dotyczyć całej kolumny albo agregacji, warto wskazać to równie precyzyjnie, na przykład: „oblicz sumę kolumny Kwota z tabeli Sprzedaż” albo „policz średnią z Sprzedaż[Marża]”.
Pomaga też doprecyzowanie kontekstu technicznego: że dane mają nagłówki, że tabela jest już sformatowana jako tabela Excela albo że Copilot ma najpierw zamienić zakres na tabelę i nadać jej konkretną nazwę. Bez tego może uznać, że pracuje na zwykłym zakresie. Dobrą praktyką jest więc formułowanie promptów w stylu: Użyj tabeli Excel o nazwie Zamówienia. Odwołuj się tylko do kolumn po nazwach, bez adresów A1. Utwórz formułę dla kolumny Wartość jako [@Ilość]*[@Cena].
W skrócie: nie opisuj położenia komórek, tylko strukturę danych — nazwę tabeli, nazwy kolumn, typ obliczenia i wymóg używania odwołań strukturalnych. To właśnie te elementy decydują, czy Copilot wygeneruje formułę odporniejszą na zmiany układu arkusza.
Jak wymusić poprawne separatory argumentów i zgodność z polskimi ustawieniami Excela?
Trzeba jednoznacznie wskazać w poleceniu, że formuła ma być zgodna z polską konfiguracją Excela. W praktyce chodzi głównie o dwa elementy: separator argumentów i zapis liczb. W polskim Excelu najczęściej separatorem argumentów jest średnik (;), a separatorem dziesiętnym przecinek. Jeśli Copilot nie dostanie tej informacji wprost, może wygenerować formułę w stylu anglojęzycznym, na przykład z przecinkami między argumentami, co po wklejeniu do polskiego Excela spowoduje błąd.
Najbezpieczniej dopisać do promptu krótką regułę, na przykład: Zwróć formułę zgodną z polskim Excelem: użyj średników jako separatorów argumentów i formatu liczb zgodnego z polskimi ustawieniami. Jeśli chcesz uniknąć niejednoznaczności, możesz też zażądać samej finalnej formuły bez objaśnień i bez wersji alternatywnych. To ogranicza ryzyko, że model poda składnię mieszaną lub przykłady z innego ustawienia regionalnego.
Warto też odróżnić język funkcji od separatorów. W wielu środowiskach problem nie dotyczy nazw funkcji, tylko właśnie znaków rozdzielających argumenty. Dlatego samo polecenie „napisz po polsku” nie wystarcza. Skuteczniejsze jest wskazanie techniczne: użyj średników zamiast przecinków oraz zachowaj zgodność z polskimi ustawieniami regionalnymi Excela.
Jeżeli Copilot mimo to zwraca złą składnię, warto dodać warunek kontrolny wprost w poleceniu: jeśli formuła używa przecinków jako separatorów argumentów, popraw ją na średniki. Taka instrukcja działa lepiej niż ogólna prośba o „poprawną formułę”, bo definiuje konkretny test zgodności. Ostatecznie poprawność i tak najlepiej zweryfikować przez wklejenie formuły do komórki, ponieważ rzeczywiste zachowanie zależy od ustawień regionalnych systemu i samego Excela.
Jak prosić o formułę, żeby była odporna na wstawianie wierszy i zmianę układu arkusza?
W promcie trzeba wprost zaznaczyć, że formuła ma być odporna na zmiany struktury arkusza, czyli na wstawianie wierszy, przesuwanie kolumn i zmianę kolejności pól. Jeśli tego nie doprecyzujesz, model może zaproponować rozwiązanie oparte na sztywnych adresach, np. C2:C100 albo odwołaniach do „trzeciej kolumny”, które łatwo przestają działać po edycji arkusza.
Najbezpieczniej poprosić o formułę opartą na tabelach Excela i odwołaniach strukturalnych, a nie na zwykłych zakresach komórek. Odwołania typu Sprzedaz[Kwota] automatycznie rozszerzają się po dodaniu nowych wierszy i lepiej znoszą zmiany układu niż klasyczne adresy. Jeżeli dane nie są jeszcze tabelą, warto dopisać w promcie, że rozwiązanie ma zakładać konwersję zakresu do tabeli.
- Wskaż źródło danych po nazwach, nie po położeniu – napisz: „użyj kolumn
Data,Produkt,Kwotaz tabeliSprzedaz”, zamiast „weź dane z kolumn B, C i D”. - Zabroń sztywnych zakresów – dopisz: „bez zakresów typu
A2:A1000, bez odwołań zależnych od numeru kolumny lub wiersza”. - Wymagaj odporności na przebudowę arkusza – np. „formuła ma działać po wstawieniu nowych wierszy i po zmianie kolejności kolumn”.
- Poproś o krótkie uzasadnienie konstrukcji – dzięki temu łatwiej sprawdzisz, czy rozwiązanie rzeczywiście opiera się na stabilnych odwołaniach, a nie tylko wygląda poprawnie.
Praktyczny prompt może brzmieć tak: Napisz formułę dla Excela, używając odwołań strukturalnych do tabeli Sprzedaz. Nie używaj sztywnych zakresów ani odwołań do numerów kolumn. Formuła ma pozostać poprawna po dodaniu nowych wierszy i po zmianie kolejności kolumn w tabeli.
Jeśli nie da się użyć tabeli, poproś przynajmniej o rozwiązanie oparte na nazwanych zakresach lub na wyszukiwaniu kolumn po nagłówkach, a nie po pozycji. Kluczowa zasada jest prosta: w promcie opisuj nazwy pól i regułę działania, a nie aktualny układ komórek na arkuszu.
5 - Jak poprosić Copilot o wariant z LET, żeby formuła była szybsza i czytelniejsza?
Najprościej poprosić wprost o wersję formuły z funkcją LET i wskazać, które fragmenty mają zostać zapisane jako zmienne. LET pozwala nadać nazwy powtarzającym się obliczeniom lub zakresom, dzięki czemu formuła jest krótsza, łatwiejsza do sprawdzenia i często wydajniejsza, bo Excel nie musi liczyć tego samego fragmentu wiele razy.
Dobry prompt powinien zawierać trzy elementy: cel obliczenia, zakresy lub kolumny oraz polecenie, by użyć LET do nazw pośrednich. Przykład: Napisz formułę Excel z LET. Najpierw zapisz jako zmienne: zakres dat A2:A100, zakres kwot B2:B100 i wynik filtrowania dla dat z bieżącego miesiąca. Na końcu zwróć sumę. Użyj czytelnych nazw zmiennych i nie powtarzaj tych samych obliczeń.
Jeśli chcesz zwiększyć szansę na dobrą odpowiedź, doprecyzuj też, co dokładnie ma być nazwane w LET: powtarzające się wyszukania, warunki logiczne, filtrowane tablice albo długie odwołania do tabel. To ważne, bo sama prośba „zrób to przez LET” bywa zbyt ogólna. Lepsza będzie instrukcja typu: Przepisz tę formułę z użyciem LET tak, aby wynik funkcji X.WYSZUKAJ był liczony raz i używany dalej w warunku oraz w wyniku końcowym.
W praktyce warto dopisać także wymaganie dotyczące formy odpowiedzi, na przykład: Zwróć tylko gotową formułę oraz krótko wskaż, co oznaczają nazwy w LET. Dzięki temu Copilot nie tylko wygeneruje działający zapis, ale zwykle poda go w bardziej kontrolowalnej, czytelnej postaci.
- Proś o LET explicite: „użyj funkcji LET i nazw pośrednich”.
- Wskaż, co ma być zmienną: zakres, warunek, wynik wyszukania, przefiltrowana tablica.
- Zaznacz cel optymalizacji: „nie powtarzaj obliczeń”, „ma być czytelniej i szybciej”.
- Poproś o czytelne nazwy: np.
kwoty,daty,wynikFiltra.
Jeżeli Copilot zwróci formułę z LET, sprawdź jeszcze, czy nazwy w sekcji LET rzeczywiście eliminują powtórzenia, a nie tylko „opakowują” istniejącą formułę. Dobrze użyte LET upraszcza logikę i ogranicza wielokrotne liczenie tych samych fragmentów; źle użyte daje tylko dłuższy zapis bez realnej korzyści.
Jak zweryfikować formułę wygenerowaną przez Copilot, zanim trafi do modelu produkcyjnego?
Najbezpieczniej traktować formułę z Copilot jako wersję roboczą, którą trzeba sprawdzić w osobnym arkuszu testowym. Weryfikacja powinna objąć nie tylko to, czy formuła zwraca wynik, ale czy robi to poprawnie dla różnych przypadków danych i z właściwymi odwołaniami. Sama poprawność składni nie wystarcza.
Najpierw sprawdź logikę formuły: czy użyte funkcje odpowiadają rzeczywistemu celowi, czy warunki są zapisane we właściwej kolejności, czy zakres obliczeń obejmuje dokładnie te kolumny i wiersze, które powinien. Następnie zweryfikuj odwołania: czy adresy są względne lub bezwzględne zgodnie z zamiarem, czy nie ma przesunięć o jeden wiersz, odwołań do nagłówków zamiast danych albo do pustych komórek. Jeśli formuła ma działać po skopiowaniu, trzeba sprawdzić ją również po przeciągnięciu na kilka wierszy.
- Test na danych kontrolnych – uruchom formułę na małym zestawie rekordów, dla których znasz poprawny wynik ręcznie.
- Test przypadków granicznych – sprawdź puste komórki, zera, duplikaty, brak dopasowania, tekst zamiast liczby i wartości skrajne.
- Porównanie z wynikiem referencyjnym – zestaw wynik formuły z prostszym obliczeniem pomocniczym, filtrem, tabelą przestawną albo ręczną kalkulacją próbki.
- Podgląd kroków obliczenia – rozbij złożoną formułę na fragmenty i sprawdź, czy każdy element zwraca to, czego oczekujesz.
Przed wdrożeniem warto też ocenić odporność formuły. Jeśli dane źródłowe zmienią liczbę wierszy, układ kolumn albo nazwy nagłówków, formuła nie powinna zacząć zwracać błędnych wyników bez sygnału ostrzegawczego. Dlatego lepiej sprawdzić, czy opiera się na stabilnych odwołaniach, a nie na przypadkowo dobranych zakresach.
Do modelu produkcyjnego powinna trafić dopiero formuła, która przeszła testy na reprezentatywnej próbce danych, daje zgodne wyniki w kilku scenariuszach i ma zrozumiałą logikę możliwą do ręcznego prześledzenia. Jeśli nie da się łatwo wyjaśnić, co robi każdy fragment, to znaczy, że nie została jeszcze zweryfikowana wystarczająco dobrze.
Jak iterować prompt, gdy wynik jest prawie dobry, ale ma jeden krytyczny błąd?
Najlepiej nie pisać promptu od zera, tylko skorygować dokładnie ten element, który jest błędny. Jeśli wynik jest „prawie dobry”, to znaczy, że logika zadania została zrozumiana, a problem dotyczy zwykle jednego z trzech obszarów: złego zakresu, niewłaściwego typu odwołania albo błędnego warunku. W kolejnej iteracji trzeba więc wskazać błąd wprost i doprecyzować, co ma pozostać bez zmian.
Skuteczna poprawka powinna zawierać trzy części: co jest błędne, jak ma być poprawione i co należy zachować. Zamiast pisać ogólnie „to nie działa”, lepiej napisać: Formuła jest prawie poprawna, ale odwołuje się do całej kolumny zamiast do tabeli Danych[Sprzedaż]. Zachowaj obecną logikę filtrowania i popraw tylko zakres. Taka forma ogranicza ryzyko, że Copilot przebuduje całą formułę i wprowadzi nowe błędy.
- Nazwij jeden konkretny błąd: np. „używasz względnego odwołania, a potrzebne jest bezwzględne”.
- Wskaż poprawną wersję elementu: np. „zamiast A:A użyj Tabela1[Kwota]”.
- Zablokuj resztę: np. „nie zmieniaj struktury formuły, popraw wyłącznie odwołanie”.
- Poproś o wersję końcową i krótką weryfikację: np. „podaj poprawioną formułę i wskaż, do których komórek lub kolumn się odwołuje”.
Przy iteracji warto poprawiać jeden problem naraz. Jeśli w jednym komunikacie zgłosisz kilka poprawek, model może naprawić jeden błąd kosztem drugiego. Lepszy jest krótki cykl: wygenerowanie formuły, wskazanie krytycznego błędu, poprawka, szybka kontrola odwołań. To szczególnie ważne w Excelu, gdzie nawet drobna zmiana adresowania może zmienić wynik bez widocznego komunikatu o błędzie.
Jeżeli błąd dotyczy odwołań, najbezpieczniej żądać jawnego wskazania, jakie zakresy zostały użyte. Dzięki temu można od razu wychwycić, czy formuła odwołuje się do właściwej tabeli, kolumny lub wiersza. Dobra iteracja nie polega więc na „spróbowaniu jeszcze raz”, tylko na precyzyjnym zawężeniu miejsca błędu i wymuszeniu poprawki bez naruszania działających fragmentów.
Majczęściej zadawane pytania i odpowiedzi odnośnie Copilot w Excelu: jak pisać prompty, żeby dostawać poprawne formuły bez złych odwołań
Dobry prompt powinien jasno wskazywać tabelę, kolumny, typ obliczenia i sposób odwołań. Najlepiej opisać dane po nazwach, a nie po położeniu komórek. Zamiast pisać o kolumnach A, B i C, podaj nazwę tabeli oraz nagłówki i dopisz, że formuła ma używać wyłącznie odwołań strukturalnych, bez adresów A1.
Lepiej podawać nazwy tabel i kolumn, ponieważ są stabilniejsze niż adresy komórek. Adresy A1 łatwo stają się nieaktualne po dodaniu wierszy, przesunięciu kolumn albo przebudowie arkusza. Nazwana tabela i odwołania strukturalne zmniejszają ryzyko błędów oraz ułatwiają Copilotowi dopasowanie formuły do rzeczywistej logiki danych.
Najłatwiej rozpoznać to po tym, że formuła zwraca wynik, ale niezgodny z oczekiwaną logiką danych. Taki błąd często nie daje komunikatu o nieprawidłowej składni. Warto sprawdzić, czy formuła obejmuje właściwe wiersze i kolumny, nie liczy nagłówków lub sum oraz czy nie pomija części rekordów przez źle dobrany zakres.
Najczęściej problem powoduje nieuporządkowana struktura arkusza. Copilot gorzej interpretuje dane, gdy arkusz zawiera:
- scalone komórki i wielopoziomowe nagłówki,
- wiersze sum w środku danych,
- puste kolumny lub nieregularne zakresy,
- mieszanie tekstu i liczb w jednej kolumnie,
- kilka podobnych tabel obok siebie.
Trzeba wprost zażądać zgodności z polskimi ustawieniami Excela. Najlepiej dopisać, że formuła ma używać średników jako separatorów argumentów oraz formatu zgodnego z polskimi ustawieniami regionalnymi. Sama prośba o odpowiedź po polsku nie wystarcza, bo problem zwykle dotyczy separatorów, a nie języka opisu.
Warto o to poprosić wtedy, gdy formuła powtarza te same obliczenia lub jest trudna do sprawdzenia. LET pomaga nadać nazwy pośrednim wynikom i ogranicza wielokrotne liczenie tych samych fragmentów. Dzięki temu zapis jest czytelniejszy, łatwiej prześledzić logikę i szybciej wychwycić, czy Copilot poprawnie zrozumiał zadanie.
Najbezpieczniej najpierw przetestować ją w osobnym arkuszu na kontrolnych danych. Sama poprawność składni nie wystarcza, dlatego warto wykonać kilka prostych kontroli:
- porównać wynik z ręcznym obliczeniem próbki,
- sprawdzić puste komórki, zera i brak dopasowania,
- przetestować kopiowanie formuły na kolejne wiersze,
- zweryfikować, czy odwołania wskazują właściwe kolumny.
Najlepiej poprawić tylko jeden konkretny element i jasno zaznaczyć, co ma pozostać bez zmian. W kolejnej iteracji wskaż dokładnie błąd, na przykład zły zakres lub niewłaściwy typ odwołania, podaj oczekiwaną poprawkę i dopisz, że reszta logiki ma zostać zachowana. To ogranicza ryzyko przebudowania całej formuły i pojawienia się nowych pomyłek.