0
0 Produkty w koszyku

No products in the cart.

Jak usunąć puste kolumny w Power Query automatycznie — krok po kroku

Jak usunąć puste kolumny w Power Query automatycznie — krok po kroku

W dzisiejszym artykule pokażę, jak skutecznie usunąć puste kolumny z danych w Power Query, co znacznie usprawni analizę i przetwarzanie informacji. Ta automatyczna metoda pozwala zaoszczędzić czas przy pracy z rozbudowanymi zestawami danych, eliminując konieczność ręcznego usuwania pustych kolumn.

Power Query traktuje różnie puste komórki — niektóre jako wartości null, inne jako puste ciągi tekstowe, co wymaga odpowiedniego podejścia przy ich identyfikacji i usuwaniu.

W moim wideo pokazuję krok po kroku, jak poradzić sobie z tym wyzwaniem:

Dlaczego warto automatycznie usuwać puste kolumny?

Podczas pracy z danymi w Excelu często spotykamy się z sytuacją, gdy niektóre kolumny są całkowicie puste lub zawierają tylko wartości null czy puste ciągi tekstowe. Takie kolumny nie wnoszą żadnej wartości analitycznej, a jedynie zaśmiecają nasz zestaw danych i utrudniają pracę. Ręczne usuwanie tych kolumn może być czasochłonne, szczególnie gdy pracujemy z dużymi zestawami danych zawierającymi wiele kolumn.

Co więcej, w Power Query musimy zwrócić szczególną uwagę na różnicę między wartościami null (całkowicie pustymi komórkami w Excelu) a pustymi ciągami tekstowymi (komórkami zawierającymi formułę zwracającą pusty ciąg). Power Query traktuje te wartości odmiennie, co oznacza, że musimy zastosować bardziej złożone podejście, aby skutecznie usunąć wszystkie puste kolumny.

Importowanie danych do Power Query

Pierwszym krokiem jest zaimportowanie danych do Power Query. W Excelu przechodzimy do karty "Dane", a następnie wybieramy opcję "Pobierz dane z pliku", dalej "Z pliku Excel". Po odnalezieniu i wybraniu naszego pliku, wskazujemy arkusz zawierający dane, które chcemy przetworzyć.

Po zaimportowaniu danych możemy zauważyć, że niektóre kolumny zawierają:

  • Puste komórki (wartości null)
  • Komórki z pustym ciągiem tekstowym (zwracane przez formuły)
  • Komórki z wartościami wklejonymi jako puste ciągi tekstowe

Wszystkie te typy pustych wartości musimy wziąć pod uwagę przy usuwaniu niepotrzebnych kolumn. W Power Query możemy użyć zaawansowanego kodu, aby automatycznie wykryć i usunąć kolumny zawierające tylko puste wartości, niezależnie od ich typu.

Tworzenie kodu do usuwania pustych kolumn

Po przekształceniu danych w Power Query, dodajemy nowy krok niestandardowy, który będzie zawierał nasz kod do usuwania pustych kolumn. Kod ten będzie odwoływał się do poprzedniego kroku, najczęściej do kroku "Zmieniono typ", aby pracować na aktualnych danych.

Pełny kod, który usuwa puste kolumny, składa się z kilku kluczowych elementów, które omówię szczegółowo:

Pobieranie nazw kolumn

Pierwszym elementem jest pobranie listy wszystkich nazw kolumn w naszej tabeli. Używamy do tego funkcji Table.ColumnNames, która zwraca listę nazw kolumn:

