W tym poście nauczymy się, jak obliczyć liczbę dni w miesiącu.
Temat ten omówimy na podstawie przykładowych danych z rys. nr 1.
Aby najłatwiejszym sposobem obliczyć ilość dni w miesiącu, wystarczy sprawdzić, jaki numerek przypada na ostatni dzień tego miesiąca. W przykładowych danych mamy przychody i daty, które odpowiadają poszczególnym miesiącom. Nasze zadanie polega na obliczeniu przychodu, jaki przypada na jeden dzień miesiąca, inaczej dzienny przychód. Zaczynamy od tego, że na podstawie daty musimy wyznaczyć ostatni dzień tego miesiąca. Możemy do tego użyć funkcji NR.SER.OST.DN.MIES. Pierwszym argumentem funkcji jest data_pocz, czyli nasza data z danych (nie musi to być pierwszy dzień miesiąca). Drugi argument funkcji to miesiące, czyli podajemy, o ile miesięcy chcemy się przesunąć, aby zobaczyć ostatni dzień miesiąca (jeśli wpiszemy wartość 0, otrzymamy ostatni dzień miesiąca, z którego podamy dowolną datę). Zapis formuły powinien wyglądać następująco:
=NR.SER.OST.DN.MIES(B2;0)
Powyższą formułę zatwierdzamy i kopiujemy na komórki poniżej. Otrzymamy dane przedstawiające ostatni dzień danego miesiąca (rys. nr 2).
Teraz musimy użyć funkcji DZIEŃ, która zwraca dzień miesiąca od 1 do 31. Argumentem funkcji jest kolejna_liczba, czyli nasza data ostatniego dnia miesiąca. Zapis formuły powinien wyglądać następująco:
=DZIEŃ(NR.SER.OST.DN.MIES(B2;0))
Powyższą formułę zatwierdzamy i kopiujemy w dół. Musimy pamiętać o zmianie formatowania komórek na Ogólne na karcie Narzędzia główne w grupie poleceń Liczba (rys. nr 3).
Po zmianie formatowania otrzymamy ilość dni w poszczególnych miesiącach przedstawioną na rys. nr 4.
Teraz pozostaje nam obliczyć wartość przychodu przypadającą na jeden dzień. Wystarczy podzielić Przychód przez ilość dni. Zapis formuły powinien wyglądać następująco:
=A2/C2
Po zatwierdzeniu formy i skopiowaniu jej na komórki poniżej otrzymamy dzienny przychód przedstawiony na rys. nr 5.
Tym sposobem możemy również sprawdzić, czy dany rok jest przestępny (luty powinien wtedy mieć 29 dni).
W tym poście nauczymy się, jak napisać stosunek dwóch liczb.
Zadanie to wykonamy na podstawie przykładowych danych z rys. nr 1.
W tym zadaniu chcemy przedstawić stosunek liczby nauczycieli do ilości uczniów. Poza Excelem taki stosunek zapisalibyśmy jako 30:500. Jednak po zatwierdzeniu takiego zapisu Excel nie reaguje (rys. nr 2).
Jak widać powyżej liczby te możemy skrócić i zapisać je jako stosunek 3:50. Jednak wtedy Excel zamienia ten stosunek na czas, co widać na pasku formuły (rys. nr 3).
Takie zapisywanie stosunku dwóch liczb jest mało użyteczne. Musimy użyć tutaj formuły, że automatycznie skracała nam taki stosunek do jak najprostszej formy. Potrzebujemy znaleźć wspólny dzielnik obu tych liczb. Excel ma funkcję, która znajduje największy wspólny dzielnik, a nazywa się NAJW.WSP.DZIEL. Kolejne argumenty funkcji to liczba1, liczba2 …, czyli liczby, dla których chcemy znaleźć wspólny dzielnik. Zapis funkcji powinien wyglądać następująco:
=NAJW.WSP.DZIEL(A2;B2)
Otrzymamy wynik funkcji, który przedstawia największy wspólny dzielnik podanych liczb (rys. nr 4).
Teraz, kiedy mamy wspólny dzielnik, to chcemy obie liczby podzielić przez niego. Aby podejrzeć rzeczywistą liczbę, jaka powstaje ze stosunku 3:50 musimy użyć skrótu klawiszowego Ctrl+Shift+~ (rys. nr 5).
Zapis pierwszej części formuły powinien wyglądać następująco:
=A2/NAJW.WSP.DZIEL(A2;B2)
Z tej formuły otrzymamy wynik 3, który następnie chcemy połączyć za pomocą znaków & ze znakiem : i z drugą częścią formuły. Zapis powinien wyglądać następująco:
Powyższą formułę zatwierdzamy. Otrzymamy stosunek dwóch liczb przedstawiony na rys. nr 6.
Wynik naszej formuły jest tekstem, a nie liczbą. Nasza formuła jest dynamiczna, czyli po zmianie danych wejściowych, np. 25 nauczycieli otrzymamy poprawiony wynik 1:20, bo największy wspólny dzielnik będzie wynosił 25 (rys. nr 7).
Jeśli podamy dwie liczby, które nie mają wspólnego dzielnika, to otrzymamy wynik przedstawiony na rys. nr 8.
Podsumowując, prosta formuła wykorzystująca funkcje Excela NAJW.WSP.DZIEL może pomóc nam uzyskać uproszczony stosunek dwóch dowolnych liczb.
Ten post jest trochę wyjątkowy, bo dotyczy Świąt Bożego Narodzenia. Do świąt jeszcze daleko, ale jeśli będziecie potrzebować stworzyć coś fajnego dla kolegów i koleżanek w Excelu, to ta porada może wam się przydać.
Nauczymy się jak wstawić do Excela dużo gwiazdek, prezentów, choinek, sań Świętego Mikołaja i temu podobnych symboli (rys. nr 1).
Przede wszystkim musimy znaleźć symbol, którego chcemy użyć. Jedna możliwość to znaleźć czcionkę, która zawiera dużo takich symboli, jak Wingdings, Webdings. Rozwijamy polecenie Symbole (punkt 2 na rys. nr 2) z karty Wstawianie (punkt 1), następnie wybieramy polecenie Symbol (punkt 3).
Otworzy nam się okno Symbol, w zakładce Symbole (punkt 1 na rys. nr 3), w polu Czcionka (punkt 2) wybieramy np. Webdings. W kolejnym kroku wybieramy interesujący nas symbol (punkt 3) i klikamy na niego dwukrotnie lub zatwierdzamy przyciskiem Wstaw (punkt 4).
Symbol zostanie wstawiony do komórki, która była aktywna w momencie wybierania polecenia Symbol. Pamiętajmy, że to jest symbol konkretnej czcionki, chociaż my widzimy jakiś znaczek, to "pod spodem" ukryta jest litera. Jeśli zmienimy w tej komórce czcionkę to symbol zniknie a pojawi się litera, która mu odpowiada. Czyli, aby wstawił nam się odpowiedni symbol, to wybrane komórki muszą być sformatowane w danej czcionce na karcie Narzędzia główne. Przykładowo w komórce D3 widzimy gwiazdkę, a na pasku formuły literkę T (zaznaczone strzałką na rys. nr 4).
Co ciekawe, w komórce C3 mamy przygotowaną formułę, która wstawia odpowiednią ilość gwiazdek. Jak widać na rys. nr 5 formuła składa się z samych symboli, bo żeby wynik pokazywał się w formie symboli, to komórka musi być sformatowana w tej czcionce. Na szczęście w pasku formuły widać, jaka funkcja została użyta. Użyliśmy funkcji POWT, czyli powtórz, która jeden znak lub cały ciąg znaków powtarza określoną liczbę razy. Zapis formuły powinien wyglądać następująco:
=POWT(D3;B3/8)
Ciekawostką funkcji POWT jest, że bierze tylko część całkowitą liczby. Ilość powtórzeń podaliśmy jako działanie 42/8, której wynikiem jest liczba niecałkowita.
Od 5tego wiersza wchodzimy już w znaki Unicode, gdzie mamy bardzo dużo możliwości. Poniżej podajemy dwie strony ze znakami Unicode
W tym poście nauczymy się, jak można zwiększać cenę produktu o różne stawki. Będziemy to robić dwoma sposobami: za pomocą formuł i wklejania specjalnego.
Temat ten omówimy na podstawie przykładowych danych z rys. nr 1.
W pierwszym przykładzie będziemy zwiększać cenę o 10%. Jak widać na rys. nr 1 w kolumnie C mamy aktualną cenę, którą żeby zwiększyć o 10% musimy pomnożyć, czyli mnożymy aktualną cenę razy Wzrost (komórka G2 zablokowana bezwzględnie za pomocą klawisza F4). Zapis formuły powinien wyglądać następująco:
=C2*$G$2
Powyższą formułę zatwierdzamy i kopiujemy w dół. Otrzymamy ceny powiększone o 10% przedstawione na rys. nr 2.
Jak skopiujemy formułę to zaznaczony zakres możemy skopiować za pomocą skrótu klawiszowego Ctrl+C, następnie wklejamy w kolumnie C za pomocą wklejania specjalnego. Klikamy prawym przyciskiem myszy na kolumnę C a następnie z podręcznego menu wybieramy wklej Wartość (W) z Opcji wklejania (rys. nr 3).
Otrzymamy wklejone nowe ceny do kolumny C (rys. nr 4). Można też zauważyć, że formuła z kolumny E automatycznie się przeliczyła i stworzyła wartości większe o 10% od tych nowych wklejonych cen.
Jest inny sposób, który czasami daje ciekawe możliwości. Zaznaczamy komórkę G2 z wartością informującą o wielkości wzrostu cen i ją kopiujemy za pomocą skrótu klawiszowego Ctrl+C, zaznaczamy zakres D2:D11 i włączamy opcje wklejania specjalnego za pomocą skrótu klawiszowego Alt+Ctrl+V. Otworzy nam się okno wklejania specjalnego, gdzie w polu Wklej zaznaczamy checkbox Wartości (punkt 1 na rys. nr 5), a w polu Operacja zaznaczamy Przemnóż (punkt 2). Tak ustawione parametry wklejania specjalnego zatwierdzamy przyciskiem OK (punkt 3).
Otrzymamy ceny powiększone o 10% uzyskane za pomocą wklejania specjalnego przedstawione na rys. nr 6.
Jeśli mamy takie proste obliczenia, to wklejanie specjalne może być troszeczkę szybsze od formuły.
Przejdziemy teraz do przykładu drugiego, żeby pokazać jak się różni działanie formuły i wklejania specjalnego (rys. nr 7).
W przykładowych danych mamy podane 3 stawki wzrostu cen. Z założenia mamy 3 wariancje produktów, które różnią się składem. Każdą z nich powinniśmy przemnożyć przez odpowiednią wartość z kolumny Wzrost. Użyjemy do tego funkcji JEŻELI. W argumencie test_logiczny chcemy sprawdzić czy komórka O2 jest pusta (O2=""). Jeżeli warunek jest spełniony to w argumencie wartość_jeżeli_prawda chcemy otrzymać wartość z komórki K2, w przeciwnym razie chcemy aktualną cenę przemnożyć przez Wzrost – argument wartość_jeżeli_fałsz. Zapis formuły powinien wyglądać następująco:
=JEŻELI(O2="";K2;K2*O2)
Powyższą formułę zatwierdzamy i kopiujemy w dół. Otrzymamy nowe ceny uzyskane za pomocą funkcji JEŻELI (rys. nr 8).
Takie rozwiązanie tworzy nam nową cenę jeśli w kolumnie Wzrost jest podana wartość.
Co ciekawe, jeśli w kolumnie Wzrost mamy 3 komórki wypełnione, a w kolumnie z cenami ilość danych będzie wielokrotnością trzech (lub zaznaczymy tylko np. 9 komórek), to za pomocą wklejania specjalnego uzyskamy interesujący efekt. Zaznaczmy zakres ze wzrostem cen (O2:O4) i skopiujmy go za pomocą skrótu klawiszowego Ctrl+C, następnie zaznaczmy tylko 9 komórek w kolumnie L i za pomocą skrótu klawiszowego Alt+Ctrl+V otwórzmy okno Wklejania specjalnego. W tym oknie w polu Wklej zaznaczamy checkbox Wartości, a w polu Operacja wybieramy Przemnóż (jak na rys. nr 5). Tak ustawione parametry zatwierdzamy przyciskiem OK.
Otrzymamy nowe ceny w kolumnie L przedstawione na rys. nr 9.
Jak widać na rysunku powyżej każda grupa 3 cen została przemnożona przez wartości z kolumny O. Mianowicie po kolei pierwszy element z grupy Produkt1 został pomnożony przez wartość 110%, drugi element z grupy Produkt1 został pomnożony przez wartość 120% i analogicznie 3 produkt przez 130% i tak dalej, aż do 9tego produktu.
A co w sytuacji, jeśli zaznaczony zakres w kolumnie L nie będzie wielokrotnością ilości komórek w kolumnie Wzrost? Sprawdzimy to w ten sposób, że zaznaczamy zakres O2:O4, następnie zaznaczamy zakres L2:L11 i uruchamiamy Wklejanie specjalne. Analogicznie jak wcześniej zaznaczamy Wartość i Przemnóż (jak na rys. nr 5). Zatwierdzamy przyciskiem OK. Otrzymamy wyniki przedstawione na rys. nr 10.
Jak widać na rysunku powyżej zostały pomnożone tylko 3 pierwsze komórki. Reszta cen nie uległa zmianie.
Przejdziemy teraz do trzeciego przykładu. Przykładowe dane zostały przedstawione na rys. nr 11.
W rozwiązaniu za pomocą funkcji JEŻELI formuła wygląda analogicznie jak w poprzednim przykładzie. Zapis funkcji w kolumnie U powinien wyglądać następująco:
=JEŻELI(W2="";T2;T2*W2)
Czyli jeśli komórka ze wzrostem ceny nie jest pusta, chcemy zwiększyć cenę o 15%. Jeśli jest pusta ma pozostać aktualna cena.
Teraz zrobimy takie samo rozwiązanie za pomocą wklejania specjalnego. Zaznaczamy zakres W2:W11i kopiujemy, następnie zaznaczamy zakres w kolumnie T (T2:T11) i uruchamiamy Wklejanie specjalne za pomocą skrótu klawiszowego Ctrl+Alt+V. Ponownie zaznaczamy Wartość i Przemnóż. Istotne jest, aby tutaj zaznaczyć dodatkowy checkbox Pomijaj puste. Zatwierdzamy przyciskiem OK (rys. nr 12).
Ten dodatkowy checkbox sprawia, że jeśli w danym wierszu mamy pustą komórkę w kolumnie Wzrost, to ta cena nie jest mnożona. Nie jest wykonywana żadna operacja w tym wierszu. Otrzymamy dane przedstawione na rys. nr 13.
Jak widać na rys. powyżej zostały wykonane operacje zmiany ceny tylko w wierszach, gdzie w kolumnie Wzrost mieliśmy niepuste komórki.
Podsumowując opcja Wklejania specjalnego pozwala nam przemnożyć ceny przez różne stawki wzrostu. Często może być to szybszym i ciekawszym rozwiązaniem niż pisanie formuł.
W tym poście pokażemy, jak stworzyć listę hiperłączy do plików znajdujących się w konkretnym folderze przy użyciu makr.
Temat ten omówimy na podstawie przykładowych danych z rys. nr 1. Ważne jest, że jeżeli chcemy korzystać z tej funkcji, musimy stworzyć plik z rozszerzeniem .xlsm, czyli taki, który obsługuje makra.
Przede wszystkim musimy znać polską wersję funkcji, której chcemy użyć (funkcja PLIKI). Jeśli tej funkcji podamy ścieżkę dostępu i zakończymy to znakiem gwiazdki (*) lub odpowiednim rozszerzeniem, to będzie ona pobierać pliki z tego katalogu. Odpowiednie połączenie formuł zapewni nam zbudowanie hiperłączy.
Mamy kilka obostrzeń, jeśli chodzi o korzystanie z tych funkcji. Funkcja nazywa się PLIKI, ale jeśli w komórce zaczniemy pisać słowo "pliki" to takiej funkcji nie znajdziemy, co widać na rys. nr 2.
Tą funkcję możemy zbudować tylko w Menedżerze nazw. W tym celu wybieramy polecenie Menedżer nazw z karty Formuły (rys. nr 3). Możemy również użyć skrótu klawiszowego Ctrl+F3.
Otworzy nam się okno Menedżera nazw, gdzie możemy sobie zbudować funkcję PLIKI, która odwołuje się do komórki A2, czyli do ścieżki dostępu. Na tej podstawie funkcja zwraca listę plików z tego katalogu (rys. nr 4).
Jak widać na rysunku powyżej nazwaliśmy tą funkcję WszystkiePliki. Korzystając z tego, że używamy Excela tablicowego, po wpisaniu funkcji WszystkiePliki i jej zatwierdzeniu, funkcja zwróci nam listę wszystkich plików (rys. nr 5).
Jak widać na rysunku powyżej domyślnie lista ta jest zwracana w poziomie, w jednym wierszu, a nie w kolumnie. W Excelu tablicowym wystarczyłoby dołożyć funkcję TRANSPONUJ, żeby wyniki otrzymać w pionie, czyli w jednej kolumnie.
Zakładamy jednak, że jesteśmy we wcześniejszej wersji Excela i chcemy wyciągnąć takie informacje jak widać na rys. nr 1. W komórce A5 wpisujemy nazwę funkcji WszystkiePliki. Wiemy, że ona rozsuwa wyniki w poziomie, a my chcemy otrzymać je w pionie. W Klasycznym Excelu nie mamy możliwości transponowania wyników ani rozlewania formuły. Dlatego musimy użyć funkcji INDEKS. Pierwszym argumentem funkcji jest tablica, czyli wyniki z funkcji WszystkiePliki. Kolejny argument to nr_wiersza, czyli wpisujemy wartość 1. Zapis formuły powinien wyglądać następująco:
=INDEKS(WszystkiePliki;1)
Po zatwierdzeniu formuły otrzymamy nazwę jednego pliku przedstawioną na rys. nr 6.
Podając w funkcji kolejne numery wiersza możemy otrzymać zwrócone kolejne elementy/pliki. Możemy takie podawanie poszczególnych numerów wierszy zastąpić funkcją ILE.WIERSZY. Pierwszym argumentem funkcji jest tablica, czyli zakres od komórki $A$5 zablokowanej bezwzględnie do komórki A5 niezablokowanej. Jak będziemy formułę kopiować w dół, to komórka A5 nie zablokowana bezwzględnie będzie się przesuwać i tym samym zwracać kolejne numery wierszy. Zapis formuły powinien wyglądać następująco:
=INDEKS(WszystkiePliki;ILE.WIERSZY($A$5:A5))
Powyższą formułę zatwierdzamy i kopiujemy w dół. Otrzymamy dane przedstawione na rys. nr 7.
Jeśli w ilości skopiowanych komórek w dół przekroczymy ilość elementów w folderze, to Excel zwróci nam błąd adresu #ADR!. Mamy wyciągnięte wszystkie pliki, które znajdują się w tym katalogu. Aby zbudować hiperłącze, potrzebujemy ścieżki dostępu do tych plików (C:\tmp\Obrazki dla Hani\*). Wtedy możemy połączyć nasze dane wklejając skopiowany adres po znaku =. Jako, że jest to tekst, musimy go wstawić w podwójnych cudzysłowach. Następnie połączyć wstawiony adres z resztą formuły za pomocą znaku ampersand (&). Zapis formuły powinien wyglądać następująco:
="C:\tmp\Obrazki dla Hani\"&INDEKS(WszystkiePliki;ILE.WIERSZY($A$5:A5))
Po zatwierdzeniu powyższej formuły i skopiowaniu jej na komórki poniżej otrzymamy kompletne ścieżki dostępu do każdego z plików (rys. nr 8).
Po otrzymaniu kompletnych ścieżek dostępu pozostaje nam dołożenie funkcji HIPERŁĄCZE, której argumentem jest łącze_lokalizacja, czyli wynik naszej poprzedniej formuły. Jeśli chcemy, możemy dodać opcjonalny argument, czyli przyjazna_nazwa. Zapis formuły powinien wyglądać następująco:
=HIPERŁĄCZE("C:\tmp\Obrazki dla Hani\"&INDEKS(WszystkiePliki;ILE.WIERSZY($A$5:A5)))
Po zatwierdzeniu formuły i skopiowaniu jej w dół otrzymamy hiperłącza do poszczególnych elementów katalogu przedstawione na rys. nr 9.
Hiperłącza zostały również dodane dla ostatnich dwóch wierszy zawierających błędy. Aby tego uniknąć, możemy dołożyć funkcję JEŻELI.BŁĄD. Pierwszym argumentem funkcji jest wartość, czyli wynik funkcji HIPERŁĄCZE. Drugi argument funkcji to wartość_jeśli_błąd, czyli co chcemy, aby zwróciła funkcja jeśli napotka błąd – u nas pusty ciąg tekstowy (""). Zapis formuły powinien wyglądać następująco:
=JEŻELI.BŁĄD(HIPERŁĄCZE("C:\tmp\Obrazki dla Hani\"&INDEKS(WszystkiePliki;ILE.WIERSZY($A$5:A5)));"")
Po zatwierdzeniu formuły otrzymamy prawidłowe hiperłącza przedstawione na rys. nr 10.
Jeśli klikniemy w dowolne hiperłącze, Excel otworzy nam odpowiedni katalog i wyświetli wybrany obrazek (rys. nr 11).
Funkcja PLIKI umożliwia filtrowanie danych. Jeśli do adresu katalogu w komórce A2 dopiszemy rozszerzenie .png, to Excel przefiltruje dane i wyświetli tylko hiperłącza zawierające pliki z tym rozszerzeniem (rys. nr 12).
W ten sposób możemy łatwo filtrować po jednym rodzaju rozszerzenia. Niestety, żeby filtrować po większej ilości rozszerzeń, musimy zaznaczyć wybrany zakres i kliknąć prawym przyciskiem myszki na nagłówki kolumn i z podręcznego menu wybrać opcję Odkryj (rys. nr 13).
Wyświetlą nam się "dodatkowe" dane przedstawione na rys. nr 14.
Po tymi danymi są dużo bardziej skomplikowane formuły, które są potrzebne do zbudowania listy plików spełniających wybrane warunki (rys. nr 15). Tutaj niezbędne okazują się funkcje z Excela tablicowego, bo Excel klasyczny potrzebowałby dużo bardziej skomplikowanych formuł.
Jeśli zależy nam na liście wszystkich plików z katalogu lub na jednym konkretnym rodzaju plików, to funkcja PLIKI jest tutaj najlepszym rozwiązaniem.