Blog JSystems - uwalniamy wiedzę!

Szukaj

Power Query w Excelu, Power BI i Fabric

Expression.Error: Nie możemy zastosować operatora + dla typów Text i Number

W skrócie

  • Komunikat „Nie możemy zastosować operatora + dla typów Text i Number” pojawia się w kolumnie niestandardowej Power Query, gdy formuła dodaje liczbę do tekstu albo łączy teksty plusem.
  • W języku M plus dodaje liczby, a teksty łączy operator &. Power Query nie zamienia typów sam, więc obie strony operatora muszą mieć typ, którego ten operator oczekuje.
  • Łącz teksty operatorem &, liczby i daty zamieniaj na tekst funkcją Text.From, a przed obliczeniami nadaj kolumnom typy liczbowe albo użyj w formule Number.From.

Na komunikat „Nie możemy zastosować operatora + dla typów Text i Number” trafiają osoby przyzwyczajone do formuł Excela: piszą w kolumnie niestandardowej formułę łączącą kod sklepu z numerem, a w Power Query każdy wiersz kończy się błędem. Ten sam komunikat, z innym operatorem, pojawia się przy mnożeniu przez kolumnę, która nadal ma typ tekstowy. Pokazujemy, jak odczytać jego warianty, jak poprawić formułę i jak przygotować kolumny do obliczeń.

Jak to wygląda w praktyce

Okno Kolumna niestandardowa przyjmuje formułę bez zastrzeżeń, ale po kliknięciu OK w nowej kolumnie zamiast wyników stoi Error. Kliknięcie w puste miejsce obok napisu pokazuje na dole komunikat:

Expression.Error: Nie możemy zastosować operatora + dla typów Text i Number.

Angielski oryginał to Expression.Error: We cannot apply operator + to types Text and Number. W polu Szczegóły Power Query podaje trzy pola: Operator, Left i Right, czyli operator oraz wartości z lewej i prawej strony. Dla formuły [Kod sklepu] + [Nr] w wierszu ze sklepem WRO1 to plus, WRO1 i 1.

Sprawdziliśmy w Excelu pokrewne warianty tego komunikatu:

  • operator + dla typów Text i Text, gdy plusem łączysz dwa teksty,
  • operator & dla typów Text i Number, gdy dołączasz liczbę do tekstu bez zamiany na tekst,
  • operator * albo - dla typów Text i Number, gdy liczysz na kolumnie, która ma jeszcze typ tekstowy,
  • operator + dla typów Date i Number, gdy do daty dodajesz liczbę dni.

Pliki językowe silnika zawierają też wersję tego komunikatu z dopiskiem rozważ użycie operatora & (ang. consider using operator &). W naszym teście w polskim Excelu pojawił się komunikat bez dopisku.

Okno Kolumna niestandardowa w Power Query z formułą Number.Round i komunikatem Nie wykryto błędów składniowych na dole okna
Okno Kolumna niestandardowa z formułą wartości brutto, listą Dostępne kolumny i komunikatem Nie wykryto błędów składniowych na dole okna.

Dlaczego tak się dzieje

Formuły w Power Query to język M, a nie formuły Excela. Każdy operator działa na określonych typach: plus dodaje liczby, a teksty łączy operator &. Power Query nie zamienia typów sam, więc tekst „12” nie doda się do liczby 1, a liczba 1 nie dołączy się do tekstu „WRO1”. Komunikat mówi, który operator i jakie typy się spotkały, więc od razu wiesz, który fragment formuły poprawić.

Druga przyczyna to kolumna, która ma typ tekstowy, choć wyglądają w niej cyfry. Kolumna wczytana z pliku CSV bez kroku zmiany typu ma ikonę ABC, więc formuła [Ilość] * [Cena netto] zgłosi błąd dla operatora *. Sprawdziliśmy to w Excelu: po zmianie typu kolumny Ilość na liczbę całkowitą ta sama formuła liczy poprawnie.

Komunikat Nie wykryto błędów składniowych w oknie Kolumna niestandardowa dotyczy pisowni formuły. Typy wartości silnik sprawdza dopiero przy obliczaniu każdego wiersza, dlatego okno nie ostrzega przed tym błędem. Pusta komórka go nie wywoła: null + 1 zwraca null, a tekst połączony z null przez & też daje null. To osobna pułapka, bo etykieta złożona z kilku kolumn znika w całości, gdy jedna z nich jest pusta.