Table.ColumnNames(#"Zmieniono typ")

Ta funkcja jest niezbędna, ponieważ musimy wiedzieć, które kolumny są dostępne w naszych danych, aby następnie sprawdzić, które z nich są puste i powinny zostać usunięte.

Sprawdzanie pustych wartości w kolumnach

Następnie dla każdej kolumny musimy sprawdzić, czy zawiera ona wyłącznie wartości puste (null) lub puste ciągi tekstowe (""). W tym celu używamy kombinacji funkcji List.Select i List.RemoveItems:

Dla każdej kolumny usuwamy wszystkie wartości null i puste ciągi, a następnie liczymy pozostałe elementy. Jeśli wynik jest równy 0, oznacza to, że kolumna zawiera wyłącznie puste wartości i powinna zostać usunięta.

Używamy funkcji Table.Column do wyodrębnienia danych z konkretnej kolumny:

Table.Column(#"Zmieniono typ", _)

gdzie "_" jest zmienną reprezentującą nazwę kolumny w naszej pętli. Następnie usuwamy wartości null i puste ciągi:

List.RemoveItems(Table.Column(#"Zmieniono typ", _), {null, ""})

i liczymy pozostałe elementy:

List.Count(List.RemoveItems(Table.Column(#"Zmieniono typ", _), {null, ""}))

Filtrowanie i usuwanie pustych kolumn

Po zidentyfikowaniu pustych kolumn używamy funkcji List.Select do utworzenia listy kolumn, które powinny zostać usunięte:

List.Select(Table.ColumnNames(#"Zmieniono typ"), each List.Count(List.RemoveItems(Table.Column(#"Zmieniono typ", _), {null, ""})) = 0)

Ta funkcja wybiera z listy nazw kolumn tylko te, dla których liczba niepustych wartości jest równa 0.

Na końcu używamy funkcji Table.RemoveColumns, aby usunąć zidentyfikowane puste kolumny z naszej tabeli:

Table.RemoveColumns(#"Zmieniono typ", List.Select(Table.ColumnNames(#"Zmieniono typ"), each List.Count(List.RemoveItems(Table.Column(#"Zmieniono typ", _), {null, ""})) = 0))

Pełny kod do automatycznego usuwania pustych kolumn

Pełny kod, który można wkleić do niestandardowego kroku w Power Query, wygląda następująco:

= Table.RemoveColumns(#"Zmieniono Typ",
List.Select(
Table.ColumnNames(#"Zmieniono Typ"),
each List.Count(
List.RemoveMatchingItems(
Table.Column(#"Zmieniono Typ", _),
{null, ""}
)
) = 0
)
)

Pamiętaj, aby zastąpić "#"Zmieniono typ"" nazwą ostatniego kroku w twoim zapytaniu Power Query, przed dodaniem niestandardowego kroku do usuwania pustych kolumn.

Testowanie rozwiązania

Po zaimplementowaniu kodu, możemy przetestować jego działanie, zamykając edytor Power Query i ładując dane do arkusza Excel. Jeśli wszystko zostało poprawnie skonfigurowane, zobaczymy, że puste kolumny zostały automatycznie usunięte z naszego zestawu danych.

Możemy również dodać więcej danych lub zmienić nazwy niektórych kolumn, aby sprawdzić, czy nasze rozwiązanie działa poprawnie w różnych scenariuszach. Co ważne, jeśli kolumna zawiera jakiekolwiek niepuste wartości, nie zostanie usunięta, co potwierdza precyzyjne działanie naszego kodu.

Warto pamiętać, że przy aktualizacji danych może być konieczne dostosowanie niektórych kroków w Power Query, szczególnie jeśli zmieniły się nazwy kolumn lub struktura danych. Jednak sam mechanizm usuwania pustych kolumn będzie działał niezawodnie, dopóki odwołujemy się do właściwego kroku w naszym zapytaniu.

Dynamiczne wykresy w Excelu: Interaktywna analiza danych z fragmentatorami

Dynamiczne wykresy w Excelu: Interaktywna analiza danych z fragmentatorami

Tworzenie dynamicznych wykresów w Excelu z wykorzystaniem fragmentatorów pozwala na interaktywną analizę danych i ich prezentację w niestandardowy sposób. Dzięki tej metodzie można grupować dane według różnych kryteriów, takich jak przedziały liczbowe, kwartały czy lata, co umożliwia głębszą analizę informacji i bardziej precyzyjne przedstawienie wyników.

Dynamiczne wykresy to potężne narzędzie dla każdego, kto pracuje z dużymi zbiorami danych i chce je efektywnie wizualizować.

W moim wideo pokazuję krok po kroku, jak stworzyć taki dynamiczny wykres:

Tworzenie tabeli przestawnej jako podstawy wykresu

Pierwszym krokiem do stworzenia dynamicznego wykresu jest utworzenie tabeli przestawnej. To właśnie ona będzie fundamentem naszego wykresu i pozwoli na elastyczne manipulowanie danymi. Aby ją utworzyć, wystarczy zaznaczyć pojedynczą komórkę w obszarze naszych danych źródłowych, przejść do karty "Wstawianie" i wybrać opcję "Tabela przestawna". Warto upewnić się, że Excel prawidłowo rozpoznał zakres danych, który chcemy wykorzystać. Ze względu na ilość miejsca, jaką zajmie nasza tabela i wykres, najlepiej umieścić tabelę przestawną na nowym arkuszu.

Przy tworzeniu tabeli przestawnej ważne jest, by pamiętać, że dane źródłowe nie powinny być zbyt rozdrobnione, zwłaszcza jeśli planujemy korzystać z fragmentatorów. Zbyt duża liczba elementów może sprawić, że fragmentatory będą nieczytelne i trudne w obsłudze. Dlatego warto wcześniej przygotować dane w odpowiedni sposób.

Grupowanie danych w tabeli przestawnej

Po utworzeniu tabeli przestawnej, kolejnym krokiem jest pogrupowanie danych według odpowiednich kryteriów. W przypadku dat, Excel nowszych wersji automatycznie grupuje je w tabeli przestawnej. Aby dane były bardziej czytelne, warto zmienić układ raportu na tabelaryczny w karcie "Projektowanie".

Jeśli automatyczne grupowanie nie zadziałało lub chcemy je zmodyfikować, możemy to zrobić ręcznie. Wystarczy kliknąć prawym przyciskiem myszy na dowolną datę w tabeli i wybrać opcję "Grupuj". W oknie grupowania zobaczymy datę początkową i końcową oraz będziemy mogli wybrać, po jakich okresach chcemy grupować nasze dane (np. miesiące, kwartały, lata).

Warto zwrócić uwagę na drobne niedoskonałości Excela przy automatycznym grupowaniu — czasami Excel może nieprawidłowo określić datę końcową (np. zamiast 31 grudnia 2025 wskazuje 1 stycznia 2026), co może wymagać późniejszej korekty.

Zmiana nazw w tabeli przestawnej

Po zgrupowaniu danych, Excel tworzy dodatkowe kolumny w oknie pól tabeli przestawnej. Nazwy tych kolumn są generowane automatycznie i często zawierają zbędne informacje. Możemy jednak łatwo je zmienić:

  • Zaznaczyć nagłówek kolumny i wpisać nową nazwę
  • Nacisnąć klawisz F2, aby wejść w tryb edycji i usunąć zbędne części nazwy
  • Zatwierdzić zmiany, naciskając Enter

W podobny sposób możemy zmieniać nazwy grup i elementów, na przykład zmienić oznaczenie "Kwartał 1" na bardziej zwięzłe "Kw1" czy zamienić skróty miesięcy na pełne nazwy. Jest to szczególnie przydatne, gdy przygotowujemy dane do prezentacji lub raportu.

Grupowanie wartości liczbowych

Oprócz dat, możemy również grupować wartości liczbowe. W naszym przykładzie chcemy pogrupować kolumnę "masa". Aby to zrobić, przeciągamy tę kolumnę do obszaru etykiet wierszy w tabeli przestawnej. Gdy widzimy wartości liczbowe, możemy je zgrupować na dwa sposoby:

Grupowanie niestandardowe

Metoda ta pozwala na tworzenie własnych, dowolnych grup. Aby utworzyć niestandardową grupę, należy zaznaczyć wszystkie wartości, które mają się znaleźć w danej grupie, kliknąć prawym przyciskiem myszy i wybrać opcję "Grupuj". Każda grupa musi być tworzona ręcznie, co może być czasochłonne przy dużej ilości danych. W wyniku takiego grupowania Excel tworzy dodatkową kolumnę (np. "masa 2"), która zawiera nazwy utworzonych grup.

Grupowanie standardowe

Metoda ta jest prostsza i polega na automatycznym podziale wartości na równe przedziały. Aby ją zastosować, należy:

  1. Kliknąć prawym przyciskiem myszy na pojedynczą wartość w kolumnie
  2. Wybrać opcję "Grupuj"
  3. Określić początek, koniec i szerokość przedziału

W naszym przykładzie ustawiamy początek na 0 (zamiast domyślnej minimalnej wartości 5), koniec na 1000 i szerokość przedziału na 200. Dzięki temu otrzymujemy równomierne przedziały: 0–200, 201–400 itd. Ten sposób grupowania nie dodaje nowej kolumny do tabeli przestawnej.

Tworzenie wykresu przestawnego

Po odpowiednim pogrupowaniu danych w tabeli przestawnej, przeciągamy kolumnę z wartościami (np. masa) do obszaru wartości, aby Excel mógł je podsumować. Domyślnie Excel zlicza wartości, ale my możemy zmienić sposób podsumowania, klikając prawym przyciskiem myszy na komórkę z podsumowaniem i wybierając opcję "Podsumuj wartości według" a następnie "Suma".

Teraz możemy dostosować układ tabeli przestawnej, przeciągając odpowiednie pola do obszarów etykiet wierszy i kolumn. Na przykład, produkt do etykiet wierszy, a kraj do etykiet kolumn. Gdy nasza tabela przestawna jest już gotowa, możemy utworzyć wykres przestawny na jej podstawie. Mamy kilka sposobów:

  • Na karcie "Analiza tabeli przestawnej" kliknąć polecenie "Wykres przestawny"
  • Na karcie "Wstawianie" wybrać konkretny typ wykresu
  • Na karcie "Wstawianie" kliknąć "Polecane wykresy", aby zobaczyć wszystkie dostępne opcje

Warto wiedzieć, że nie wszystkie typy wykresów współpracują z tabelami przestawnymi — Excel informuje o tym, wyświetlając odpowiedni komunikat. W naszym przypadku wybieramy prosty wykres kolumnowy, który najlepiej przedstawi nasze dane.

Dodawanie fragmentatorów do dynamicznego wykresu

Fragmentatory to kluczowy element, który sprawia, że nasz wykres staje się dynamiczny. Pozwalają na interaktywne filtrowanie danych bez konieczności modyfikowania samej tabeli przestawnej. Aby dodać fragmentatory:

  1. Zaznacz komórkę w tabeli przestawnej lub wybierz kartę "Analiza wykresu przestawnego" (w angielskiej wersji "Pivot Chart Analyze")
  2. Kliknij "Wstaw fragmentator"
  3. Wybierz pola, według których chcesz filtrować dane (np. kraj, masa, kwartał, rok)

Po wstawieniu fragmentatorów możemy dostosować ich wygląd. Po zaznaczeniu fragmentatora otwiera się karta "Fragmentator", gdzie możemy zmienić kolorystykę, rozmiar przycisków oraz samego fragmentatora.

Rozwiązywanie problemów z fragmentatorami

Czasami w fragmentatorach pojawiają się wyszarzone pola z wartościami, które nie istnieją w naszych danych. Jest to szczególnie częste w przypadku dat, gdzie Excel tworzy dodatkowe punkty graniczne. Aby ukryć te niepotrzebne elementy:

  1. Kliknij prawym przyciskiem myszy na fragmentator
  2. Wybierz "Ustawienia fragmentatora"
  3. Zaznacz opcję "Ukryj elementy bez danych"

W tym samym oknie możemy również zmienić podpis (nagłówek) fragmentatora na bardziej odpowiadający naszym potrzebom. Jeśli mamy kilka fragmentatorów z tym samym problemem, możemy zaznaczyć je wszystkie (trzymając klawisz Ctrl) i zmienić ustawienia dla wszystkich jednocześnie.

Dostosowywanie wyglądu fragmentatorów

Aby nasz dynamiczny wykres był nie tylko funkcjonalny, ale i estetyczny, warto poświęcić chwilę na dostosowanie wyglądu fragmentatorów:

  • Możemy zmienić rozmiar fragmentatora, przeciągając jego krawędzie
  • Na karcie "Fragmentator" możemy precyzyjnie określić wymiary fragmentatora i przycisków
  • Możemy zmienić liczbę kolumn wyświetlanych w fragmentatorze (np. dla lat — 3 kolumny, dla krajów — 1 kolumna)
  • Jeśli używamy skróconych nazw, możemy odpowiednio zwęzić fragmentator, aby był bardziej kompaktowy

Finalnie, nasze fragmentatory powinny być intuicyjne w obsłudze i dobrze wkomponowane w całość arkusza.

Korzystanie z dynamicznego wykresu

Po skonfigurowaniu fragmentatorów, nasz wykres staje się w pełni dynamiczny. Możemy:

  • Wybrać konkretny rok (np. 2023), aby zobaczyć dane tylko z tego okresu
  • Filtrować po krajach, wybierając np. tylko Polskę
  • Wybrać pojedynczy kwartał lub kilka niesąsiadujących kwartałów (trzymając Ctrl podczas zaznaczania)
  • Filtrować dane według różnych grup masowych

Jeśli chcemy wyczyścić filtr, możemy kliknąć na ikonę lejka w rogu fragmentatora lub, przy małej liczbie elementów, zaznaczyć wszystkie wartości z wciśniętym klawiszem Ctrl. Dzięki temu szybko wrócimy do widoku wszystkich danych, nawet jeśli ikona lejka jest nadal podświetlona.

Sekwencja Dni Roboczych w Excelu: Personalizowane Harmonogramy

Sekwencja Dni Roboczych w Excelu: Personalizowane Harmonogramy

W Excelu można łatwo stworzyć sekwencję dat zawierającą tylko wybrane dni tygodnia bez konieczności ręcznego wprowadzania każdej daty. Ta funkcjonalność jest niezwykle przydatna przy planowaniu zadań cyklicznych, tworzeniu harmonogramów czy organizowaniu pracy, gdy działania muszą odbywać się w określone dni.

Dzięki zastosowaniu odpowiednich technik w Excelu można zaoszczędzić wiele czasu przy tworzeniu niestandardowych kalendarzy.

W moim wideo pokazuję, jak stworzyć sekwencję wybranych dni tygodnia w Excelu:

Tworzenie sekwencji dni roboczych

Najprostszym sposobem na stworzenie sekwencji dni roboczych (od poniedziałku do piątku) jest wykorzystanie wbudowanej funkcji Excela. Wystarczy wprowadzić pierwszą datę, a następnie przeciągnąć ją, trzymając prawy przycisk myszy. Po zwolnieniu przycisku pojawi się menu kontekstowe, z którego należy wybrać opcję "Wypełnij dniami powszednimi".

Ta metoda automatycznie pomija soboty i niedziele, tworząc sekwencję dat zawierającą wyłącznie dni robocze. Jest to idealne rozwiązanie dla standardowego tygodnia pracy, gdy weekend przypada na sobotę i niedzielę. Jednak w wielu przypadkach potrzebujemy bardziej niestandardowego podejścia do wyboru dni.

Funkcja DZIEŃ.ROBOCZY.NIESTAND dla niestandardowych sekwencji

Gdy standardowa opcja dni powszednich nie spełnia naszych potrzeb, możemy skorzystać z funkcji DZIEŃ.ROBOCZY.NIESTAND. Ta zaawansowana funkcja pozwala na tworzenie sekwencji dat z uwzględnieniem własnej definicji weekendu, co daje nam znacznie większą elastyczność.

Funkcja DZIEŃ.ROBOCZY.NIESTAND zwraca datę po określonej liczbie dni roboczych, uwzględniając zdefiniowany przez nas weekend. Wymaga ona kilku parametrów:

  • Data początkowa — od której zaczynamy odliczanie
  • Liczba dni roboczych — o ile dni chcemy się przesunąć
  • Definicja weekendu — które dni tygodnia mają być traktowane jako dni wolne
  • Opcjonalnie: lista dat świątecznych

Niestandardowa definicja weekendu

Excel oferuje kilka predefiniowanych opcji dla weekendu, takich jak sobota-niedziela czy piątek-sobota. Jednak istnieje również ukryta możliwość zdefiniowania własnych dni wolnych za pomocą ciągu tekstowego składającego się z zer i jedynek.

W tym ciągu używamy następujących oznaczeń:

  • 0 — oznacza dzień roboczy
  • 1 — oznacza dzień wolny (weekend)

Ciąg składa się z siedmiu znaków, odpowiadających kolejnym dniom tygodnia, zaczynając od poniedziałku. Na przykład ciąg "0000111" oznacza, że poniedziałek, wtorek, środa i czwartek to dni robocze, a piątek, sobota i niedziela to weekend.

Praktyczne zastosowanie funkcji DZIEŃ.ROBOCZY.NIESTAND

Załóżmy, że chcemy stworzyć sekwencję dat, gdzie weekend jest przedłużony o piątek. W takim przypadku należy użyć funkcji DZIEŃ.ROBOCZY.NIESTAND z ciągiem "0000111", co oznacza, że piątek, sobota i niedziela będą traktowane jako dni wolne.

Formuła może wyglądać następująco:

=DZIEŃ.ROBOCZY.NIESTAND(data_początkowa; 1; "0000111")

Po wprowadzeniu tej formuły i przeciągnięciu jej w dół, Excel automatycznie wygeneruje sekwencję dat z pominięciem piątków, sobót i niedziel. Możemy zobaczyć, że daty przeskakują z czwartku bezpośrednio na kolejny poniedziałek, tworząc niestandardowy kalendarz roboczy.

Tworzenie jeszcze bardziej spersonalizowanych sekwencji

Funkcja DZIEŃ.ROBOCZY.NIESTAND pozwala na tworzenie dowolnych kombinacji dni tygodnia. Załóżmy, że chcemy stworzyć sekwencję składającą się tylko z poniedziałków, śród i piątków. W takim przypadku używamy ciągu "1010100", gdzie jedynki oznaczają wybrane przez nas dni.

Po zastosowaniu takiej definicji i przeciągnięciu formuły, otrzymamy sekwencję dat zawierającą wyłącznie poniedziałki, środy i piątki. Jest to niezwykle przydatne przy planowaniu zajęć odbywających się tylko w określone dni tygodnia, takich jak harmonogramy lekcji, treningów czy innych cyklicznych wydarzeń.

Dodawanie świąt do kalendarza

Funkcja DZIEŃ.ROBOCZY.NIESTAND pozwala również na uwzględnienie świąt i innych dni wolnych od pracy. Możemy dodać czwarty parametr, który będzie zawierał zakres komórek z datami świąt. Daty te będą automatycznie pomijane przy tworzeniu sekwencji, nawet jeśli przypadają na dni, które normalnie uznalibyśmy za robocze.

Ta funkcjonalność jest szczególnie przydatna przy tworzeniu harmonogramów długoterminowych, gdzie należy uwzględnić dni świąteczne, które mogą wpływać na realizację zaplanowanych działań.