niedziela, 16 listopada 2025
How to add prefix in Power Query
czwartek, 7 sierpnia 2025
Excel: Jak policzyć liczbę unikalnych wartości w kolumnie?
🔍 Co robi ta formuła?
Formuła zwraca liczbę unikalnych wartości w podanym zakresie, ignorując powtórzenia. Jest przydatna np. do liczenia liczby klientów, miast, produktów czy kategorii bez względu na to, ile razy się powtarzają.
📋 Formuła (Excel 365):
A2:A100 – zakres z wartościami, w których chcesz policzyć unikalne wpisy.
🧠 Jak działa ta formuła?
UNIKATOWE(A2:A100)– zwraca listę unikalnych wartości z danego zakresu.LICZBA.WIERSZY(...)– zlicza, ile pozycji znajduje się w tej unikalnej liście.
⚠️ Wymagania
- Działa w Excelu 365 i Excelu 2021 (funkcje dynamiczne).
- W starszych wersjach trzeba użyć bardziej złożonych formuł tablicowych.
🛠️ Przykłady zastosowań
- Policzenie liczby unikalnych klientów w bazie.
- Analiza liczby różnych produktów w zamówieniach.
- Sprawdzenie, ile unikalnych miast występuje w danych.
✅ Podsumowanie
To najprostszy sposób na policzenie unikalnych wartości w kolumnie lub wierszu. Dzięki funkcji UNIKATOWE całość działa dynamicznie – po dodaniu nowych danych wynik aktualizuje się automatycznie.
poniedziałek, 4 sierpnia 2025
Jak znaleźć ostatnią niepustą wartość w kolumnie?
🔍 Co robi ta formuła?
Ta formuła zwraca ostatnią niepustą wartość z danej kolumny (np. A:A), czyli najnowszy wpis. Jest szczególnie przydatna przy rejestrowaniu danych, np. ostatnia sprzedaż, ostatni wpis w logu, ostatni komentarz itp.
📋 Sprawdzona formuła (Excel 365):
Uwaga: W starszych wersjach Excela (np. 2019) formułę należy zatwierdzić Ctrl + Shift + Enter. W Excelu 365 wystarczy zwykłe Enter.
🧠 Jak działa ta formuła?
A:A<>""– tworzy tablicę logiczną wskazującą niepuste komórki.JEŻELI(...; WIERSZ(A:A))– zwraca numery wierszy tylko dla niepustych komórek.MAX(...)– wybiera największy numer wiersza (czyli ostatni niepusty).INDEKS(A:A; ...)– zwraca wartość z tej komórki.
🛠️ Przykład użycia
Jeśli Twoje dane znajdują się w kolumnie A, a ostatnia wartość to „Zamknięte”, formuła ją automatycznie zwróci, bez potrzeby ręcznego przeszukiwania listy.
✅ Zastosowania
- Ostatnia transakcja sprzedaży.
- Ostatni wpis do rejestru obecności.
- Ostatnia zmiana statusu projektu.
✅ Podsumowanie
To prosta, ale bardzo praktyczna formuła, gdy chcesz szybko uzyskać ostatnią wpisaną wartość w kolumnie. Nie wymaga VBA ani Power Query – wystarczy formuła tablicowa.
Excel VBA: Makro do kopiowania danych między arkuszami z dynamicznym wyborem zakresu
🔍 Co robi to makro?
Makro umożliwia użytkownikowi wybranie zakresu komórek do skopiowania poprzez okienko InputBox i skopiowanie ich do innego arkusza (domyślnie do „Arkusz2”). Idealne do przenoszenia danych między zakładkami lub przygotowywania raportów.
📋 Kod VBA – każda linia od nowego wiersza
Dim zakres As Range
Dim wsZrodlo As Worksheet
Dim wsDocelowy As Worksheet
Set wsZrodlo = ActiveSheet
On Error Resume Next
Set zakres = Application.InputBox("Zaznacz zakres do skopiowania", "Wybór zakresu", Type:=8)
On Error GoTo 0
If zakres Is Nothing Then
MsgBox "Nie wybrano zakresu. Makro przerwane.", vbExclamation
Exit Sub
End If
Set wsDocelowy = Worksheets("Arkusz2")
zakres.Copy Destination:=wsDocelowy.Range("A1")
MsgBox "Zakres został skopiowany do 'Arkusz2'.", vbInformation
End Sub
🛠️ Jak działa to makro?
- Użytkownik wybiera zakres danych (np. A1:D20) poprzez InputBox.
- Makro kopiuje te dane z aktywnego arkusza do „Arkusz2”.
- Dane zostają wklejone od komórki A1 w arkuszu docelowym.
💡 Co możesz zmienić?
- Zmień nazwę arkusza docelowego (np. „Raport” zamiast „Arkusz2”).
- Wklej dane w inne miejsce – zmień
Range("A1")na dowolną komórkę. - Dodaj pętlę, by wklejać dane za każdym razem w nowym wierszu (dla logów lub historii).
✅ Podsumowanie
To makro daje użytkownikowi pełną kontrolę nad tym, co i skąd ma zostać skopiowane. Nie wymaga sztywno wpisanych zakresów – wszystko działa dynamicznie i interaktywnie.
sobota, 2 sierpnia 2025
3 sposoby na: porównanie dwóch list w Excelu – co się zgadza, a co nie?
🔍 Problem do rozwiązania
Masz dwie listy danych – np. kolumny z nazwiskami, produktami, kodami zamówień – i chcesz sprawdzić, które wartości są wspólne, a które różnią się między nimi? Oto 3 w pełni sprawdzone sposoby, jak porównać dwie listy w Excelu.
🧪 Sposób 1: Formuła z PODAJ.POZYCJĘ + CZY.BŁĄD
Opis: Sprawdza, czy wartość z komórki A2 istnieje w kolumnie B. Jeśli tak – zwraca „OK”, jeśli nie – „Brak”.
Przydatne do szybkiego porównania rekordów między dwiema listami.
🧪 Sposób 2: Formatowanie warunkowe – graficzne zaznaczenie różnic
- Zaznacz kolumnę A (np. A2:A100).
- Przejdź do: Formatowanie warunkowe → Nowa reguła → Użyj formuły.
- Wprowadź formułę:
=CZY.BŁĄD(PODAJ.POZYCJĘ(A2; B:B; 0))
- Ustaw czerwone wypełnienie – Excel podświetli wartości, których nie ma w drugiej liście.
🧪 Sposób 3: Tabela przestawna – analizuj, nie szukaj
- Skopiuj obie listy do jednej kolumny (np. w kolumnie C).
- Obok utwórz kolumnę z nazwą źródła: „Lista 1” lub „Lista 2”.
- Zaznacz dane i wstaw tabelę przestawną.
- Do „Wierszy” dodaj wartości, a do „Kolumn” – źródło listy.
- Otrzymasz macierz, która pokazuje dokładnie, które dane są wspólne, a które unikalne.
✅ Którą metodę wybrać?
- Formuła z PODAJ.POZYCJĘ – szybka i elastyczna, do wielu rekordów.
- Formatowanie warunkowe – wizualna analiza, idealna do prezentacji lub czyszczenia danych.
- Tabela przestawna – najlepsza do porównań zbiorczych i analiz.
🧠 Przykłady zastosowania
- Porównanie list klientów w dwóch miesiącach.
- Sprawdzenie, które zamówienia zostały zrealizowane, a które nie.
- Weryfikacja zgodności danych z dwóch różnych źródeł.
✅ Podsumowanie
Porównywanie list to jedno z najczęstszych zadań w Excelu. Dzięki odpowiednim funkcjom lub narzędziom możesz szybko zidentyfikować różnice, duplikaty lub braki – bez potrzeby manualnego przeszukiwania arkuszy.
3 sposoby na: policzenie ile razy dana wartość występuje w Excelu
🔍 Problem do rozwiązania
Masz listę danych i chcesz sprawdzić, ile razy pojawia się dana wartość (np. imię, produkt, numer zamówienia)? Oto 3 proste i skuteczne sposoby, aby to policzyć w Excelu – każdy z nich działa w polskiej wersji Excela i został przetestowany.
🧪 Sposób 1: LICZ.JEŻELI – klasyka
Opis: Liczy, ile razy w zakresie A2:A100 występuje słowo „Anna”.
🧪 Sposób 2: LICZ.WARUNKI – jeśli chcesz więcej niż 1 warunek
Opis: Liczy tylko te przypadki, gdzie w kolumnie A jest „Anna” i w kolumnie B „Warszawa”.
🧪 Sposób 3: Tabela przestawna – graficznie i bez formuł
- Zaznacz dane (np. A1:B100).
- Przejdź do Wstaw → Tabela przestawna.
- Przeciągnij kolumnę z wartością (np. imię) do pola „Wiersze” oraz do „Wartości”.
- Excel automatycznie policzy, ile razy każda wartość występuje.
✅ Którą metodę wybrać?
- LICZ.JEŻELI – najlepsza do pojedynczych warunków.
- LICZ.WARUNKI – gdy chcesz zliczać z filtrem (np. tylko dla konkretnego miasta).
- Tabela przestawna – super wizualna metoda do raportów.
🧠 Przykłady zastosowań
- Ilu razy wystąpiło dane imię w formularzu?
- Ile zamówień miało status „zrealizowane”?
- Ile razy dany produkt pojawia się w bazie?
✅ Podsumowanie
Excel oferuje wiele metod do liczenia powtórzeń — od prostych formuł, po dynamiczne zestawienia. Wybierz sposób, który najlepiej pasuje do Twojej sytuacji: formuła do automatyzacji lub tabela przestawna do szybkiej analizy.
piątek, 1 sierpnia 2025
Excel VBA: Makro do tworzenia kopii zapasowej arkusza w nowym pliku
🔍 Co robi to makro?
Makro automatycznie tworzy kopię zapasową aktywnego arkusza i zapisuje ją w nowym pliku Excel w folderze użytkownika. Nadaje plikowi nazwę zawierającą datę i godzinę, dzięki czemu nie nadpisuje poprzednich wersji.
📋 Kod VBA: każda linia od nowego wiersza
Dim nowyPlik As Workbook
Dim nazwaPliku As String
Dim folderDocelowy As String
folderDocelowy = Environ("USERPROFILE") & "\Pulpit\"
nazwaPliku = "KopiaZapasowa_" & Format(Now, "yyyy-mm-dd_hh-nn-ss") & ".xlsx"
ActiveSheet.Copy
Set nowyPlik = ActiveWorkbook
Application.DisplayAlerts = False
nowyPlik.SaveAs folderDocelowy & nazwaPliku, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
nowyPlik.Close SaveChanges:=False
MsgBox "Utworzono kopię zapasową na pulpicie: " & nazwaPliku, vbInformation
End Sub
🛠️ Jak działa to makro?
- Tworzy kopię aktywnego arkusza (nie całego skoroszytu).
- Zapisuje ją w formacie .xlsx na pulpicie użytkownika.
- Nazwa pliku zawiera dokładną datę i godzinę utworzenia.
- Plik jest automatycznie zamykany – gotowy do archiwizacji.
💡 Co możesz zmienić?
- Zmień lokalizację zapisu, np. na konkretny folder sieciowy lub dysk D.
- Możesz dodać dodatkowe zabezpieczenie pliku hasłem (zaawansowane).
- Możesz kopiować cały skoroszyt zamiast pojedynczego arkusza (np.
ThisWorkbook.SaveCopyAs).
✅ Podsumowanie
To makro pozwala błyskawicznie utworzyć kopię zapasową arkusza bez potrzeby ręcznego zapisywania i zmieniania nazw. Idealne do zabezpieczania danych przed edycją lub jako wersjonowanie w pracy z raportami.
Excel VBA: Makro do zablokowania arkusza hasłem (automatyczne zabezpieczenie danych)
🔍 Co robi to makro?
To proste makro VBA blokuje aktywny arkusz Excela przy użyciu hasła. Dzięki temu nikt nie może edytować zawartości arkusza bez znajomości hasła. Świetnie nadaje się do zabezpieczenia formuł, struktury lub gotowych raportów.
📋 Kod VBA: każda linia od nowego wiersza
Dim haslo As String
Dim ws As Worksheet
Set ws = ActiveSheet
haslo = InputBox("Podaj hasło, którym chcesz zabezpieczyć arkusz:", "Ustawianie hasła")
If haslo = "" Then
MsgBox "Nie podano hasła. Makro przerwane.", vbExclamation
Exit Sub
End If
ws.Protect Password:=haslo, DrawingObjects:=True, Contents:=True, Scenarios:=True
MsgBox "Arkusz został zabezpieczony hasłem.", vbInformation
End Sub
🛠️ Jak działa to makro?
- Makro pyta użytkownika o hasło (okienko).
- Jeśli hasło zostało podane, arkusz zostaje zablokowany.
- Użytkownik bez hasła nie będzie mógł zmieniać zawartości komórek, formuł, formatowania itp.
💡 Co możesz zmodyfikować?
- Możesz ustawić hasło na sztywno, np.
haslo = "1234"(bez inputboxa). - Możesz dodać parametr
AllowFiltering:=True, jeśli chcesz, aby filtrowanie było dostępne mimo blokady. - Dodaj opcję
UserInterfaceOnly:=True, jeśli chcesz, by makra nadal działały mimo blokady.
✅ Podsumowanie
To makro zabezpiecza arkusz w kilka sekund. Idealne do tworzenia chronionych szablonów, formularzy lub raportów, które nie powinny być przypadkowo modyfikowane przez użytkowników końcowych.
Excel VBA: Makro do automatycznego usuwania pustych wierszy z danych
🔍 Co robi to makro?
To makro przeszukuje aktywny arkusz i usuwa wszystkie całkowicie puste wiersze. Jest idealne do czyszczenia danych po imporcie, scalaniu różnych plików lub kopiowaniu zawartości z Internetu.
📋 Kod VBA: każda linia od nowego wiersza
Dim ws As Worksheet
Dim i As Long
Set ws = ActiveSheet
Application.ScreenUpdating = False
For i = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Application.WorksheetFunction.CountA(ws.Rows(i)) = 0 Then
ws.Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
MsgBox "Usunięto wszystkie puste wiersze.", vbInformation
End Sub
🛠️ Jak działa to makro?
- Makro działa na aktywnym arkuszu.
- Przeszukuje wszystkie wiersze od dołu do góry (żeby nie pomijać żadnych po usunięciu).
- Sprawdza, czy wiersz jest całkowicie pusty.
- Jeśli tak – usuwa go.
💡 Co możesz zmienić?
- Możesz ograniczyć działanie makra tylko do zakresu (np. A1:G1000).
- Możesz dodać warunek, aby usuwać tylko puste wiersze w konkretnej kolumnie.
✅ Podsumowanie
To makro to szybki sposób na oczyszczenie danych w Excelu bez ręcznego zaznaczania i kasowania pustych wierszy. Niezastąpione przy pracy z dużymi plikami importowanymi z zewnętrznych źródeł lub przygotowywaniu danych do analizy.
czwartek, 31 lipca 2025
Excel VBA: Makro do sortowania danych według kolumny wskazanej przez użytkownika
🔍 Co robi to makro?
To makro pozwala użytkownikowi wpisać literę kolumny, według której dane mają zostać posortowane. Działa dynamicznie – czyli nie musisz modyfikować kodu za każdym razem. Idealne do plików z różnym układem kolumn.
📋 Kod VBA: każda linia w nowym wierszu
Dim ws As Worksheet
Dim kolumnaLitera As String
Dim kolumnaNr As Long
Dim zakresDanych As Range
Set ws = ActiveSheet
kolumnaLitera = UCase(InputBox("Podaj literę kolumny, według której chcesz sortować:", "Sortowanie danych"))
If kolumnaLitera = "" Then
MsgBox "Nie wybrano kolumny. Makro zostało przerwane.", vbExclamation
Exit Sub
End If
kolumnaNr = Range(kolumnaLitera & "1").Column
Set zakresDanych = ws.Range("A1").CurrentRegion
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=ws.Columns(kolumnaNr), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange zakresDanych
.Header = xlYes
.Apply
End With
MsgBox "Dane zostały posortowane według kolumny " & kolumnaLitera & ".", vbInformation
End Sub
🛠️ Jak działa to makro?
- Makro pyta użytkownika o literę kolumny (np. A, B, C).
- Zamienia ją na numer kolumny.
- Określa zakres danych (automatycznie).
- Sortuje dane rosnąco według wskazanej kolumny.
💡 Co możesz zmienić?
- Aby sortować malejąco – zamień
Order:=xlAscendingnaxlDescending. - Możesz dodać kolejne pytanie o kolejność sortowania (rosnąco/malejąco).
- Zakres danych można zmienić z
CurrentRegionna np.Range("A1:Z1000").
✅ Podsumowanie
To makro jest bardzo elastyczne i wygodne, jeśli pracujesz z dużą ilością danych w różnych układach. Działa bez potrzeby ręcznego filtrowania i można je szybko przypisać do przycisku lub skrótu klawiszowego.
Excel VBA: Makro do sortowania danych według kolumny (rosnąco lub malejąco)
🔍 Co robi to makro?
Makro automatycznie sortuje dane w aktywnym arkuszu na podstawie wybranej kolumny – zarówno rosnąco, jak i malejąco. Idealne do porządkowania list: klientów, faktur, dat, numerów zamówień itp.
📋 Kod VBA: sortowanie po kolumnie A (rosnąco)
🛠️ Jak działa to makro?
Range("A2:A1000")– to kolumna, według której sortujemy.Range("A1:Z1000")– to cały zakres danych, który zostanie posortowany (możesz zmienić).xlAscending– oznacza sortowanie rosnąco (zamień naxlDescendingdla malejącego).xlYes– oznacza, że dane mają nagłówki.
🧪 Co możesz zmienić?
- Aby posortować po innej kolumnie, zmień
"A2:A1000"na np."C2:C1000". - Aby sortować malejąco, zmień
Order:=xlAscendingnaOrder:=xlDescending. - Zakres danych (np. A1:Z1000) dostosuj do swoich arkuszy.
✅ Jak uruchomić makro?
- Naciśnij ALT + F11, aby otworzyć edytor VBA.
- Wstaw nowy moduł: Wstaw → Moduł.
- Wklej powyższy kod.
- Zamknij edytor i uruchom makro: ALT + F8 → SortujPoKolumnieA.
🎯 Przykład zastosowania
Wyobraź sobie arkusz z listą faktur lub klientów, gdzie chcesz szybko posortować je według daty (kolumna A). Wystarczy jedno kliknięcie, by wszystko było uporządkowane bez ręcznego ustawiania filtrów.
✅ Podsumowanie
To makro przyspiesza codzienną pracę z danymi i eliminuje potrzebę ręcznego sortowania. Nadaje się zarówno do uporządkowania list, jak i przygotowywania gotowych zestawień lub raportów.
3 sposoby na wyszukiwanie danych w Excelu – nie tylko WYSZUKAJ.PIONOWO
🔍 Problem do rozwiązania
Chcesz znaleźć dane w tabeli na podstawie innej kolumny, np. znaleźć nazwisko klienta po jego ID lub cenę produktu po nazwie? Excel oferuje co najmniej 3 sposoby, aby to zrobić skutecznie — w zależności od Twojej wersji Excela i potrzeb.
🧪 Sposób 1: WYSZUKAJ.PIONOWO
Opis:
- D2 – wartość, której szukasz (np. ID klienta).
- A2:B100 – zakres danych, w którym szukasz.
- 2 – numer kolumny z wynikiem (tu: kolumna B).
- FAŁSZ – dokładne dopasowanie.
Wada: Nie działa, jeśli kolumna z wynikiem jest na lewo od kolumny wyszukiwania.
🧪 Sposób 2: INDEKS + PODAJ.POZYCJĘ
Opis:
- A2:A100 – kolumna, w której Excel szuka wartości.
- B2:B100 – kolumna, z której zwracana jest odpowiedź.
- D2 – szukana wartość.
Zaleta: Może zwracać dane z lewej strony — czego nie potrafi WYSZUKAJ.PIONOWO.
🧪 Sposób 3: X.WYSZUKAJ (Excel 365)
X.WYSZUKAJ to nowoczesna funkcja dostępna w Excelu 365.
- D2 – wartość do znalezienia.
- A2:A100 – gdzie szukać.
- B2:B100 – co zwrócić, jeśli znajdzie dopasowanie.
Zaleta: Działa dynamicznie, bez potrzeby podawania numeru kolumny i obsługuje wyszukiwanie „w obie strony”.
✅ Podsumowanie
- WYSZUKAJ.PIONOWO – dobry dla prostych układów tabel.
- INDEKS + PODAJ.POZYCJĘ – elastyczne rozwiązanie dla bardziej zaawansowanych.
- X.WYSZUKAJ – najbardziej nowoczesne, jeśli masz Excel 365.
Dzięki tym trzem podejściom jesteś w stanie dopasować sposób wyszukiwania do praktycznie każdego układu danych w Excelu.
3 sposoby na usuwanie duplikatów w Excelu — szybko i skutecznie
🔍 Problem do rozwiązania
Masz w Excelu powtarzające się dane i chcesz je usunąć? Niezależnie od tego, czy pracujesz z listą klientów, produktami czy danymi z importu — poniżej znajdziesz 3 skuteczne sposoby na pozbycie się duplikatów z arkusza.
🧪 Sposób 1: Narzędzie „Usuń duplikaty” (kliknięciem)
To najszybsza metoda dostępna w każdej wersji Excela:
- Zaznacz kolumnę lub cały zakres danych.
- Przejdź do zakładki Dane → Usuń duplikaty.
- Wybierz, które kolumny mają być porównywane i kliknij OK.
Zaleta: Szybkie, bez formuł. Wada: Modyfikuje dane bez możliwości cofnięcia, jeśli wcześniej nie zapiszesz pliku.
🧪 Sposób 2: Formuła z UNIKATOWE (Excel 365)
Formuła ta tworzy nową listę z pominięciem duplikatów.
- Wymaga Excela 365 lub 2021.
- Wklej ją np. w komórce B2, a Excel wyświetli tylko unikalne wpisy z kolumny A.
Zaleta: Dynamiczna, nie modyfikuje oryginału. Wada: Niedostępna w starszych wersjach Excela.
🧪 Sposób 3: Tabela przestawna (dla analityków)
Tabela przestawna może służyć do wyodrębnienia unikalnych elementów:
- Zaznacz dane i wstaw tabelę przestawną (Wstaw → Tabela przestawna).
- Umieść interesującą Cię kolumnę w polu Wiersze.
- Tabela automatycznie pokaże tylko unikalne wpisy.
Zaleta: Nadaje się do grupowania i liczenia unikalnych wartości. Wada: Nie usuwa danych, a tylko je prezentuje.
✅ Podsumowanie
- Sposób 1: najszybszy do usunięcia duplikatów w miejscu.
- Sposób 2: idealny do dynamicznego filtrowania unikatów.
- Sposób 3: najlepszy do analiz i zestawień bez naruszania źródła.
Wybierz metodę, która pasuje do Twojego stylu pracy i wersji Excela.
Excel: Jak zliczyć unikalne wartości w kolumnie?
🔍 Co robi ta formuła?
Ta formuła pozwala zliczyć, ile unikalnych (różnych) wartości znajduje się w danym zakresie – np. ilu masz różnych klientów, produktów czy kodów. Jest szczególnie przydatna przy analizie danych, raportach i sprawdzaniu powtórzeń.
📋 Krok po kroku: Formuła z opisem działania
Wymaga Excela 365 lub 2021+. W starszych wersjach ta funkcja nie jest dostępna.
🧠 Jak działa ta formuła?
UNIKATOWE(A2:A100)– tworzy listę unikalnych wartości z danego zakresu.ILE.WIERSZY(...)– zlicza, ile elementów zawiera ta lista (czyli liczba unikalnych wpisów).
🛠️ Jak użyć tej formuły?
- W komórkach A2:A100 wprowadź dane (np. imiona, produkty, kody).
- W pustej komórce (np. B1) wklej formułę:
=ILE.WIERSZY(UNIKATOWE(A2:A100)) - Excel zwróci liczbę unikalnych pozycji.
✅ Podsumowanie
To niezwykle prosta i skuteczna formuła do analizy danych, gdy chcesz wiedzieć, ile różnych wartości występuje w kolumnie. Idealna do sprawdzania duplikatów i raportów bez użycia tabel przestawnych czy Power Query.
Excel: Jak znaleźć ostatnią niepustą wartość w kolumnie?
🔍 Co robi ta formuła?
Ta formuła pozwala odczytać ostatnią niepustą wartość w kolumnie. Dzięki niej możesz automatycznie pobrać np. ostatnią datę wpisu, ostatni wynik, ostatni komentarz lub numer zamówienia. Nie wymaga VBA i działa w każdej wersji Excela.
📋 Krok po kroku: Formuła z opisem działania
Uwaga: jeśli używasz Excela 2019 lub starszego, musisz zatwierdzić tę formułę jako formułę tablicową, naciskając CTRL + SHIFT + ENTER.
🧠 Jak działa ta formuła?
A:A<>""– sprawdza, które komórki w kolumnie A są niepuste.JEŻELI(...; WIERSZ(A:A))– dla każdej niepustej komórki zwraca numer jej wiersza.MAX(...)– wybiera najwyższy numer wiersza, czyli ostatni niepusty wpis.INDEKS(A:A; ...)– pobiera wartość z tego wiersza w kolumnie A.
🛠️ Jak użyć tej formuły?
- Wprowadź dane w kolumnie A (np. A2:A100).
- W pustej komórce (np. B1) wklej powyższą formułę.
- W Excelu 365 naciśnij Enter. W starszych wersjach: CTRL + SHIFT + ENTER.
- Excel zwróci wartość z ostatniej niepustej komórki w kolumnie A.
✅ Podsumowanie
To przydatna formuła, gdy chcesz dynamicznie pokazać ostatni wpis w kolumnie, np. najnowszy pomiar, ostatnią datę, ostatni status czy komentarz. Możesz dzięki niej automatyzować raporty bez pisania makr.
środa, 30 lipca 2025
Makro: Tworzenie kopii aktywnego arkusza z nową nazwą
🔍 Co robi to makro?
To makro tworzy kopię aktualnie aktywnego arkusza i automatycznie nadaje jej nazwę w formacie np. Raport_2025-07-30. Świetne do robienia kopii zapasowych, dziennych raportów lub duplikowania szablonów.
📋 Krok po kroku: Makro VBA z opisem
Sub KopiujArkuszZData()
' Zmienna pomocnicza z bieżącą datą
Dim nowaNazwa As String
nowaNazwa = "Raport_" & Format(Date, "yyyy-mm-dd")
' Kopiowanie aktywnego arkusza
ActiveSheet.Copy After:=Sheets(Sheets.Count)
' Nadanie nowej nazwy
On Error Resume Next
ActiveSheet.Name = nowaNazwa
If Err.Number <> 0 Then
ActiveSheet.Name = nowaNazwa & "_" & Format(Now, "hhmmss")
End If
On Error GoTo 0
MsgBox "Utworzono kopię arkusza: " & ActiveSheet.Name, vbInformation
End Sub
🛠️ Jak użyć tego makra?
- Otwórz Excela i naciśnij ALT + F11, aby otworzyć edytor VBA.
- Wybierz Wstaw → Moduł i wklej kod makra.
- Wróć do Excela i uruchom makro KopiujArkuszZData.
- Excel utworzy kopię aktywnego arkusza i nada jej nazwę zawierającą aktualną datę.
✅ Podsumowanie
To makro jest idealne, jeśli często potrzebujesz zarchiwizować arkusz, stworzyć kopię roboczą lub wygenerować dzienny raport. Dzięki automatycznej nazwie nie musisz martwić się o nadpisywanie poprzednich kopii.
3 sposoby na zliczenie unikalnych wartości w Excelu
🔍 Problem do rozwiązania
Chcesz sprawdzić, ile różnych (unikalnych) wartości znajduje się w danym zakresie danych, np. ilu masz różnych klientów, produktów lub kodów? Poniżej 3 sposoby na zliczenie unikatów – w zależności od wersji Excela, jaką posiadasz.
🧪 Sposób 1: Funkcja LICZ.JEŻELI + UNIKATOWE (Excel 365)
Opis działania:
- UNIKATOWE(A2:A100) – tworzy listę unikalnych wartości z zakresu.
- ILE.WIERSZY(...) – zlicza, ile tych wartości jest (czyli długość listy).
Uwaga: funkcja UNIKATOWE dostępna jest tylko w Excelu 365 i Excelu 2021.
🧪 Sposób 2: SUMA(1/LICZ.JEŻELI(...)) (wersje starsze)
Ważne: musisz zatwierdzić formułę klawiszami CTRL + SHIFT + ENTER (jest to tzw. formuła tablicowa).
Opis:
- LICZ.JEŻELI(A2:A100; A2:A100) – zlicza, ile razy każda wartość występuje.
- 1/... – zamienia te liczby na ułamki, np. 1/2 = 0.5 (dla duplikatów).
- SUMA(...) – dodaje te ułamki, co skutkuje liczbą unikalnych wpisów.
🧪 Sposób 3: Narzędzie „Usuń duplikaty” + ILE.WIERSZY
Ten sposób tworzy pomocniczą listę bez duplikatów:
- Skopiuj kolumnę z danymi do nowej lokalizacji.
- W menu wybierz Dane → Usuń duplikaty.
- W pustej komórce poniżej użyj formuły:
=ILE.WIERSZY(zakres), aby zliczyć pozostałe unikalne rekordy.
Zaleta: szybka metoda w każdej wersji Excela, ale modyfikuje dane (roboczo).
✅ Podsumowanie
- Sposób 1 – najprostszy, ale wymaga nowego Excela.
- Sposób 2 – nieco trudniejszy, ale działa nawet w Excelu 2007.
- Sposób 3 – bez formuł, ale zmienia dane.
Wybierz metodę, która najlepiej pasuje do Twojego arkusza i wersji programu.
3 sposoby na wyodrębnienie nazwiska z pełnego imienia i nazwiska w Excelu
🔍 Problem do rozwiązania
Masz dane w formacie Imię Nazwisko i chcesz automatycznie wyodrębnić tylko nazwisko do osobnej kolumny? Poniżej znajdziesz 3 skuteczne sposoby na rozwiązanie tego zadania – zależnie od wersji Excela i preferowanej metody.
🧪 Sposób 1: Formuła PRAWY + DŁ + ZNAJDŹ
Opis:
- ZNAJDŹ(" ", A2) – znajduje pozycję spacji (oddzielającej imię i nazwisko).
- DŁ(A2) – oblicza całkowitą długość tekstu.
- PRAWY(...) – wyciąga od prawej tyle znaków, ile przypada na nazwisko.
🧪 Sposób 2: PODZIEL.TEKST (Excel 365 / 2021)
Uwaga: ta formuła działa tylko w Excelu 365 lub Excelu 2021 i nowszych wersjach.
- PODZIEL.TEKST – rozdziela tekst na części według spacji.
- INDEKS(...; 2) – zwraca drugą część, czyli nazwisko.
⚡ Sposób 3: Wypełnienie błyskawiczne (Flash Fill)
To szybka metoda, która uczy się na podstawie wzoru:
- W kolumnie A wpisz np. Anna Kowalska, Jan Nowak.
- W kolumnie B wpisz obok pierwszego rekordu: Kowalska.
- Wciśnij CTRL + E lub wybierz z menu: Dane → Wypełnienie błyskawiczne.
Excel uzupełni pozostałe nazwiska automatycznie.
✅ Podsumowanie
- Sposób 1 – uniwersalny, działa we wszystkich wersjach Excela.
- Sposób 2 – najprostszy, ale wymaga Excela 365/2021.
- Sposób 3 – szybki, ale nie dynamiczny (nie aktualizuje się przy zmianach danych).
Wybierz metodę najlepiej dopasowaną do Twoich danych i wersji Excela.
Excel: Jak wyciągnąć nazwisko z pełnego imienia i nazwiska?
🔍 Co robi ta formuła?
Ta formuła umożliwia wyodrębnienie nazwiska z tekstu zawierającego imię i nazwisko. Na przykład, jeśli w komórce A2 znajduje się Anna Kowalska, formuła zwróci Kowalska.
📋 Krok po kroku: Formuła z opisem działania
Wyjaśnienie składni formuły krok po kroku:
=PRAWY(...)– funkcja zwraca określoną liczbę znaków od prawej strony tekstu.A2– to komórka z pełnym imieniem i nazwiskiem, np. Anna Kowalska.ZNAJDŹ(" "; A2)– szuka pozycji pierwszej spacji, czyli końca imienia.DŁ(A2)– oblicza długość całego tekstu (ilość znaków).DŁ(A2) - ZNAJDŹ(" "; A2)– wylicza, ile znaków pozostało po spacji (czyli długość nazwiska + spacja).PRAWY(A2; ...)– zwraca tyle znaków od końca, ile wynosi różnica powyżej – czyli dokładnie nazwisko.
Efekt: jeśli w A2 masz Anna Kowalska, formuła zwróci Kowalska.
🛠️ Jak użyć tej formuły?
- W kolumnie A wpisz pełne imię i nazwisko, np. Anna Kowalska.
- W kolumnie B (lub innej) wpisz formułę:
=PRAWY(A2; DŁ(A2) - ZNAJDŹ(" "; A2)) - Excel wyświetli samo nazwisko: Kowalska.
- Możesz przeciągnąć formułę w dół, aby zastosować ją do całej listy.
✅ Podsumowanie
Ta formuła przydaje się w pracy z bazami danych, kiedy musisz oddzielić nazwisko od imienia, np. do sortowania, filtrowania, korespondencji seryjnej lub analizy danych.
Excel: Jak wyciągnąć imię z pełnego imienia i nazwiska?
🔍 Co robi ta formuła?
Ta formuła umożliwia automatyczne wyodrębnienie imienia z komórki zawierającej pełne imię i nazwisko. Przykład: jeśli w komórce A2 wpisano Anna Kowalska, wynik formuły to Anna.
📋 Krok po kroku: Formuła z opisem działania
Wyjaśnienie działania tej formuły krok po kroku:
=LEWY(...)– ta funkcja zwraca określoną liczbę znaków od lewej strony tekstu.A2– to komórka zawierająca pełne imię i nazwisko, np. Anna Kowalska.ZNAJDŹ(" "; A2)– ta funkcja szuka pierwszego wystąpienia spacji w tekście (czyli miejsca, w którym kończy się imię).ZNAJDŹ(" "; A2) - 1– odejmujemy 1, aby nie uwzględniać spacji w wyniku (czyli zatrzymujemy się dokładnie na końcu imienia).LEWY(A2; ...)– całość wyciąga od lewej strony tyle znaków, ile wskazuje wynikZNAJDŹ(" "; A2) - 1.
Rezultat? Jeśli w A2 wpisano Anna Kowalska, to Excel wyświetli tylko Anna.
🛠️ Jak użyć tej formuły?
- Wpisz pełne imię i nazwisko do komórki, np. A2: Anna Kowalska.
- W komórce obok (np. B2) wpisz formułę:
=LEWY(A2; ZNAJDŹ(" "; A2) - 1) - Excel automatycznie wyciągnie imię: Anna.
- Przeciągnij formułę w dół, aby użyć jej dla całej kolumny.
✅ Podsumowanie
Ta prosta, ale bardzo przydatna formuła pozwala szybko oddzielić imię od pełnego ciągu imię+nazwisko. Idealna do list kontaktów, raportów, personalizacji maili czy porządkowania baz danych.
Excel VBA: Makro do kolorowania wierszy na podstawie wartości w kolumnie
🔍 Co robi to makro?
To makro automatycznie koloruje całe wiersze w zależności od wartości w konkretnej kolumnie. Przykład: jeśli w kolumnie „Status” znajduje się „Zakończony”, to wiersz zostanie podświetlony na szaro, a jeśli „W toku” – na żółto.
📋 Krok po kroku: Makro VBA z opisem
Sub KolorujWierszeWedlugStatusu()
' Zmienne pomocnicze
Dim lastRow As Long
Dim i As Long
Dim status As String
' Odczytujemy ostatni wiersz na podstawie kolumny A
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
' Przechodzimy przez każdy wiersz
For i = 2 To lastRow
status = Cells(i, 3).Value ' Zakładamy, że kolumna C zawiera statusy
Select Case LCase(status)
Case "zakończony"
Rows(i).Interior.Color = RGB(200, 200, 200) ' szary
Case "w toku"
Rows(i).Interior.Color = RGB(255, 255, 153) ' żółty
Case "błąd"
Rows(i).Interior.Color = RGB(255, 102, 102) ' czerwony
Case Else
Rows(i).Interior.ColorIndex = xlNone ' brak koloru
End Select
Next i
MsgBox "Kolorowanie zakończone!", vbInformation
End Sub
🛠️ Jak użyć tego makra?
- Otwórz Excela i naciśnij ALT + F11.
- Wklej kod do nowego modułu.
- Upewnij się, że dane zaczynają się od wiersza 2 i kolumna C zawiera statusy (np. „Zakończony”, „W toku”, „Błąd”).
- Uruchom makro KolorujWierszeWedlugStatusu.
✅ Podsumowanie
To makro pozwala na automatyczne wyróżnienie wierszy na podstawie statusów lub innych wartości tekstowych. Idealne do raportów, list zadań, rejestrów projektów i harmonogramów.
Excel VBA: Makro do automatycznego usuwania pustych wierszy z arkusza danych
🔍 Co robi to makro?
To makro automatycznie usuwa wszystkie puste wiersze z określonego zakresu danych w arkuszu Excela. Jest to bardzo przydatne, gdy masz importowane lub ręcznie wpisywane dane z pustymi liniami pomiędzy rekordami.
📋 Krok po kroku: Makro VBA z opisem
Sub UsunPusteWiersze()
' Zmienna do przechowywania ostatniego wiersza
Dim lastRow As Long
Dim i As Long
' Ustalamy ostatni wiersz w kolumnie A
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
' Przechodzimy od dołu do góry, aby nie pominąć wierszy przy usuwaniu
For i = lastRow To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
Rows(i).Delete
End If
Next i
MsgBox "Puste wiersze zostały usunięte!", vbInformation
End Sub
🛠️ Jak użyć tego makra?
- Otwórz Excela i naciśnij ALT + F11, aby wejść do edytora VBA.
- W menu Wstaw → Moduł wklej powyższy kod.
- Upewnij się, że dane znajdują się w kolumnie A lub dalej (A, B, C...), a puste wiersze są naprawdę puste.
- Uruchom makro UsunPusteWiersze. Wszystkie puste linie w arkuszu zostaną usunięte.
✅ Podsumowanie
To proste makro pozwala szybko oczyścić dane z pustych wierszy, co jest szczególnie przydatne przed analizą, sortowaniem lub importem danych do baz lub innych narzędzi.
Excel VBA: Makro do filtrowania danych i kopiowania wyników do nowego arkusza
🔍 Co robi to makro?
To makro automatycznie filtruje dane w arkuszu Excela według zadanych kryteriów (np. tylko wiersze z kolumny "Status" = "Aktywny") i kopiuje je do nowego arkusza.
📋 Krok po kroku: Makro VBA z opisem
Sub FiltrowanieIKopiowanie()
' Deklaracja zmiennych
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim lastRow As Long
' Ustawiamy aktywny arkusz jako źródłowy
Set wsSource = ThisWorkbook.Sheets("Dane")
' Tworzymy nowy arkusz, gdzie wkleimy dane
Set wsTarget = ThisWorkbook.Sheets.Add
wsTarget.Name = "Wyniki"
' Znajdujemy ostatni wiersz z danymi
lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
' Włączamy filtr w arkuszu źródłowym
wsSource.Range("A1:D" & lastRow).AutoFilter Field:=3, Criteria1:="Aktywny"
' Kopiujemy przefiltrowane dane (nagłówek + widoczne wiersze)
wsSource.Range("A1:D" & lastRow).SpecialCells(xlCellTypeVisible).Copy Destination:=wsTarget.Range("A1")
' Wyłączamy filtr
wsSource.AutoFilterMode = False
MsgBox "Filtrowanie i kopiowanie zakończone!", vbInformation
End Sub
🛠️ Jak użyć tego makra?
- Otwórz Excela i wciśnij ALT + F11, aby przejść do edytora VBA.
- Wybierz Wstaw → Moduł, a następnie wklej powyższy kod.
- Upewnij się, że w skoroszycie masz arkusz o nazwie "Dane", gdzie kolumna C zawiera np. "Aktywny" lub inne statusy.
- Uruchom makro FiltrowanieIKopiowanie – dane zostaną przefiltrowane i skopiowane do nowego arkusza o nazwie "Wyniki".
✅ Podsumowanie
To makro to świetny sposób na szybką automatyzację filtracji i kopiowania danych w Excelu bez ręcznego klikania. Idealne do pracy z dużymi zestawami danych.