Jak to rozwiązać krok po kroku

  1. Kliknij w puste miejsce obok napisu Error i odczytaj komunikat oraz pola Szczegóły. Operator i obie wartości wskazują fragment formuły, który trzeba poprawić.
  2. Kliknij ikonę koła zębatego przy kroku kolumny niestandardowej na liście Zastosowane kroki. W oknie Kolumna niestandardowa zamień plusy łączące teksty na &, a liczby owiń w Text.From: = [Kod sklepu] & "-" & Text.From([Nr]). Kliknij OK. W naszym teście dla WRO1 i 1 formuła dała WRO1-1.
  3. Daty zamieniaj na tekst z jawnym formatem, jeśli wynik ma być identyfikatorem albo częścią nazwy pliku: Date.ToText([Data], [Format="yyyy-MM-dd"]) daje 2026-04-13. Samo Text.From użyje polskiego zapisu 13.04.2026, a liczbę dziesiętną zapisze z przecinkiem, na przykład 1234,5.
  4. Jeśli liczysz na kolumnie z ikoną ABC, nadaj jej typ liczbowy, zanim użyjesz jej w formule: kliknij ikonę w nagłówku kolumny i wybierz Liczba całkowita albo Liczba dziesiętna. Gdy typu kolumny nie chcesz zmieniać, zamień wartość w samej formule: = Number.From([Ilość]) * [Cena netto].
  5. Do daty nie dodawaj liczby plusem, bo [Data faktury] + 14 daje błąd dla typów Date i Number. Użyj funkcji Date.AddDays([Data faktury], 14), która przesuwa datę o podaną liczbę dni.
  6. Gdy etykieta składa się z kolumn, które bywają puste, zamiast & użyj Text.Combine, które pomija null: = Text.Combine({[Kod sklepu], [Kanał], Text.From([Nr])}, "-"). W naszym teście lista z null w środku dała WRO1-2026, a nie pustą wartość.

Jak sprawdzić, że zadziałało

Po zatwierdzeniu formuły obejrzyj nową kolumnę: napisów Error nie ma, a po włączeniu na karcie Widok pola Jakość kolumn przy słowie Błąd stoi 0%. Przełącz profilowanie na cały zestaw danych, bo inne wartości mogą czekać dalej niż w pierwszych 1000 wierszach. Nowa kolumna ma ikonę ABC123, czyli typ Dowolny, więc ustaw jej typ: Tekst dla etykiet, liczbowy dla wyników obliczeń.

Żeby błąd nie wrócił, ustawiaj typy kolumn źródłowych przed krokami z formułami i od początku buduj etykiety operatorem & z Text.From. Przy kolumnach liczbowych z eksportów sprawdzaj ikonę typu w nagłówku: ABC przy kolumnie z cyframi to sygnał, że obliczenia na niej skończą się tym komunikatem.

Wróć do listy: 88 najczęstszych pytań i problemów związanych z Power Query

Baner szkolenia Microsoft Excel - Power Query w JSystems z edytorem Power Query na ekranie laptopa

Szkolenie Microsoft Excel - Power Query --> Dwa dni warsztatów z Excela: pobieranie danych z plików, folderów, SharePointa i baz SQL, ich czyszczenie i łączenie w Power Query, praca w języku M, a na koniec model danych i oparta na nim tabela przestawna. Prowadzi Sebastian Stasiak.

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Jak połączyć tekst z liczbą w Power Query?
Użyj operatora & i zamień liczbę na tekst funkcją Text.From, na przykład kod sklepu, myślnik i Text.From z numerem. Plus w języku M tylko dodaje liczby, a operator & bez Text.From zgłosi błąd dla typów Text i Number. Jeśli któraś część może być pusta, użyj Text.Combine, które pomija null.
Dlaczego dodawanie daje błąd, skoro w kolumnie widać liczby?
Kolumna ma typ tekstowy, a cyfry są tekstem. Poznasz to po ikonie ABC w nagłówku kolumny. Zmień typ na Liczba całkowita albo Liczba dziesiętna przed krokiem z formułą albo zamień wartość w formule funkcją Number.From.
Co oznacza wariant komunikatu dla typów Date i Number?
Formuła dodaje liczbę do daty, na przykład termin płatności jako data faktury plus 14. W języku M daty nie przesuwa się plusem z liczbą. Użyj funkcji Date.AddDays z datą i liczbą dni.
Dlaczego okno Kolumna niestandardowa nie pokazało błędu?
Okno sprawdza składnię, czyli pisownię formuły, i dla poprawnie zapisanej formuły pokazuje Nie wykryto błędów składniowych. Typy wartości poznaje dopiero silnik przy obliczaniu każdego wiersza. Dlatego błąd typu widać w komórkach nowej kolumny, a nie w oknie.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...