Quantcast
Channel: Malinowy Excel
Viewing all 291 articles
Browse latest View live

Jak umieścić na wstążce kartę „Deweloper”?

$
0
0

Jest to jedno z pierwszych zagadnień, od którego zaczynam omawianie makr na szkoleniach.

No dobrze. Ale co to tak właściwie jest ta karta Deweloper i po co komu ona?

Jest to karta (czyli menu z opcjami) zawierająca opcje przydatne każdemu, kto tworzy makra w Excelu. Korzystają z niej zarówno ci, którzy nagrywają makra (dla nich jest ona niezbędna!), jak i ci, którzy te makra piszą samodzielnie (choć tym z pewnością mniej).

Karta wygląda tak:

Karta Deweloper

Karta Deweloper

Jest ona standardowo ukryta i – aby z niej korzystać – trzeba ją odkryć.

Aby to zrobić, należy:

  1. Wybrać z menu Plik/ Opcje.
  2. Gdy otworzy się okno, kliknij Dostosowywanie wstążki,
  3. W sekcji Dostosuj wstążkę należy zaznaczyć w pole wyboru odhaczyć Deweloper (jak na obrazku poniżej).
Opcja, którą należy zaznaczyć, aby pokazać kartę Deweloper na wstążce

Opcja, którą należy zaznaczyć, aby pokazać kartę Deweloper na wstążce

Po zatwierdzeniu przyciskiem OK, na wstążce pojawi się nowa karta. Gotowe!

Jeśli teraz szybko chcesz zarejestrować makro, wystarczy, że klikniemy przycisk Zarejestruj makro w sekcji Kod.

Jeśli zaś chcesz przejść do edytora Visual Basic (VBE), kliknij przycisk Visual Basic również w sekcji Kod (lub użyj skrótu klawiszowego Alt + F11).

A jeśli nie chcesz wcale nagrywać makra, tylko wstawić do arkusza jakiś formant (np. suwak), zrobisz to również za pomocą karty Deweloper. Oto przykład suwaka umieszczonego w arkuszu:

Suwak - przykładowy formant wstawiony z karty Deweloper

Suwak – przykładowy formant wstawiony z karty Deweloper

Te wszystkie formanty są bardzo przydatne, zwłaszcza kiedy tworzymy plik, który ma wszystkich wprawić w zachwyt. Takim plikiem może być np. raport z dynamicznym wykresem, w którym zakres dat ustawia się właśnie za pomocą takiego suwaka. Cudo, rozmarzyłam się ;). Może niedługo napiszę artykuł o tym, jak stworzyć taki wykres… Co Wy na to?

Redakcja językowa – Aleksandra Wasiak


Prosty budżet domowy: podsumowanie wydatków w tabeli przestawnej

$
0
0

W dotychczasowych artykułach o budżecie domowym zbieraliśmy dane. Pokazywałam, jak tworzyć tabelę do gromadzenia danych, jak stworzyć słowniki i listy, jak wstawić do komórek listy wyboru. Wszystko po to, aby łatwiej i szybciej wpisywać dane o przychodach i wydatkach.

Dziś pokażę, w jaki sposób skorzystać ze stworzonych narzędzi. Wreszcie zobaczycie wynik dotychczasowej pracy! Stworzymy bowiem tabelę przestawną będącą raportem podsumowującym nasze przychody i wydatki. Oprzemy ją oczywiście na naszej tabeli danych (przypominam, że nazywa się ona tb_DANE). Tak wygląda przykładowa tabela, którą stworzymy:

Przykładowa tabela

Przykładowa tabela: przychody i wydatki po miesiącach

Do dzieła!

Tworzenie i układ tabeli przestawnej

Przejdźmy zatem do arkusza DANE, gdzie znajduje się tabela tb_DANE. Aby stworzyć tabelę przestawną z danych zawartych w tb_DANE, należy zaznaczyć dowolną jej komórkę (np. B3). Następnie z menu Wstawianie/ Tabele należy wybrać opcję Tabela przestawna. Pojawi się następujące okno:

Okno "Tworzenie tabeli przestawnej"

Okno Tworzenie tabeli przestawnej

Ponieważ wszystkie domyślnie zaznaczone w nim opcje są dla nas ok, to klikamy OK.

To, co się pojawi (na rysunku poniżej po lewej stronie), jest dopiero panelem tworzenia tabeli przestawnej. Stanie się nią wtedy, gdy określimy, jakie dane mają się w niej znajdować.

Miejsce na tabelę i lista pól

Miejsce na tabelę (po lewej stronie) i lista pól (po prawej)

Trochę to nieporadnie wygląda, bo miała być tabela, a tabeli nie ma. Spokojnie, zaraz ją zrobimy. Tworzenie tabeli przestawnej jest w istocie bardzo proste. Widzicie 4 białe prostokąty (okienka) na dole listy pól (Filtr raportu, Etykiety kolumn, Etykiety wierszy i Wartości)? Każde z nich odpowiada pewnemu miejscu w docelowej tabeli. Będzie to bardziej zrozumiałe, gdy ustawimy klasyczny układ tabeli przestawnej, czyli to:

Układ klasyczny tabeli przestawnej - nazwy miejsc w tabeli

Klasyczny układ tabeli przestawnej i nazwy miejsc w tabeli

Zauważcie, że prostokąt z napisem Upuść pola kolumn tutaj jest odpowiednikiem Etykiety kolumn na liście pól tabeli. Analogicznie prostokąt Upuść pola wierszy tutaj to odpowiednik Etykiet wierszy. To samo dotyczy pola wartości i filtru raportu (inaczej zwane: pole stron).

Aby ustawić klasyczny układ tabeli przestawnej, należy ustawić opcję o tej właśnie nazwie: układ klasyczny tabeli przestawnej (umożliwia przeciąganie pól w siatce). Tak sobie myślę, że napiszę artykuł o higienie pracy z tabelami przestawnymi, w którym opiszę właśnie ten trik i kilka innych. ;)

Opcja włączająca układ klasyczny tabeli przestawnej

Opcja włączająca klasyczny układ tabeli przestawnej

Podam przykład docelowej tabeli. Chcemy analizować nasze przychody i wydatki z 2013 r. po miesiącach. Nasza tabela może wyglądać tak (oczywiście wybrałam 2013 z filtru dla pola Rok):

Przykładowa tabela

Przykładowa tabela: przychody i wydatki po miesiącach

W prostokącie wierszy mamy więc miesiąc (Mc), na prostokącie kolumn - In/Out, w prostokącie wartości – oczywiście PLN, a w prostokącie strony/ filtru raportu – Rok. Powstało proste podsumowanie, a jak wiele informacji wnosi.

Aby stworzyć taką tabelę, wystarczy więc przeciągnąć odpowiedni nagłówek (z listy pól) do odpowiedniego prostokąta w tabeli (lub na liście pól tabeli). Moja lista pól do tej tabeli wygląda tak:

Uzupełniona lista pól do prezentowanej tabeli

Uzupełniona lista pól do prezentowanej tabeli

Żeby otrzymać taki układ jak na obrazkach, należy lewym przyciskiem myszy przeciągnąć wybrane pole (nagłówek) do schematu tabeli w okienku Lista pól tabeli przestawnej. Przy zaznaczonym układzie klasycznym (czyli tym, który przed chwilą ustawiliśmy) można przeciągać te pola (nagłówki) bezpośrednio na tabelę. Jeśli jednak pierwszy raz tworzysz tabelę przestawną, zdecydowanie polecam korzystanie ze schematu na liście pól. Łatwiej to ogarnąć.

Oczywiście układ tabeli możesz dowolnie zmieniać. Może interesować Cię np. podział wydatków na kategorie po miesiącach. Tabela będzie wtedy wyglądała tak jak na obrazku poniżej (posortowana po wydatkach malejąco, czyli od największego do najmniejszego):

Tabela prezentująca wydatki na poszczególne kategorie po miesiącach

Tabela przedstawiająca wydatki na poszczególne kategorie po miesiącach

Aby wyświetlić powyższe wartości w tabeli, należy uzupełnić Listę pól w następujący sposób:

Schemat do tabeli prezentującej wydatki na poszczególne kategorie po miesiącach

Schemat do tabeli przedstawiającej wydatki na poszczególne kategorie po miesiącach

Kilka tabel opartych na tym samym źródle danych

Obie zaproponowane przeze mnie tabele przedstawiają ciekawe informacje o naszych przychodach i wydatkach, dlatego polecam je zachować. Do tego trzeba mieć jednak dwie tabele oparte jednym źródle. W takiej sytuacji warto pamiętać, że tabelę przestawną od początku tworzymy tylko raz. Potem możemy ją kopiować (ją lub cały arkusz, w którym się znajduje) i tę skopiowaną tabelę modyfikować. W naszym przypadku, jeśli chcemy mieć obie tabele w jednym arkuszu, należy skopiować (Ctrl + C) pierwszą tabelę, czyli zakres A1:C18, i wkleić np. do komórki F1. Tak to wygląda:

Dwie tabele oparte na jednym źródle danych

Dwie tabele oparte na jednym źródle

Jedyne, o czym należy pamiętać przy umieszczaniu kilku tabel przestawnych w tym samym arkuszu, to to, że lubią one zmieniać swoje rozmiary (np. gdy dojdą nowe dane lub zmienimy układ tabel). Należy więc umieścić je w takiej odległości od siebie, aby nie miały szans na siebie najść. Gdyby jednak doszło co do czego, Excel wyświetli następujący komunikat:

Komunikat o nachodzeniu tabeli przestawnej na inną tabelę przestawną

Komunikat o nachodzeniu na siebie tabel przestawnych

W ogóle gdy po odświeżeniu tabela przestawna ma na cokolwiek najechać, Excel nas o tym poinformuje. Nawet jeśli jest to tylko sformatowana komórka, niezawierająca żadnej wartości.

Jeśli jednak nie zamierzamy zmieniać układu pierwszej tabeli (a w naszym budżecie domowym nie zamierzamy), wybrane przeze mnie miejsce jest w porządku. Drugą tabelę oczywiście zmodyfikuj tak, jak opisałam wcześniej (kategorie wydatków po miesiącach).

Odświeżanie danych

Pora na odświeżanie danych. Mija kolejny miesiąc i chcemy zobaczyć, jakie pozycje doszły. Po uzupełnieniu arkusza DANE wystarczy zaznaczyć dowolną komórkę w wybranej tabeli przestawnej (np. B7) i wybrać opcję Odśwież wszystko w menu Dane/ Połączenia (ikonka na rysunku poniżej) lub Narzędzia tabel przestawnych/ Opcje/ Dane/ Odśwież/ Odśwież wszystko. Możemy też skorzystać ze skrótu klawiszowego Ctrl + Alt + F5.

Opcja Odśwież wszystko

Opcja Odśwież wszystko

Taaak. Zobacz, jak szybko przeanalizowaliśmy dużą ilość danych. Dodatkowo jeszcze mamy możliwość łatwego dokładania analiz. I to w bardzo prosty sposób beż użycia skomplikowanych formuł. Wszystko dzięki tabelom przestawnym. Prawda, że są cudowne? Jestem ciekawa, czy pokochasz to narzędzie tak samo jak ja :). Napisz o tym w komentarzu. Jestem ciekawa Twojej opinii.

 

Redakcja językowa – Aleksandra Wasiak

Czy opłaca się przewalutować na złotówki [PLN] kredyt we frankach [CHF]?

$
0
0

Dłuuuugo zastanawiałam się, co napisać w związku z gorącym ostatnio tematem, jakim jest nagły wzrost kursu franka (długo też pisałam ten artykuł). Miałam dwa pomysły: (1) Jak bardzo wzrośnie rata kredytu w przeliczeniu na złotówki; (2) Czy w ogóle opłacało się brać kredyt we frankach? Pierwszy temat wydał mi się zbyt prosty jak na artykuł, a drugi jakoś zupełnie mi nie leżał. Teraz podwójnie się cieszę, że nie podjęłam tego tematu, ponieważ napisał już o tym Michał Szafrański – autor blogu Jak oszczędzać pieniądze. Artykuł świetny, naprawdę warto przeczytać.

O czym więc będzie ten wpis? Stwierdziłam, że przeszłości i tak już nie zmienimy – co się stało, to się nie odstanie, więc trzeba się zastanowić, co TERAZ możemy zrobić? I znów – Michał Szafrański napisał już artykuł na ten temat (również polecam!). Ja natomiast poruszę temat, o którym słyszę bardzo często, mianowicie przewalutowanie kredytu. Dużo osób, z którymi rozmawiam, myśli właśnie o takiej formie uwolnienia się od wysokiego kursu franka. Czy jednak rzeczywiście się od niego uwolni? Czy przewalutowanie się opłaca? W tym artykule przedstawię narzędzie (stworzone przy merytorycznej pomocy kolegi, który pracuje w bankowości), które może pomóc Wam podjąć decyjzę.

W artykule opisałam poszczególne kroki tworzenia kalkulatora, a sam kalkulator dodałam jako załącznik. Zaczynajmy!

Dodatkowo chcę, abyście wiedzieli, że poniższy artykuł przedstawia narzędzie, które porównuje prognozowane koszty kredytów: w CHF oraz przewalutowanego na PLN. Pamiętajcie też, że dane w nim zawarte to tylko prognozy, a nie przepowiadanie przyszłości. Jej nikt przecież nie zna, tak samo jak przyszłych stawek stóp procentowych i kursów walut. Jeśli więc macie swoje propozycje tych wartości – wpiszcie je samodzielnie. Decyzję o przewalutowaniu podejmijcie samodzielnie (nie ponoszę za nią odpowiedzialności).

Do czego służy kalkulator?

Kalkulator porównuje prognozowane koszty kredytów w CHF i przewalutowanego na PLN . Ponieważ jest to jedynie narzędzie, to dane waszych kredytów, wszelkie prognozy stóp procentowych i kursów walut należy wpisać samodzielnie (w pliku znajdują się przykładowe wartości). Po uzupełnieniu tych danych w arkuszu rozpisane zostaną szczegółowo dwa kredyty: w CHF i w PLN. Utworzy się również porównanie kredytów: kwota do spłaty i informacje o wysokości rat – średniej, największej i najmniejszej.

Dla obu kredytów jest możliwość podania LIBOR-u, WIBOR-u i kursu CHF dla każdej raty. Ponieważ przyszłości nikt nie zna, obecnie w arkuszu znajdują się stawki losowe (nie ponoszę za nie odpowiedzialności). Przypominam również, że najlepiej będzie, gdy wpiszecie własne propozycje tych wskaźników.

Założenia

Ważne, abyście znali założenia, jakie mi przyświecały, gdy tworzyłam ten kalkulator. Oto one:

  1. Należy samodzielnie wpisać wartości liczbowe dotyczące kredytów.
  2. Plik daje możliwość ustalenia zmiennych stóp procentowych i zmiennego kursu CHF (można je wpisać samodzielnie). Można również ustalić stałą wartość każdego z tych wskaźników dla wszystkich rat.
  3. Kalkulator liczy koszty kredytu związane z terminowym spłacaniem rat (wszelkie koszty dodatkowe i odstępstwa od harmonogramu spłat, np. wcześniejsza spłata, nie są brane pod uwagę).
  4. Wyliczane są raty równe (stałe).
  5. Kredyty porównywane są w tym samym przedziale czasowym, czyli „Co by było gdyby przewalutować kredyt na PLN, a co – gdyby dalej płacić kredyt w CHF?”.
  6. Raty płacone są co miesiąc.

Każdy kredyt rozpisałam na raty, w których wyodrębniłam część kapitałową i odsetkową. Dzięki temu będziecie mogli zobaczyć, ile macie do spłaty kapitału (i jak on rośnie w przypadku franków), a ile – odsetek.

Budowa pliku

Plik składa się z 3 arkuszy:

  1. Liczba rat,
  2. Przewalutowanie,
  3. Nowa rata.

Liczba rat służy do określenia, ile rat kredytu w CHF już zapłaciliśmy, a ile nam jeszcze zostało. Wyliczona liczba przyszłych rat jest następnie wykorzystywana do rozpisania hipotetycznego harmonogramu kredytu. Tak wygląda formatka z przykładowymi danymi:

MalinowyExcel-przewalutowanie-kredytu-w-CHF-liczba-rat

Formatka do ustalania liczby rat

Arkusz Przewalutowanie to właściwy kalkulator. Należy w nim uzupełnić wszystkie dane kredytów: w CHF i przewalutowanego na PLN. Te dane to:

  • pozostały do spłaty kapitał w CHF,
  • marże banków,
  • prognozowane stawki LIBOR-u i WIBOR-u,
  • prognozowany kurs CHF do obliczania rat,
  • kurs CHF do przewalutowania kredytu.

Zarówno stawki referencyjne (LIBOR, WIBOR), jak i prognozowany kurs CHF można ustalić na stałym poziomie dla wszystkich rat lub mogą być one inne dla każdej raty. Decyzję o tym, co lepsze, zostawiam wam. A tak wygląda ten arkusz (w sporym pomniejszeniu, żeby się zmieścił na ekranie):

Kalkulator - formatka

Formatka kalkulatora

I w końcu obliczanie raty. Pomyślałam, że na pewno każdy z was będzie chciał wiedzieć, jak wysoką ratę ma do zapłacenia. Możecie to bardzo łatwo obliczyć w arkuszu Nowa rata. Jedyne, co trzeba w nim uzupełnić, to wysokość raty w CHF i aktualny kurs CHF. Formatka wygląda tak:

Formatka do obliczania nowej raty

Formatka do obliczania nowej raty

Przejdę teraz do opisywania formuł, jakie znajdują się w poszczególnych komórkach.

Tworzenie pliku

Jak już stworzyliście i nazwaliście 3 arkusze tak, jak opisywałam powyżej, możemy przejść do formuł, które znajdują się w poszczególnych arkuszach. Będę opisywała je po kolei. Zacznę od wyliczenia liczby rat.

Arkusz Liczba rat

Najpierw stwórzmy formatkę. Powinna ona wyglądać tak, jak na tym obrazku:

MalinowyExcel-przewalutowanie-kredytu-w-CHF-liczba-rat

Formatka do liczenia liczby rat

Danymi, które będziemy wpisywać są:

  • liczba lat kredytowania (komórka E7),
  • data pierwszej raty (E8),
  • dzisiejsza data (E9).

Ważne, aby dzisiejsza data była datą przed ewentualnym przewalutowaniem kredytu. Inaczej mówiąc – przed zapłaceniem kolejnej raty kredytu w CHF, a tym samym – pierwszej raty kredytu w PLN. Komórki do wpisywania zaznaczyłam na żółto. Przykładowe dane widzimy na rysunku powyżej.

Z kolei wartościami wyliczanymi będą:

  • liczba wszystkich rat (E10),
  • liczba zapłaconych już rat (E12),
  • liczba rat do spłaty (E13).

W moim przykładzie kredyt w CHF zaciągnięto 2 stycznia 2006 r. na 30 lat. Do 1 lutego 2015 r. zapłacono więc 108 rat, a do spłaty pozostały 252 raty.

Do wyliczenia wszystkich rat należy posłużyć się taką formułą (komórka E10):

=E7*12

Liczbę zapłaconych rat można wyliczyć następująco (E11):

=(ROK(E9)-ROK(E8))*12+MIESIĄC(E9)-MIESIĄC(E8)+JEŻELI(DZIEŃ(E9)>=DZIEŃ(E8);0;-1)

Formuła wygląda kosmicznie, wiem. :) Liczy liczbę lat, jaka minęła między dwiema datami, i mnoży ją przez 12 (chcemy poznać liczbę miesięcy). Do tego dodaje liczbę miesięcy, którą liczy jako różnicę między miesiącem nowego a starego roku – jeśli liczba wyjdzie ujemna, to oczywiście ją odejmie. Jest to ok, dlatego, że wcześniej więcej miesięcy załapało się do różnicy lat. I w końcu jeśli dzień bieżącego miesiąca jest większy lub równy dniu początkowego miesiąca to dodaje jeszcze jeden, a jak nie jest – nie dodaje nic (pełen miesiąc jeszcze nie minął).

Liczba rat do spłaty to prościutka formuła odejmująca liczbę zapłaconych rat od liczby wszystkich rat do spłaty (E13):

=E10-E12

Właśnie ta wartość interesuje nas najbardziej, gdyż będzie to liczba rat, w jakiej będzie spłacany kredyt w PLN. O tym dowiemy się z następnego arkusza.

Arkusz Przewalutowanie

W tym arkuszu przyjmiemy założenia (dane) dla kredytów, rozpiszemy każdy z nich na raty, a na koniec stworzymy podsumowanie, czyli podstawę do odpowiedzi na pytanie, co się bardziej opłaca. Będzie trochę wypełniania, ale nie przerażajcie się! Zaczynamy od założeń dla kredytów.

Formatki do wpisania założeń wyglądają następująco (na obrazku widać przykładowe dane):

Formatki do założeń kredytów

Formatki do założeń kredytów

Żółte i niebieskie pola należy uzupełnić samodzielnie:

  • pozostały do spłaty kapitał w CHF (komórka E7),
  • marże banków (E8 i F8),
  • prognozowany LIBOR* i WIBOR* (E9 i F9),
  • prognozowany kurs CHF* (F14),
  • kurs franka użyty do przewalutowania (F15).

Dane oznaczone wyżej gwiazdką (*) są prognozowane i na potrzeby symulacji stałe dla wszystkich rat. Arkusz stworzymy w ten sposób, aby były one wykorzystywane do wyliczania wszystkich rat (odpowiednio w CHF i PLN). Będzie można oczywiście ustalić te wartości dla każdej raty oddzielnie. po prostu nie skorzystamy ze zdefiniowanych wyżej wartości.

Wysokość kredytu w PLN obliczamy następującą formułą (komórka F7):

=ZAOKR(E7*F15;2)

Pozostała liczba rat zarówno w kredycie w CHF, jak i w PLN, to oczywiście wynik przeniesiony z komórki E13 arkusza Liczba rat. W komórkach E10 i F10 należy więc wpisać:

='Liczba rat'!E13

Kredyt w CHF

Przejdźmy zatem do obliczania wysokości rat kredytu w CHF. Najpierw stwórzmy formatkę:

Formatka kredytu w CHF

Formatka dla kredytu w CHF

Pokażę teraz po kolei formuły służące do wyliczenia poszczególnych rat. Wszystkie te formuły należy skopiować aż do wiersza 381 (zakładam, że kredyt bierzemy na maksymalnie 30 lat, czyli 360 rat).

Formuła licząca numer raty (Nr) wygląda następująco (komórka B22):

=JEŻELI(A22<='Liczba rat'!$E$13;Przewalutowanie!A22;"")

Formuła, którą należy wpisać w pierwszej komórce kolumny Data (C22), to:

='Liczba rat'!E9

Natomiast w pozostałych komórkach tej kolumny (C23 i dalej), formuła jest już nieco bardziej skomplikowana (skopiuj ją do końca):

=JEŻELI(B23<>"";DATA(ROK(C22);MIESIĄC(C22)+1;DZIEŃ(C22));"")

Formuła dla LIBOR-u (D22):

=JEŻELI(B22<>"";$E$9;"")

Przypominam, że powyższa formuła umożliwia wpisanie stałego LIBOR-u dla wszystkich rat. Jeśli chcesz symulować LIBOR dla każdej raty oddzielnie (a raczej dla każdych 3 rat), to – zamiast pisać tę formułę – wpisz wartość ręcznie.

Dla kursu CHF sytuacja z formułą jest identyczna jak dla LIBOR-u. Oto formuła w komórce E22:

=JEŻELI(C22<>"";$F$14;"")

Formuła w pierwszej komórce kapitału w CHF pozostałego do spłaty (F22) to:

=E7

A dla kolejnych komórek (od F23 w dół):

=JEŻELI(C23<>"";F22-G22;"")

Formuła dla części kapitałowej raty w CHF (Kapitał, G22) wykorzystuje funkcję finansową PPMT:

=JEŻELI(C22<>"";-PPMT(($E$8+D22)/12;1;$E$10-B22+1;F22);"")

Z kolei formuła dla części odsetkowej raty w CHF (H22) wykorzystuje funkcję IPMT:

=JEŻELI(C22<>"";-IPMT(($E$8+D22)/12;1;$E$10-B22+1;F22);"")

Zwróć uwagę, że zarówno przed funkcją PPMT, jak i IPMT postawiłam znak minus („-„). Zrobiłam tak dlatego, że w innym przypadku funkcja zwróciłaby wartość ujemną, a mnie zależy na dodatniej.

Następna jest formuła dla raty w CHF (I22):

=JEŻELI(C22<>"";SUMA(G22:H22);"")

Oczywiście wysokość raty można również obliczyć funkcją PMT, jednak da ona ten sam wynik, co zaproponowane przeze mnie sumowanie.

Teraz zajmę się obliczaniem wartości związanych z ratą, ale w przeliczeniu na złotówki. Każdą wartość (część odsetkową, kapitałową i całą ratę) przeliczę na złotówki. Formuła dla części kapitałowej w racie (Kapitałw PLN (J22) jest taka:

=JEŻELI(B22<>"";G22*$E22;"")

Dla części odsetkowej w PLN (K22):

=JEŻELI(B22<>"";H22*$E22;"")

Formuła dla całej raty w PLN (L22):

=JEŻELI(C22<>"";ZAOKR(I22*E22;2);"")

Na koniec dodam formuły sumujące wszystkie opisane wyżej wartości. Aby to zrobić, należy zaznaczyć komórki G19:L19 i wpisać taką formułę:

=SUMA(G22:G381)

Następnie należy zatwierdzić kombinacją klawiszy Ctrl + Enter (więcej o tym przydatnym skrócie klawiszowym znajdziesz tutaj: Szybkie wprowadzanie formuł z zachowaniem formatowania).

Ufff. To tyle jeśli chodzi o kredyt w CHF. Przejdę teraz do kredytu w PLN, przy którym będzie mniej pracy. :)

Kredyt w PLN

Tradycyjnie na początku pokazuję formatkę:

Formatka dla kredytu w PLN

Formatka dla kredytu w PLN

Formuła dla numeru raty (N22) to po prostu wskazanie odpowiedniego numeru raty kredytu walutowego:

=B22

Formuła dla WIBOR-u (O22) też jest prosta, jednak z tym samym zastrzeżeniem co dla LIBOR-u:

=JEŻELI(N22<>"";$F$9;"")

Formuła dla pozostałego do spłaty kapitału w PLN jest następująca dla pierwszej komórki (P22):

=F7

A dla kolejnych (P23 w dół):

=JEŻELI(N23<>"";P22-Q22;"")

Analogicznie do kredytu w CHF dwie kolejne formuły będą używały funkcji finansowych. Formuła dla części kapitałowej w racie (Kapitał) w PLN (Q22):

=JEŻELI(N22<>"";-PPMT(($F$8+O22)/12;1;$F$10-N22+1;P22);"")

I formuła dla części odsetkowej w PLN (R22):

=JEŻELI(N22<>"";-IPMT(($F$8+O22)/12;1;$F$10-N22+1;P22);"")

Na koniec zaś formuła sumująca ratę w PLN (S22):

=JEŻELI(N22<>"";SUMA(Q22:R22);"")

Nie musimy nic przeliczać na inną walutę, więc na tym kończymy.

Porównanie kredytów

No właśnie. Który kredyt lepszy? Kontynuować spłacanie zadłużenia w CHF, czy przerzucić się na PLN? Stwórzmy porównanie. Oto formatka:

Formatka do porównania kredytów

Formatka do porównania kredytów

A formuły podam niestandardowo w tabelce. Uznałam, że tak będzie najłatwiej pokazać, jaka formuła gdzie się znajduje:

Formuły porównujące kredyty

Formuły porównujące kredyty

I jak? Który kredyt się bardziej opłaca? :)

Arkusz Nowa rata

O tym będzie krótko. Obliczanie raty, jaką powinniśmy zapłacić w danym miesiącu, wyliczymy, mnożąc obecny kurs franka (D5) przez wysokość raty we frankach (D6). Formatka do wyliczenia wygląda tak:

Formatka do obliczania nowej raty

Formatka do obliczania nowej raty

Zatem w komórce D8 należy wpisać następującą formułę:

=ZAOKR(D6*D5;2)

Zaokrąglamy oczywiście do groszy, czyli do dwóch miejsc po przecinku. I tyle!

Komu jeszcze może przydać plik?

Temat kredytów we franku jest teraz gorący. Jeśli dotyczy Ciebie, to mam nadzieję, że tym artykułem pomogłam Ci w decyzji dotyczącej ewentualnego przewalutowania. Jeśli nie masz kredytu walutowego, to ufam, że przynajmniej poznasz ciekawe funkcje finansowe. ;)

Jeśli znasz kogoś, kto (też) spłaca kredyt we frakach, możesz wysłać mu plik lub link do tego artykułu. Zależy mi na tym, aby skorzystało z niego jak najwięcej osób.

Załącznik do artykułu

MalinowyExcel-przewalutowanie-kredytu-w-CHF.xlsx

 

Redakcja językowa: Aleksandra Wasiak

Ograniczanie rozmiaru arkusza

$
0
0

Ostatnio opublikowałam artykuł opisujący kalkulator przewalutowania kredytu we frankach szwajcarskich na złotówki. Jednym z arkuszy tego kalkulatora jest arkusz Nowa rata, w którym można wyliczyć wysokość raty w złotówkach. Tak wygląda formatka:

MalinowyExcel-ograniczanie-rozmiaru-arkusza-brak-ograniczenia

Formatka pływająca w arkuszu

Zauważcie, że zajmuje ona tylko kilka komórek w arkuszu, który jest przecież ogromny – ma 1 048 576 wierszy i 16 384 kolumn. Ktoś mógłby pomyśleć, że poza widocznymi polami do uzupełnienia, są jeszcze inne. Mógłby więc niepotrzebnie stracić czas na szukaniu. Aby temu zapobiec, można ograniczyć rozmiar arkusza:

MalinowyExcel-ograniczanie-rozmiaru-arkusza-po

Przykład ograniczenia rozmiaru arkusza

Która formatka według was wygląda lepiej? Pierwsza (PRZED) czy druga (PO)? No jasne, że druga! Tu arkusz ograniczony jest do 10 wierszy i 6 kolumn (ostatnia kolumna to F). Wygląda ładniej i profesjonalnie.

Jak to zrobić? Jak ograniczyć arkusz do określonego obszaru? Takie pytanie zadał mi Karol (pozdrawiam Cię!). Odpowiedziałam mu szybko, ale potem pomyślałam, że lepiej pokazać ten sposób szczegółowo. Postanowiłam więc napisać artykuł, a dodatkowo – żeby wszystko na pewno było jasne – nagrałam filmik instruktażowy, który znajdziecie na dole strony.

Cały trik polega na ukryciu zbędnych wierszy i kolumn. Pewnie wiecie, jak ukryć wiersz lub kolumnę. I to właśnie trzeba zrobić ze wszystkimi zbędnymi. No ale chyba nie każdą osobno? Pewnie, że nie. Najłatwiej wykonać to tak, jak opisuję poniżej.

Jak ukryć wiersze i kolumny?

Sposób ukrywania wierszy i kolumn jest prosty. Zaznaczasz to, co chcesz ukryć (osobno wiersze, osobno kolumny), kliknij prawym przyciskiem myszy i z menu kontekstowego wybierasz Ukryj.

A co zrobić, żeby ukryć na raz 16 000 kolumn? Trzeba je oczywiście wszystkie na raz zaznaczyć. Najłatwiej zrobić to tak:

  1. Zaznacz pierwszą kolumną, którą chcesz ukryć (np. G) – myszką lub skrótem klawiszowym Ctrl + spacja.
  2. Zaznacz pozostałe kolumny do końca arkusza za pomocą skrótu klawiszowego Ctrl + Shift + strzałka w prawo (zdecydowanie odradzam zaznaczanie myszką w tym przypadku – zajęłoby to chyba kilka minut).
  3. Kliknij prawym przyciskiem myszy i z menu kontekstowego wybierz Ukryj (lub użyj skrótu klawiszowego Ctrl + 0 «zero»).

Efekt będzie następujący:

Ukryte kolumny

Ukryte kolumny

Połowa pracy za nami. Teraz należy ukryć wiersze. Milion wierszy.

Sposób działania jest analogiczny:

  1. Zaznacz pierwszy wiersz, który chcesz ukryć (np. 11) – myszką lub skrótem klawiszowym Shift + spacja.
  2. Zaznacz pozostałe wiersze do końca arkusza za pomocą skrótu klawiszowego Ctrl + Shift + strzałka w dół.
  3. Kliknij prawym przyciskiem myszy i z menu kontekstowego wybierz Ukryj (lub użyj skrótu klawiszowego Ctrl + 9)

To tyle! Poniżej efekt:

Przykład ograniczenia rozmiaru arkusza

Ukryte wiersze i kolumny

 

Jak odkryć wiersze i kolumny?

No właśnie – to wydaje się trudniejsze. Zawsze, gdy chcemy odkryć wiersz lub kolumnę, zaznaczamy wiersze/ kolumny znajdujące się obok ukrytego wiersza/ kolumny i po prostu je odkrywamy. W naszym przykładzie jest tylko jeden widoczny wiersz i jedna kolumna.

Nie przejmujemy się tym. Oto, co należy zrobić (na przykładzie kolumn):

  1. Zaznacz ostatnią widoczną kolumnę (na rysunku jest to kolumna F).
  2. Trzymając lewy przycisk myszy, przeciągnij zaznaczenie w prawo tak, aby pojawiła się szara tabliczka z liczbą kolumn, którą w ten sposób zaznaczasz (16379K).
  3. Kliknij prawym przyciskiem myszy na zaznaczonej kolumnie i z menu kontekstowego wybierz Odkryj.
Odkrywanie kolumn

Odkrywanie ukrytych wcześniej kolumn

Dokładnie tak samo zrób z wierszami:

  1. Zaznacz ostatni widoczny wiersz (wiersz 10).
  2. Trzymając lewy przycisk myszy, przeciągnij zaznaczenie w dół tak, aby pojawiła się szara tabliczka z liczbą wierszy, które w ten sposób zaznaczasz.
  3. Kliknij prawym przyciskiem myszy na zaznaczonym wierszu i z menu kontekstowego wybierz Odkryj.

Bardzo to skomplikowanie brzmi, a wcale takie nie jest. Obejrzyjcie film i przekonajcie się!

Przyda się Wam? Jestem ciekawa jak! Napiszcie w komentarzach poniżej artykułu.

A jeśli znacie kogoś, komu też może się przydać ten trik, wyślijcie mu link do tego artykułu. Niech też skorzysta.

 

 

Redakcja językowa: Aleksandra Wasiak

Usuwanie pustych wierszy w zakresie za pomocą makra (VBA)

$
0
0

Pomysł na ten artykuł podsunął mi jeden z czytelników mojego blogu – Szafran (już po raz drugi korzystam z pomysłu Szafrana – pierwszy wpis znajdziecie tutaj). Dzięki!

Załóżmy, że analizujemy sprzedaż produktów w konkretnych dniach. Docelowo chcemy stworzyć wykres obrazujący sprzedaż. Dane są w postaci: data, wynik sprzedaży (Szafran akurat miał inne dane, ale schemat był dokładnie taki sam). W weekendy nasza firma nie pracuje, ale dane dostajemy w takiej postaci:

Dane wejściowe

Dane wejściowe

Jak widać, wypisane są wszystkie daty z określonego zakresu, niezależnie od tego, czy danego dnia coś sprzedano. Jest to kiepskie rozwiązanie, zwłaszcza gdy chcemy zrobić np. wykres tej sprzedaży. Wyglądałby on tak:

MalinowyExcel-Usuwanie-pustych-wierszy-wykres-przed

Wykres utworzony z danych zawierających puste komórki

Mistrzostwo świata to to nie jest, przyznajcie sami. Widywałam lepsze wykresy…  Koniecznie trzeba usunąć puste wiersze. Można to zrobić ręcznie, co wystarczyłoby pewnie w przypadku małej liczby danych. Gdy jednak mamy do czynienia z większą tabelą, aby ułatwić sobie pracę, koniecznie trzeba napisać makro. W tym artykule opiszę właśnie takie makro – usunie ono puste wiersze z zakresu.

Mamy arkusz, w którym jest tabela z danymi. U mnie są one w zakresie A1:C15. Dla makra nie będzie to jednak miało znaczenia. Najważniejsze jest, aby przed uruchomieniem makra zaznaczyć jedną z komórek tego zakresu. Na tej podstawie bowiem wybierzemy zakres, z którego automat usunie wiersze.

Wstawianie modułu

Przejdźmy zatem do pisania makra. Tak, tak – pisania. Nic tutaj nie będziemy nagrywać. Najpierw otwórzmy edytor Visual Basic (VBE). Można to zrobić, wybierając ze wstążki Deweloper/ Visual Basic (jeśli nie masz na wstążce karty Deweloper, koniecznie ją dodaj – tutaj opisałam, jak to zrobić).

Pojawi się okno VBE, a w nim okienko VBAProject:

MalinowyExcel-Usuwanie-pustych-wierszy-VBAProject

Okienko VBAProject

Wylistowane są w nim wszystkie używane skoroszyty (niekoniecznie widoczne!). Na pewno na waszych komputerach lista będzie inna, ale nie ma to znaczenia. Najważniejsze, aby na tej liście był plik, w którym tworzymy makro. U mnie jest to UsuńPuste.xlsx (na razie jeszcze rozszerzenie to xlsx).

Teraz wstawimy moduł. Moduł to miejsce, gdzie przechowywany jest kod VBA, czyli nasze makro. Aby go dodać, kliknij prawym przyciskiem myszy np. na  pozycji Arkusz1 (Arkusz1) (zaznaczone na obrazku). Następnie z menu kontekstowego wybierz Instert/ Module. Po prawej stronie pojawi się okno tego modułu, które jest na razie puste. W tym właśnie oknie będziemy pisać nasze makro. Dla porządku można jeszcze nazwać moduł. Nie jest to konieczne, bo w tym skoroszycie będzie tylko jeden moduł.

Kod makra

W oknie modułu wpiszmy następujący kod:

Sub Usun_puste_wiersze()
  Dim Zakres As Range, Kolumna As Range, Komorka As Range
  Dim Licznik As Long, LiczbaKomorek As Long, Usunietych As Long

  'UWAGA! Zaznacz dowolną komórkę w zakresie, który ma zostać oczyszczony
  Set Zakres = ActiveCell.CurrentRegion
  Set Kolumna = Zakres.Columns(3)
  LiczbaKomorek = Zakres.Rows.Count

  Usunietych = 0
  For Licznik = 1 To LiczbaKomorek
     Set Komorka = Kolumna.Cells(Licznik - Usunietych, 1)
     If Komorka.Value = 0 Then
        Rows(Licznik - Usunietych).Delete
        Usunietych = Usunietych + 1
     End If
  Next Licznik

  Set Zakres = Nothing
  Set Kolumna = Nothing
  Set Komorka = Nothing
End Sub

Zauważmy, że to makro jest procedurą, zatem jego nazwę poprzedzamy słówkiem sub. Na początku  kodu znajduje się deklaracja zmiennych: obiektowych (Zakres, Kolumna, Komorka) i liczbowych (Licznik, LiczbaKomorek, Usunietych).

Zakres to po prostu nasze dane. Jest ustalany na podstawie zaznaczonej komórki, dlatego – tak jak pisałam na początku – przed uruchomieniem makra należy zaznaczyć dowolną komórkę zakresu.

Kolumna to trzecia kolumna naszego zakresu. To właśnie w niej będziemy szukać pustych komórek.

LiczbaKomorek to zmienna mówiąca o liczbie wierszy w Zakresie i w Kolumnie (jest identyczna).

Następnie zaczyna się pętla For. Zadziała tyle razy, ile jest wierszy w Zakresie. Po kolei sprawdzana jest każda komórka w Kolumnie. Jeśli jej wartość jest równa zero (0), czyli jeśli jest pusta, wiersz jest usuwany, a zmienna Usunietych zwiększa się o 1. Zmienna ta jest zmienną roboczą. Jej wartość bowiem odejmujemy od zmiennej Licznik. Ta z kolei zmienna mówi o numerze wiersza komórki, którą sprawdzamy, a następnie usuwamy.

Na samym końcu czyścimy zmienne obiektowe. I wszystko! Krótkie proste makro, a ile pracy zaoszczędzonej? Oczywiście, jak to zwykle w programowaniu bywa, przedstawione rozwiązanie nie jest jedynym możliwym. Znam jeszcze co najmniej 2, które również zadziałają. A może wy macie jakieś pomysły? Jeśli tak – napiszcie w komentarzach. Jestem ciekawa, co wymyśliliście. :)

Zapisanie pliku

Pamiętaj, że działania makra nie można cofnąć, polecam zatem zawsze zapisać plik przed uruchomieniem makra.

Na razie nasz plik ma rozszerzenie .xlsx. W plikach z takim rozszerzeniem nie można przechowywać makr. Musimy więc zapisać plik jako Skoroszyt programu Excel z obsługa makr (*.xlsm). Można to zrobić, korzystając z opcji Zapisz jako lub po prostu zapisać plik za pomocą skrótu klawiszowego Ctrl + s. Excel wykryje, że w skoroszycie znajdują się makra i wyświetli komunikat: W skoroszytach bez obsługi makr nie można zapisywać następujących funkcji: Projekt VBA.

Komunikat o makrach w skoroszycie: W skoroszytach bez obsługi makr nie można zapisywać następujących funkcji: Projekt VBA

Komunikat o makrach w skoroszycie

Aby zapisać plik tak jak należy, czyli .xlsm, trzeba wybrać Nie. Jest to trochę mylące, bo domyślnym przyciskiem jest Tak i myszka większości użytkowników od razu tam wędruje. :)

Następnie z pola Zapisz jako typ wystarczy wybrać typ pliku Skoroszyt programu Excel z obsługa makr (*.xlsm). Jeśli twój Windows jest ustawiony tak, by nie wyświetlać rozszerzeń znanych typów plików, zobaczysz wtedy następujący typ na liście: Skoroszyt programu Excel z obsługa makr. W obu przypadkach uzyskamy pożądany efekt.

Uruchamianie makra

Ok, plik zapisany, makro napisane. Teraz trzeba je uruchomić. Z poziomu kodu najprostszym sposobem uruchomienia makra jest ustawienie kursora w dowolnym miejscu kodu i użycie klawisza F5. Mimo że widok nie przełączy się na arkusz Excela, to makro zostanie wykonane.

Innym sposobem jest naciśnięcie zielonej strzałki w prawo. Znajduje się ona na pasku narzędzi Standard:

Uruchamianie makra za pomocą zielonej strzałki na pasku narzędzi

Uruchamianie makra za pomocą zielonej strzałki na pasku narzędzi

Z poziomu arkusza makro można uruchomić z menu Deweloper/ Kod/ Makra, przez wybranie konkretnego makra z okna Makro. Skrót klawiszowy wywołujący to okno to Alt + F8.

A sposób bardziej user-friendly opisuję w kolejnym artykule: Uruchamianie makra za pomocą przycisku w arkuszu.

Wynik działania makra

Ok. Niezależnie od tego, z której metody uruchamiania makra skorzystamy, jego działanie będzie identyczne. Da w wyniku taki efekt:

Wynik działania makra

Wynik działania makra

Jak widać, wiersze z pustymi komórkami zostały usunięte i o to chodziło.

Wracając do wykresu, który chcieliśmy utworzyć z tych danych, to teraz wygląda on tak (trochę go ztuningowałam:)):

Wykres z danych oczyszczonych z pustych komórek

Wykres z danych oczyszczonych z pustych komórek

Pokusiłam się jeszcze o stworzenie wykresu danych narastająco :)

Wykres z danych oczyszczonych z pustych komórek - narastająco

Wykres z danych oczyszczonych z pustych komórek – narastająco

Voila! Wszystko!

Wow. Całkiem długi artykuł wyszedł. Mam nadzieję, że wam się przyda! A może nie tylko wam? Jeśli znacie kogoś, kto może skorzystać z tego makra, wyślijcie mu, proszę, link do tego artykułu: http://malinowyexcel.pl/usuwanie-pustych-wierszy-w-zakresie-za-pomoca-makra-vba. Niech też sobie uprości życie!

 

 

Redakcja językowa: Aleksandra Wasiak

Uruchamianie makra za pomocą przycisku w arkuszu (VBA)

$
0
0

W poprzednim artykule opisywałam makro, które usuwa wiersze z pustymi danymi. Omawiałam też kilka sposobów na uruchomienie makra: skróty klawiszowe oraz ikonki na wstążce i pasku narzędzi. Były to sposoby, które sąwygodne dla twórcy makra. Klawisz F5 naciskamy, gdy jesteśmy w edytorze VBA, w kodzie. Użytkownik nie będzie z tego korzystał – gwarantuję :) Ze skrótu klawiszowego Alt + F8 też nie skorzysta. Ze wstążki też nie – nie będzie wiedział, gdzie szukać. Trzeba mu trochę uprościć życie. Właśnie – jemu uprościć, a tobie – jako twórcy – zrobić trochę PR-u profesjonalisty ;) Na szczęście istnieje jeszcze milion innych sposobów, żeby makro odpalić…

Na przykład przyciskiem z poziomu arkusza, co wygląda tak:

Przycisk w arkuszu uruchamiający makro

Przycisk w arkuszu uruchamiający makro

Efektownie, prawda? I nie wszyscy umieją to zrobić ;) A ty po przeczytaniu tego artykułu będziesz umiał :)

Ok. Dość gadania. Żeby wstawić ten przycisk w dowolnym miejscu w arkuszu, należy:

  1. Wybrać Przycisk z menu Deweloper/ Formanty/ Wstaw/ Formanty formularza.

    Wybieranie przycisku

    Wybieranie przycisku

  2. Kursor zmieni się w krzyżyk. Oznacza to, że teraz będziesz rysować przycisk. Rób to trzymając lewy przycisk myszy.

    Rysowanie przycisku

    Rysowanie przycisku

  3. Gdy puścisz myszkę – zakończysz rysowanie i natychmiast pojawi się okienko Przypisywanie makra. Aby przypisać wybrane makro do utworzonego przed chwilą przycisku, należy zaznaczyć je na liście. U mnie jest to makro Usun_puste_wiersze.

    Okno "Przypisanie makra"

    Okno Przypisanie makra

  4. Wybór zatwierdź oczywiście OK.

Powstały przycisk to jeszcze nie jest to, co tygryski lubią najbardziej :) Powstał guzik – fajnie, jednak ma on napisane Przycisk 1. Aby to zmienić, kliknij lewym przyciskiem myszy na ten napis. Przejdziesz wtedy do trybu edycji, w którym możesz już dowolnie zmienić napis (np. na Usuń puste wiersze). Aby zatwierdzić dokonaną zmianę, po prostu kliknij w dowolnym miejscu arkusza.

Parametry przycisku: tekst, wysokość czy szerokość możesz oczywiście zmienić w dowolnym momencie. Tylko uważaj! Używaj do tego zawsze prawego przycisku myszy! Przycisk bowiem już jest aktywny i jeśli naciśniesz go lewym – uruchomisz makro ;)

Ok, ale wracając do zmiany tekstu czy rozmiaru. Kliknij przycisk prawym myszy i wybierz z menu odpowiednią opcję: dla zmiany tekstu jest to oczywiście Edytuj tekst.

Edycja tekstu gotowego przycisku

Edycja tekstu gotowego przycisku

A jeśli chodzi o rozmiar – po tym, jak się pojawi menu kontekstowe – kliknij gdziekolwiek na arkuszu (aby menu zniknęło). Dzięki temu znajdziesz się w edycji przycisku: możesz to poznać po tym, że naokoło przycisku są niebieskie kółka i kwadraty. Jeśli chwycisz za odpowiedni – możesz zmieniać rozmiar przycisku. Aby wyjść z edycji – kliknij gdziekolwiek w arkuszu.

Zwróć uwagę, że menu zawiera również pozycję Formatuj formant. Takie okno pojawi się, gdy ją wybierzesz:

Okno Formatowanie formantu

Okno Formatowanie formantu

Zapewne już widzisz co tutaj można zrobić. Zmiana czcionki, kierunek i wyrównanie tekstu, kolor…. i cuda cuda. Zostawiam to Twojej wyobraźni, tylko błagam: bez fajerwerków. To ma być przede wszystkim użyteczne :) Szczerze mówiąc to ja jestem zwolenniczką prostoty i zostawiam przycisk taki, jaki jest (szary, brzydki, czcionka Arial), ewentualnie zmieniam rozmiar czcionki – w zależności od potrzeb.

Zmieniam tutaj tylko jedną rzecz: ustawiam opcję Przenieś z komórkami, lecz nie zmieniaj rozmiaru na karcie Właściwości. Jest to fantastyczna opcja, dzięki której jak już sobie pracowicie ustawisz wymarzony rozmiar przycisku i np. poszerzysz kolumnę, nad którą jest przycisk – kształt pozostanie taki sam (ten wymarzony). Gdyby tej opcji nie zaznaczyć – przycisk niestety zmieniałby rozmiar za każdym razem, gdy zmieniamy rozmiar komórek (wierszy czy kolumn) nad którymi się znajduje. Tak na marginesie: zupełnie nie rozumiem, czemu twórcy Excela nie ustawili tej opcji jako domyślnej ;(

Na koniec jeszcze dodam, że jest to rozwiązanie praktyczne, ponieważ jest zintegrowane z plikiem. Przycisk w arkuszu „przemieszcza się” razem z plikiem i każdy, kto taki plik otrzyma, będzie w stanie odpalić makro samodzielnie i w łatwy sposób.

Jeszcze raz wynik:

Przycisk w arkuszu uruchamiający makro

Przycisk w arkuszu uruchamiający makro

Koniecznie użyj tego w swoich plikach :)

Funkcja przydatna przy rozliczaniu PIT-u

$
0
0

Mamy koniec kwietnia, a to oznacza, że zostało tylko kilka dni do rozliczenie i wysłanie PIT-u do urzędu skarbowego. Pomyślałam, że przy tej okazji pokażę Wam funkcję, która może sporo ułatwić to zadania. Mi co roku się przydaje.

Można ją wykorzystać wtedy, kiedy np. jesteśmy zatrudnieni na kilka różnych typów umów. Przykładowo: u głównego pracodawcy pracujemy na umowę o pracę, ale oprócz tego podejmujemy różne prace dorywcze: na umowę zlecenie czy o dzieło. Zakładam, że takich dodatkowych prac mamy kilka. Oczywiście na początku roku dostajemy milion PIT-ów od różnych pracodawców: niektóre na umowę o pracę, inne na zlecenie, a jeszcze inne – na dzieło. W formularzu PIT musimy jednak podać kwoty zbiorcze. A potem jedną dużą.

W tym wpisie pokażę Wam jak szybko policzyć sumę kwot z poszczególnych umów (o pracę, zlecenie, dzieło,…). Otrzymane wartości wystarczy wpisać w odpowiednie rubryki PIT-u i gotowe.

Dodam tylko, że wpis ten nie jest instrukcją wypełniania PIT-u.

Tak wygląda pusta formatka, którą się uzupełnia przy rozliczaniu PIT-u:

Formatka, przydatna do rozliczania PIT-u, do uzupełnienia

Formatka, przydatna do rozliczania PIT-u, do uzupełnienia

Uzupełnienie formatki polega na przepisaniu odpowiednich danych z formularza PIT-11. W formatce uzupełniamy rodzaj umowy, firmę (opcjonalnie, jednak dodanie tej informacji porządkuje dane), przychód, KUP, zaliczkę pobraną przez płatnika oraz składki na ubezpieczenia społeczne i zdrowotne. Czyli krótko mówiąc: prawie wszystko w górnej części formatki. Jedynie dochód wyliczy się sam. Na szczęście wszystkie te dane mamy podane w formularzu PIT-11, który otrzymujemy od pracodawcy.

A co robi plik, bo jak na razie tylko wpisujemy do niego dane? Plik policzy nam, ile sumarycznie otrzymaliśmy przychodu i in. na każdy rodzaj umowy: o pracę, zlecenie itp. Zajmie się tym druga część formatki: w wierszach od 9 do 13.

Prześledźmy to na przykładzie:

Rozliczanie PIT-u, Uzupełniona formatka - przykład

Uzupełniona formatka – przykład

Do kolumny Umowa wpisałam kilka przykładowych rodzajów umów. Kolejność, w jakiej dane są wpisane nie ma znaczenia. Ważne jest jedynie to, aby każdy rodzaj umowy był tak samo wpisany (za każdym razem np: o pracę). Jeśli chodzi o Firmę to, jak już wspomniałam, jest ona opcjonalna, jednak wprowadza porządek do danych.

Następnie kolumny Przychód, KUP, Zaliczka pobrana przez płatnika oraz Społeczne i Zdrowotne są to wartości, które należy spisać z PIT-u 11, który otrzymujemy od pracodawcy.

Teraz przejdę do obliczania poszczególnych pozycji.

Obliczanie dochodu

Dochód to różnica między przychodem a kosztami uzyskania przychodu. Matematycznie jest to zwykłe odejmowanie. Aby go obliczyć, należy do komórki E3 wstawić następującą formułę:

=C3-D3

A następnie skopiować ją do komórek poniżej.

Obliczanie sum kolumn w zależności od rodzaju umowy

To załatwimy hurtowo, jedną formułą dla wszystkich pozycji. Obliczymy nią cały przychód, KUP, dochód, zaliczkę oraz ubezpieczenia społeczne i zdrowotne oddzielnie dla umowy o pracę, o dzieło itp. W roli głównej wystąpi tutaj funkcja SUMA.JEŻELI. To ona załatwi nam temat sumowania tylko tych pozycji, które spełniają kryterium umowy.

Formułę należy wpisać do komórki C9 i skopiować do całego zakresu C9:H11. Najlepiej zrobić to za pomocą kombinacji klawiszy Ctrl + Enter, który opisuję tutaj. A formuła jest następująca:

=SUMA.JEŻELI($A$3:$A$7;$A9;C$3:C$7)

Dzięki temu, że wykorzystuję adresowanie bezwzględne (w pierwszym argumencie) i mieszane (w dwóch pozostałych) mogę użyć tej samej formuły do każdej kolumny. Cudowne!

Przypomnę tylko, że funkcja SUMA.JEŻELI przeszukuje zakres w swoim pierwszym argumencie, w poszukiwaniu kryteriów wskazanych w drugim argumencie i sumuje odpowiednie dane z zakresu w trzecim argumencie. Przy tak napisanej formule jak powyżej, funkcja zawsze przeszukuje zakres $A$3:$A$7, w poszukiwaniu kryteriów z kolumny A w tym wierszu, w którym się znajduje, i sumuje zakres między wierszami 3 i 7, jednak w kolumnie tej, w której się znajduje. Trochę kombinowania z adresowaniem, ale dzięki temu można napisać jedną formułę, która policzy wszystkie kolumny. Super, muszę przygotować takie ćwiczenie na szkolenie, ponieważ dobrze obrazuje o co chodzi z adresowaniem.

Mam nadzieję, że zaprezentowany sposób ci się przyda. Mi się przydaje co roku! A jeśli znasz kogoś, komu też może się przydać – wyślij mu proszę link do tego artykułu. Ułatwiajmy sobie życie :)

A jeśli ciekawi was, czemu słowo PIT odmieniam np. tak: PIT-u, to zachęcam do przeczytania artykułu na ten temat na zaprzyjaźnionym blogu kulturajezyka.pl.

Jak się pozbyć znaku gwiazdki (*) z komórki?

$
0
0

Na jednym ze szkoleń pokazywałam grupie, w jaki sposób zamienić kropki na przecinki (możesz o tym przeczytać tutaj lub tutaj – z użyciem VBA). Zaraz potem Jarek, jeden z uczestników, zapytał mnie, jak usunąć z komórki kreskę i myślnik. Wszystko robi się w taki sam sposób, więc z łatwością odpowiedziałam na jego pytanie. Proste. Ale Jarek nie dawał za wygraną i chciał wiedzieć, jak usunąć gwiazdkę (*).

I tutaj pojawiły się schody… „Yyyyy, eee, nie wiem!”

Jarek potrzebował tej informacji, aby móc usuwać zbędne znaki, jakie klienci dopisywali do numerów towarów w jego zestawieniach. Nie dałam za wygraną, musiałam dowiedzieć się, jak usunąć te gwiazdki.

Sposób okazał się bardzo prosty.

Może najpierw powiem, dlaczego nie można usunąć gwiazdki w taki sam sposób jak np. myślnika, czyli za pomocą narzędzia Znajdź/ Zamień. Otóż dlatego, że gwiazdka jest symbolem specjalnym i oznacza dowolny ciąg znaków. Czyli np. jeśli mam taką sytuację jak na rysunku:

MalinowyExcel-usuwanie-gwiazdki-przed

Dane, w których chcemy dokonać zmian

Załóżmy, że chcemy zamienić wszystkie słowa zaczynające się od ciągu znaków ada na Excel. Zamienimy więc 3 słowa: Adamowicz, Ada oraz Adamkiewicz. Zamiast nich będziemy mieli 3 razy Excel.

Nie będziemy oczywiście każdego z tych słów zamieniać ręcznie, ani też wpisywać ich do narzędzia Znajdź/ Zamień. Wpiszemy tam jedynie:

ada*

Powyższy zapis oznacza, że Excel ma zamienić takie ciągi znaków, które zaczynają się od ada, i dalej mają dowolną liczbę dowolnych znaków.

Aby wywołać narzędzie Znajdź/ Zamień, użyj skrótu klawiszowego Ctrl + h. Pojawi się okienko Znajdowanie i zamienianie, do którego wpisz to, co na rysunku poniżej:

Okno Znajdowanie i zamienianie oraz dane do wpisania

Okno Znajdowanie i zamienianie oraz dane do wpisania

Oto, jaki efekt otrzymujemy:

Dane po zamianie

Dane po zamianie

Tak wygląda standardowe użycie gwiazdki. Idąc tym tokiem rozumowania, jeśli wpiszemy do zamiany znak gwiazdki (*), Excel będzie chciał zamienić wszystko. A nie o to nam przecież chodzi. Jak więc powiedzieć Excelowi, aby zamienić lub usunąć znak gwiazdki? Zobaczmy te dane:

Dane z gwiazdkami do usunięcia

Dane z gwiazdkami do usunięcia

Aby usunąć gwiazdkę, należy otoczyć ją tyldą (~), czyli użyć następującego zapisu:

~*~

Naciskamy więc Ctrl + h i wpisujemy: ~*~

Otocz gwiazdkę tyldami

Otocz gwiazdkę tyldami

Efekt jest następujący:

Wolni od gwiazdek!

Wolni od gwiazdek!

Jedyne, z czym możecie mieć problem, to wstawienie drugiej tyldy. Mimo że naciskacie klawisz tyldy (pod Esc, Shift + ` ) na klawiaturze, nie wyświetla się ona na ekranie. Nie przejmujcie się – wystarczy wcisnąć np. spację zaraz po wciśnięciu tyldy i ta druga się pojawi (spacja już nie). A z pierwszą tyldą nie ma problemów, bo zaraz później naciskacie gwiazdkę.

Tyle.

Jeśli więc musielibyście kiedyś zamienić gwiazdkę na inny znak, już wiecie, jak to zrobić! Ciekawa jestem, jak często będziecie tego używać.

Analogicznie oczywiście wygląda sytuacja z zamianą znaku zapytania (?). Też należy go otoczyć znakami tyldy. A ktoś wie, co znaczy znak zapytania w tym kontekście?

 

Redakcja językowa: Aleksandra Wasiak


Zależna lista rozwijana w komórce

$
0
0

Już od jakiegoś czasu chodziło mi po głowie, aby napisać o tym triku artykuł. Dodatkowo zmotywował mnie Waldkorg, bo dziś właśnie o niego zapytał. Trik, który bardzo sobie chwalą użytkownicy  formularzy. Trik, który ułatwia i przyspiesza im pracę. Trik, dzięki któremu twoje formatki będą im przyjazne.

Kiedyś wykorzystałam go, gdy tworzyłam formularz, za pomocą którego handlowcy zamawiali towar.  Spośród całego asortymentu mieli oni wybrać te produkty, które zamierzali sprzedać. Każdy handlowiec najpierw określał grupę produktową, a następnie konkretny produkt z tej grupy. Na formularzu miała się znaleźć cała nazwa grupy oraz konkretny indeks produktu. Ponieważ wpisywanie tego z palca byłoby zbyt czasochłonne (i denerwujące), zaproponowałam bardzo sprytne i proste rozwiązanie – 2 listy rozwijane. Pierwsza była listą wszystkich kategorii produktów, druga zaś listą wszystkich produktów znajdujących się w wybranej kategorii. Stworzyłam więc listę rozwijaną zależną od wyboru dokonanego na poprzedniej liście.

Taki sam efekt chce uzyskać Waldkorg (ufam, że już uzyskał po przeczytaniu tego artykułu:) – Waldkorg, daj znać), który do budżetu domowego potrzebuje kategorii i podkategorii wydatków. Przykładowe dane znajdują się na poniższym obrazku:

Lista kategorii i podkategorii

Lista kategorii i podkategorii

Czyli np. jeśli wybierzemy kategorię Rozrywka, to na liście podkategorii powinny się znaleźć: Kino, Teatr, Basen. Bardzo sprytne rozwiązanie, jeśli w swoim budżecie domowym chcecie analizować więcej szczegółów. Przyznam, że w mojej propozycji budżetu domowego ograniczam się tylko do kategorii, dlatego że taki podział wydatków w zupełności mi wystarcza. Jeśli jednak potrzebujecie podzielić to na podkategorie, to metoda, którą opiszę dalej będzie idealna. Korzystajcie śmiało!

A efekt końcowy wygląda tak:

Lista zależna podkategorii

Lista zależna podkategorii

Żeby go osiągnąć należy zrobić nieco inną tabelę z danymi, niż gdybyśmy tworzyli pojedynczą listę rozwijaną. Tabela powinna wyglądać tak (zakres G2:H15):

Robocza tabela do zależnej listy rozwijanej

Tabela robocza

W tabeli tej należy wpisać obok siebie kategorię i jej podkategorie. Nazwa kategorii musi wystąpić tyle razy, ile jest podkategorii. Bardzo istotne jest, aby dane były posortowane po kolumnie Kategoria. Będzie to niezwykle istotne przy późniejszym pisaniu formuły.

Można byłoby też skorzystać z tabelek z pierwszego obrazka. Formuły byłyby rzecz jasna inne. Kiedyś nawet znalazłam w necie takie rozwiązanie, ale nie podobało mi się, bo określało się tam stałą długość listy: czasem więc lista zawierała puste pola, a czasem nie wyświetlała wszystkich elementów. Z pewnością da się ominąć to ograniczenie, ale przyznam, że i tak moje rozwiązanie bardziej mi się podoba, więc nad tamtym już się nie zastanawiałam. :)

No dobrze. Teraz po kolei opiszę kroki tworzenia zależnej listy rozwijanej.

1. Nazwanie zakresów

Jest to krok nieobowiązkowy, bez niego bowiem bez problemu sobie poradzimy. Lubię jednak stosować nazwy, ponieważ znacznie ułatwiają one zarówno pisanie, jak i czytanie formuł.

Nazwiemy 2 zakresy. Listę wszystkich kategorii i roboczą listę kategorii. Będą to zakresy A3:A5 (lista kategorii w zielonej tabelce na pierwszym obrazku) i G3:G15 (lista powtórzonych kategorii w fioletowej tabelce roboczej).

Żeby nazwać listę kategorii:

  1. Zaznacz zakres A3:A5.
  2. W polu nazwy (pole po lewej stronie od paska formuły) wpisz nazwę Kategorie.
  3. Zatwierdź Enterem.

Te same czynności wykonaj dla zakresu roboczej listy kategorii G3:G15, którą nazwij ListaRob. Tego zakresu będziemy używać w formule.

2. Stworzenie listy rozwijanej dla kategorii

To będzie proste:

  1. Zaznacz komórkę, w której chcesz umieścić listę. U mnie to A12.
  2. Z menu Dane wybierz Poprawność danych. Pojawi się okno Sprawdzanie poprawności danych.
  3. Jako wartości dozwolone wybierz lista.
  4. Jako źródło wpisz: =Kategorie (obrazek poniżej).

    Sprawdzanie poprawności - kategorie

    Sprawdzanie poprawności – kategorie

  5. Zatwierdź OK.

Wynik jest następujący:

Lista rozwijana kategorii

Lista rozwijana kategorii

3. Stworzenie (zależnej) listy rozwijanej dla podkategorii

Tutaj zaczyna się zabawa. Tworzyć listę umiemy – zrobiliśmy to przed chwilą dla kategorii. Pytanie tylko: „Jak powiedzieć Excelowi, aby wybrał tylko te wartości, które są przyporządkowane do konkretnej kategorii?”. Jak się zapewne domyślacie, skorzystam tutaj z tabeli roboczej i oczywiście z formuł.

Zacznijmy od tego, co umiemy, czyli od stworzenia listy rozwijanej w komórce B12. Zaznacz więc tę komórkę i wybierz Dane/ Poprawność danych, a jako kryterium poprawności – Lista.

W źródło listy wpisz taką formułę:

=PRZESUNIĘCIE($H$2;PODAJ.POZYCJĘ(A12;ListaRob;0);0;LICZ.JEŻELI(ListaRob;A12);1)

Wygląd okna Sprawdzanie poprawności danych:

Sprawdzanie poprawności dla podkategorii

Sprawdzanie poprawności dla podkategorii

Jak widać, cały trik listy zależnej polega na użyciu funkcji PRZESUNIĘCIE. No dobra, prawie cały. Pomagają jej funkcje PODAJ.POZYCJĘ i LICZ.JEŻELI. Funkcja PRZESUNIĘCIE pozwala dynamicznie określić zakresy. Na początku ustalamy komórkę, od której ma się zacząć przesuwanie zakresu, a w kolejnych argumentach ustalamy jego rozmiary.

W naszym przykładzie zakres będzie przesuwał się po kolumnie Podkategoria w tabeli roboczej (G2:H15). Przesuwanie zaczniemy od komórki H2, która jest jednocześnie pierwszym argumentem naszej funkcji. W formule ją zablokowałam, ponieważ zakładam, że listę rozwijaną będziemy wykorzystywać w wielu komórkach.

Ponieważ tabela robocza jest posortowana po Kategorii, to zakres, który ma być źródłem do listy rozwijanej, będzie zaczynał się tam, gdzie pierwsze wystąpienie wybranej kategorii. Np. dla kategorii Jedzenie chcemy wyświetlić zakres H6:H11, dla Transport – zakres H12:H15 itd. Zauważmy, że cały czas poruszamy się po kolumnie H, a jedyne co się zmienia to początek zakresu i jego wysokość (czyli liczba elementów na liście).

Początek zakresu zostanie przesunięty względem komórki H2 o tyle komórek w dół (o taką liczbę), ile wynosi numer pozycji pierwszego wystąpienia kategorii w kolumnie Kategoria. Łatwiej będzie na przykładzie: zakres dla kategorii Jedzenie jest przesunięty o 4 komórki w dół względem komórki H2 (zaczyna się w 4. komórce pod zakresem H2). W 4. komórce kolumny Podkategoria (nie uwzględniam nagłówka, czyli interesuje mnie nazwany zakres ListaRob) jest również słowo Jedzenie (jego pierwsze wystąpienie). Wykorzystujemy ten fakt właśnie do określenia początku zakresu. Posłuży nam do tego funkcja PODAJ.POZYCJĘ (wpisana w drugim argumencie funkcji PRZESUNIĘCIE):

PODAJ.POZYCJĘ(A12;ListaRob;0)

Wysokość zakresu ustali funkcja LICZ.JEŻELI. Zliczy ona wszystkie wystąpienia kategorii, czyli słowa Jedzenie. Słowo to występuje tyle razy, ile będzie pozycji w naszym zakresie. Liczba pozycji w zakresie to jego wysokość. Oto funkcja:

LICZ.JEŻELI(ListaRob;A12)

Oczywiście obie funkcje zawiera już funkcja PRZESUNIĘCIE opisana wyżej. Dodatkowo zauważcie, że zarówno w funkcji PODAJ.POZYCJĘ, jak i w LICZ.JEŻELI odwołałam się do nazwanego zakresu ListaRob. Tak jak wspomniałam wcześniej, nie trzeba używać nazw zakresów, można wpisać po prostu $H3:$H15. Użycie nazwy jest jednak łatwiejsze i czytelne.

I tyle. Jedna formułka, no niekoniecznie prosta, i załatwia sprawę! Dwa zastosowania tego triku już podałam. Ciekawa jestem natomiast, gdzie wy to wykorzystacie?

 

Redakcja językowa: Aleksandra Wasiak

Prosty budżet domowy: arkusz budżetowania

$
0
0

W poprzednich artykułach z cyklu Prosty budżet domowy opisywałam całą drogę gromadzenia informacji o MalinowyExcel_new_małeprzychodach i wydatkach oraz pokazywałam sposób na ich podsumowywanie (czyli oczywiście tabela przestawna). Do tej pory koncentrowałam się więc na gromadzeniu danych i ich analizie. Było to konieczne, gdyż – aby kontrolować przepływ domowych pieniędzy – musimy wiedzieć, ile ich faktycznie mamy i co z nimi robimy.

Dopiero kiedy jesteśmy z tym zaznajomieni i wpisywanie paragonów weszło nam w krew :), a przede wszystkim zgromadziliśmy jakiekolwiek DANE, jest nam łatwiej planować, co zrobimy ze swoimi pieniędzmi – czyli właśnie budżetować. W tym poście pokażę wam metodę na budżetowanie miesięczne. Czyli co miesiąc będziemy planowali, co zrobimy z naszymi pieniędzmi w kolejnym miesiącu.

Ten artykuł jest długi, ponieważ opisuję w nim 5 tabelek. Myślę jednak, że warto dotrwać do końca! :)

Zacznijmy od stworzenia nowego arkusza w naszym pliku z budżetem. Swój arkusz nazwałam po prostu Budżet.

Arkusz ten podzielony będzie na 3 sekcje:

  1. Dane wejściowe: zarobki w poprzednim miesiącu, miesiąc budżetowania, rok budżetowania i procent, o jaki chcemy zwiększyć prognozę wydatków.
  2. Planowanie: tutaj będziemy decydować, na co przeznaczymy pieniądze w danym miesiącu.
  3. Podsumowanie miesiąca: fakty, czyli na co faktycznie wydaliśmy pieniądze i jak w związku z tym wyglądają nasze oszczędności.

A oto miniaturka gotowego arkusza:

Arkusz budżetowania

Arkusz budżetowania

Omówię teraz oddzielnie każdą sekcję arkusza.

Dane wejściowe

Tutaj znajdują się 4 informacje:

  1. Zarobki w poprzednim miesiącu -komórka E1.
  2. Miesiąc budżetowania -komórka J1.
  3. Rok budżetowania -komórka O1.
  4. Procent, o jaki chcemy zwiększyć prognozę wydatków – komórka S1.

Trzem z tych komórek nadałam nazwy. Mianowicie:

  • J1 to Mc,
  • O1 to Rok,
  • S1 to Procent_prognoz.

Do tych nazw odwołuję się w dalszych formułach. Najprostszą metodą na nazwanie komórki jest zaznaczenie jej i wpisanie w polu nazwy (po lewej stronie od paska formuły) wybranej nazwy. Zatwierdzamy oczywiście Enterem.

Zarobki (E1) ustali następująca formuła:

=SUMA.WARUNKÓW(tb_DANE[PLN];tb_DANE[In/Out];"Przychód";tb_DANE[Rok-mc];Rok&"-"&Mc-1)

Funkcja ta sumuje tylko te wartości w kolumnie PLN tabeli danych, które dotyczą przychodu za poprzedni miesiąc (jeśli pensję dostajesz na początku miesiąca, to ostatni argument wpisz taki: Rok&”-„&Mc). Zobaczcie, że zastosowałam tutaj funkcję SUMA.WARUNKÓW (zakochałam się w niej ostatnio!). Można powiedzieć, że jest to rozszerzona wersja funkcji SUMA.JEŻELI. Ta ostatnia sumuje dane pod względem tylko jednego warunku. Ta pierwsza – może ich sprawdzić aż 127. Nam tutaj dwa warunki w zupełności wystarczą :)

Miesiąc (J1) i rok (O1) wpisz samodzielnie z palca. Oczywiście można się tutaj pokusić o formułę, która dane te wpisywałaby automatycznie, jednak myślę, że to przerost formy nad treścią. Poza tym, lepiej mieć kontrolę nad wpisanym miesiącem – każdy może przecież w innym dniu tworzyć budżet.

Warta omówienia jest ostatnia wartość – procent do prognoz. Jest to procent, o który będziemy zwiększać nasze prognozy. Np. jeśli okaże się, że w ostatnim czasie na jedzenie wydaliśmy średnio 1 000 zł, a nasz procent prognoz wynosi 10%, to do prognoz weźmiemy wartość o 10% wyższą, czyli 1 100 zł. Uważam, że warto założyć trochę więcej, aby później na wszystko nam starczyło. Procent prognoz możecie oczywiście dowolnie zmienić. To już zostawiam wam.

Planowanie

W tej sekcji będziemy prognozować wydatki oraz planować co zrobić z pieniędzmi, które nam zostaną. Sekcja planowania wygląda następująco:

Sekcja Planowanie

Sekcja Planowanie

Jak widzicie są to trzy tabelki:

  1. Prognoza wydatków,
  2. Plan oszczędzania,
  3. Stan oszczędności.

Szczegółowo omówię teraz każdą z nich.

Prognoza wydatków

Tabelka ta pokazuje nam ile wydamy w tym miesiącu na wydatki stałe (jedzenie, czynsz, kredyt, itp.) oraz ile na wydatki dorywcze (ubrania, kino, itp.). Duże wydatki – tzw. „strzały” – na razie pomijamy.

Tylko tyle.

Zarówno prognoza wydatków stałych jak i dorywczych będzie średnią, obliczaną z ostatnich 12 miesięcy. Zobaczymy ile wydaliśmy w ciągu ostatniego roku i podzielimy tę kwotę przez 12, aby uzyskać wartość dla miesiąca. Całość zwiększymy następnie o procent prognoz (komórka Procent_prognoz z danych wejściowych), i na koniec jeszcze zaokrąglimy w górę do pełnych setek. Wersja dość asekurancka, ale lepsza taka niż niedoszacowanie.

Dodatkowo zauważcie, że prognozujemy tylko wydatki stałe i dorywcze. Wydatków dużych, które zdarzają się raz na jakiś czas, np. lodówka, komputer czy meble, nie rozpatrujemy tutaj. Są to bowiem wydatki, które klasyfikuję jako cele, czyli coś na co oddzielnie zbieramy pieniądze. Zbieramy np. co miesiąc, a wydajemy z uzbieranych na dany cel pieniędzy i po prostu wpisujemy w tabeli z danymi jako wydatek z kategorią cel .

Jak już poznamy prognozowane wartości wydatków stałych i dorywczych, poznamy również kwotę jaka nam pozostanie do rozdysponowania. Od razu tutaj zaznaczę, że zakładam, że coś nam zostanie i te pieniądze będziemy dalej alokować. Oczywiście zdarzają się sytuacje, kiedy nic nam nie zostaje. Wtedy po prostu nie alokujemy pieniędzy, bo nie mamy czego.

Ok. Obliczmy zatem prognozowane wydatki stałe.

To, czy dany wpis jest wydatkiem, rozpoznamy po kolumnie IN/Out. Będzie tam informacja: Wydatek. O tym, że będzie on stały powie nam kolumna Rodzaj z wpisem Stały. Pytanie tylko jak sprawdzić, że wydatek został poniesiony w ciągu ostatniego roku? Do sprawdzenia tego wybrałam metodę, która wydawała mi się najłatwiejsza. Wykorzystałam fakt, że każdy wpis ma datę. Jeśli określę dwie daty graniczne: datę od i datę do (początek i koniec 12 miesięcy, które mnie interesują), to data każdego wydatku z ostatniego roku będzie zarówno większa od daty od i mniejsza od daty do. Wszystko co teraz potrzebuję, to ustalić datę od i datę do.

Żeby moja formuła była bardziej czytelna, wspomniane daty wyliczę w oddzielnych komórkach i się do nich odwołam. Niech więc data od będzie o komórce X1, a data do w X2.

Załóżmy, że planujemy czerwiec 2015 (w danych wejściowych w komórce Mc będzie 6, a w komórce Rok będzie 2015). Ostatni rok będzie więc zaczynał się pierwszego dnia czerwca 2014 (data od) i kończył ostatniego dnia maja 2015 (data do). Formuły będą zatem takie:

Data od:

=DATA(Rok-1;Mc;1)

Data do:

=DATA(Rok;Mc-1;30)

W dacie do założyłam ostatni dzień miesiąca jako 30. Nie chcę się bawić w ustalanie dokładnej daty końca miesiąca. Byłoby to dość skomplikowane, a 1 czy 2 dni w porównaniu do całego roku, nie mają znaczenia. Ułatwmy więc sobie życie :)

Ok. Jak już ustaliliśmy daty graniczne ostatniego roku, możemy policzyć nasze wydatki stałe. Do komórki E5 wpisz taką mega formułę:

=ZAOKR.W.GÓRĘ(SUMA.WARUNKÓW(tb_DANE[PLN];tb_DANE[In/Out];"Wydatek";tb_DANE[Rodzaj];"Stały";tb_DANE[Data];">="&X1;tb_DANE[Data];"<="&X2)/12*(1+Procent_prognoz);100)

Co robi ta formuła? Funkcja SUMA.WARUNKÓW (mówiłam, że będzie jej dziś dużo:)) sumuje wartości z tabeli tb_DANE, które:

  • wydatkami (IN/Out to Wydatek),
  • są wydatkami stałymi (Rodzaj to Stały),
  • zostały poniesione w ciągu ostatnich 12 miesięcy (między datą od i datą do).

Następnie suma tych wydatków jest dzielona przez 12 i powiększana o Procent_prognoz. Na koniec, za pomocą funkcji ZAOKR.W.GÓRĘ wynik jest zaokrąglany w górę do pełnych setek. Z moich roboczych danych wyszło 2900 zł.

Tak samo liczone są wydatki dorywcze (komórka E6). Jedyną różnicą w formule jest zamiana słowa „Stałe” na „Dorywcze”. Zobaczcie:

=ZAOKR.W.GÓRĘ(SUMA.WARUNKÓW(tb_DANE[PLN];tb_DANE[In/Out];"Wydatek";tb_DANE[Rodzaj];"Dorywczy";tb_DANE[Data];">="&X1;tb_DANE[Data];"<="&X2)/12*(1+Procent_prognoz);100)

W moim roboczym pliku wyszło 900 zł. Jakoś małorealistycznie :)

Ostatnim krokiem jest policzenie ile pieniędzy nam zostanie do rozłożenia na oszczędności. Tutaj formuła jest bardzo prosta – zwykłe odejmowanie: zarobki minus suma suma wydatków. Formuła jest taka (komórka E7):

=E1-SUMA(E5:E6)

Tak wygląda uzupełniona tabelka:

Tabelka planowania

Tabelka planowania

Tym sposobem mamy już stworzoną tabelkę prognozy wydatków. Teraz tylko ją sformatować i gitara. Przejdźmy więc dalej do planu oszczędzania.

Plan oszczędzania

Tutaj decydujemy co zrobimy z pieniędzmi, które nam zostały. Pusta tabelka wygląda tak:

Tabelka do planowania oszczędności

Tabelka do planowania oszczędności

Jeśli zaistnieje taka konieczność, to mamy tutaj możliwość przeznaczenia dodatkowych pieniędzy na wydatki stałe i dorywcze (np. za chwilę będzie wrzesień więc trzeba będzie dzieciom kupić podręczniki szkolne itp.). Dodatkowo alokujemy tutaj pieniądze na sytuacje awaryjne (warto mieć jakieś zaskórniaki na nieprzewidziane wydatki), inwestycje i na cele (np. zakup nowej lodówki). Oczywiście powiększajcie tę tabelkę w razie potrzeb. Powyżej zaproponowałam jedynie jej wygląd. Podejrzewam np., że pozycja Inwestycje powinna być rozbudowana np. o konkretne rodzaje inwestycji (akcje, lokaty, obligacje itp.), a celów zapewne będziecie mieli więcej niż jeden :). Pełna dowolność. Pamiętajcie tylko o odpowiedniej modyfikacji formuł (większe zakresy).

Najważniejsze jest to, że w żółte pola w tabelce wpisujemy z palca kwoty, które chcemy przeznaczyć na dany „fundusz”.

Formuły? Tak, dwie. Jedna informująca o ilości pieniędzy, które mamy do alokacji (K4), a druga to zwykła suma ulokowanych pieniędzy (K10).

Ilości pieniędzy, które mamy do alokacji (K4), obliczymy tak:

=E7-K10

Ta kwota jest śmiesznie liczona. Pamiętajmy, że gdy przeznaczymy jakieś pieniądze na wybrany cel – pierwotna pula pieniędzy się kurczy. Stąd takie odejmowanie.

A to suma przeznaczonych pieniędzy:

=SUMA(K5:K9)

Jeśli przekroczymy kwotę do alokacji – pierwsza formuła zwróci ujemną wartość.

I na koniec przykładowo uzupełniona tabelka:

Uzupełniona tabelka do planowania

Uzupełniona tabelka do planowania

Stan oszczędności

Ta tabelka pokazuje ile mamy pieniędzy na poszczególnych kontach/ funduszach. Czyli np. ile już uzbieraliśmy na wydatki stałe, ile na nasze cele (np. komputer).

Pozycja wydatki stałe wydatki dorywcze są w pewnym sensie techniczne. Oba te konta co miesiąc zasilamy i z obu zabieramy pieniądze. Są jednak miesiące, w których zabieramy mniej niż wkładamy i wtedy zostaje nam nadwyżka. Tej nadwyżki nie ruszamy, ponieważ może się zdarzyć również tak, że włożymy mniej niż wydamy. Lepiej w tę stronę, niż miałoby zabraknąć.

Oto wygląd tabelki:

Tabelka ze stanem oszczędności na początku miesiąca

Tabelka ze stanem oszczędności na początku miesiąca

Są w niej dwie kolumny wartości: Było i Jest.

W kolumnie Było znajduje się informacja ile pieniędzy znajduje się na danym koncie na początku miesiąca (w naszym przykładzie: na początku czerwca 2015).

Kolumna Jest informuje o tym, ile pieniędzy mamy na koncie w danym miesiącu, uwzględniając zaplanowane w poprzedniej tabelce kwoty. Czyli np. na koncie wydatków stałych mieliśmy na początku czerwca 571 zł. Z prognozy na podstawie ostatnich 12 miesięcy wynika, że wydamy na nie 2900 zł (pierwsza tabelka) i nie planowaliśmy zwiększać tych wydatków (w drugiej tabelce jest: zero). Obecnie na koncie wydatków stałych mamy 571 + 2900 = 3 471 zł. Tyle pieniędzy w czerwcu przeznaczamy na wydatki stałe.

Dane w kolumnie Było uzupełniamy ręcznie na początku miesiąca, więc nie ma tam żadnej formuły. W kolumnie Jest należy zaś wpisać następującą formułę (R5):

=Q5+E5+K5

i skopiować ją do pozostałych komórek (R6:R9). Polecam ci metodę szybkiego wpisywania formuł z zachowaniem formatowania komórek.

Wiersz podsumowujący zawiera oczywiście funkcję SUMA (Q10 i Q11):

=SUMA(Q5:Q9)

I to tyle jeśli chodzi o sekcję planowania. Jedźmy do informacji o faktach na koniec miesiąca.

Podsumowanie miesiąca: fakty

Tutaj już mamy tylko dwie tabelki. Pierwsza – informująca o poniesionych wydatkach na poszczególnych kontach. Druga – pokazująca stan oszczędności na koniec miesiąca. Sekcja ta wygląda tak:

Sekcja podsumowująca miesiąc

Sekcja podsumowująca miesiąc

Tabela poniesionych wydatków

Tutaj wyświetlimy informacje o poniesionych wydatkach, w podziale na poszczególne konta: wydatki stałe, dorywcze, cele i awarie. Oto tabela:

Tabela poniesionych wydatków

Tabela poniesionych wydatków

Dane będziemy sumować z tabeli danych (tb_DANE) i użyjemy do tego (znowu!) funkcji SUMA.WARUNKÓW. Do zakresu J15:J18 wpisz taką formułę:

=SUMA.WARUNKÓW(tb_DANE[PLN];tb_DANE[In/Out];"Wydatek";tb_DANE[Rodzaj];$I15;tb_DANE[Rok-mc];Rok&"-"&Mc)

Komórka J19 oczywiście sumuje wydatki:

=SUMA(J15:J18)

Pod tabelką właściwą jest miejsce na wpisanie informacji o wydatkach na konkretne cele. Ponieważ w tabeli danych nie określamy na jaki cel wydajemy pieniądze, a jedynie zaznaczamy rodzaj wydatku jako Cel, Excel nie odróżni na co konkretnie wydaliśmy pieniądze. Musimy to zrobić ręcznie w żółtych polach. W komórce K26 dorzuciłam jeszcze kontrolkę, czy suma wpisanych w żółte pola wydatków zgadza się z ogólną sumą wydatków na cele (komórka J17). Formuła jest następująca:

=JEŻELI(J24=J17;"ok";"błąd")

Ja lubię takie kontrolki, więc stosuję :) Wy – według uznania.

Tabela ze stanem oszczędności

Ostatnia, piąta, tabelka. Ma ona na celu pokazanie ile pieniędzy nam zostało na jakich kontach, po odjęciu wydatków w danym miesiącu. I taka też będzie formuła: stan oszczędności na początku miesiąca minus poniesione wydatki w tym miesiącu. Wpisz ją w zakresie R15:R19:

=R5-J15

A na koniec podsumuj (R20):

=SUMA(R15:R19)

Tak wygląda uzupełniona tabelka:

Tabela stanu oszczędności na koniec miesiąca

Tabela pokazująca stan oszczędności na koniec miesiąca

Technicznie to tyle. Teraz jestem wam jeszcze winna opis, jak i kiedy to wszystko uzupełniać.

Kolejność uzupełniania danych

Długo się zastanawiałam w jaki sposób to opisać. Nie było to oczywiste, ponieważ uzupełnianie arkusza budżetowania to trochę jak jajko i kura: najpierw zamknąć miesiąc, czy go otworzyć? Zdecydowałam się jednak, że opiszę to tak, jak będziecie to najczęściej robić, czyli najpierw zamknę miesiąc, a potem otworzę kolejny. Za pierwszym razem jak będziecie uzupełniać budżet, zacznijcie oczywiście od otwierania miesiąca :)

Aby poprawnie zadziałały nam wszystkie stworzone przed chwilą tabelki – koniecznie musimy uzupełnić dane w tabeli danych (tb_DANE). To właśnie z niej pobierane są informacje o wszystkich przychodach i wydatkach. Dane uzupełniamy najlepiej na bieżąco, jak tylko dany przychód czy wydatek się pojawi.

Załóżmy więc, że mamy koniec maja 2015, dostaliśmy pensję, znamy już swoje majowe wydatki. Możemy zamykać miesiąc. Interesuje nas więc tabelka 4. Poniesione wydatki. Jedyne, co musimy tutaj uzupełnić to żółte pola, mówiące o wydatkach na konkretne cele, jeśli takie ponieśliśmy. I tyle.

Więcej pracy będzie z początkiem miesiąca. Tutaj zaczynamy od uzupełnienia informacji:

  1. Uaktualnij stan oszczędności na początku miesiąca. Oszczędności na początku miesiąca są oczywiście takie, jakie były na końcu poprzedniego miesiąca. Skopiuj więc zakres R15:R19 (tabelka 5.) i wklej go specjalnie jako wartości do zakresu Q5:Q9 (tabelka 3.).
  2. Usuń dane z planu oszczędzania: K5:K9 (tabelka 2.).
  3. Usuń dane z wydatków na cel J22:J23 (tabelka 4.).
  4. Uzupełnij miesiąc w J1 (dla omawianego przykładu: 6) i rok w O1 (2015).
  5. Uzupełnij tabelkę 2 – plan oszczędzania.

 

Trochę się rozpisałam… Ten post jest najdłuższy na moim blogu! Mam nadzieję jednak, że wart poświęconego czasu i że wam się przyda. Zależało mi, aby proces budżetowania było możliwie łatwy i mam nadzieję, że udało mi się to osiągnąć. Co myślicie? A może macie jakieś pomysły na usprawnienia? Jeśli tak – jestem bardzo ciekawa jakie. Śmiało piszcie w komentarzach.

Plik z budżetem domowym do pobrania!

$
0
0

Ostatnio wrzuciłam na blog plik z budżetem domowym, który możecie pobrać. Bardzo do tego zachęcam! Jest toMalinowyExcel_new_małe podsumowanie cyklu artykułów pt. Prosty budżet domowy.

Plik możecie pobrać np. tutaj:

Enjoy!

Funkcja SUMA niewyświetlająca błędów – formuła tablicowa

$
0
0

Ten temat chodzi za mną już od jakiegoś czasu. Wiem, że za wami też, bo pytacie mnie o to ;)MalinowyExcel_new_małe

A sprawa jest taka: jak policzyć sumę, aby wyświetlała prawidłową wartość, jeśli w sumowanym zakresie są błędy?

Często zdarza się, że zakres, który chcemy zsumować, zawiera inne formuły. Często formuły te zwracają błędy. Niestety jeśli w sumowanym zakresie funkcja SUMA napotka błąd – zwróci ten sam błąd. Np:

Suma wyświetlająca błąd - działanie niepożądane

Suma wyświetlająca błąd – działanie niepożądane

Funkcja SUMA zwraca błąd (#N/D), ponieważ jedna z sumowanych komórek zwraca ten błąd. Zwróćcie uwagę, że w tabeli z kursami walut na obrazku nie ma dolara australijskiego (AUD). Ja natomiast chciałabym, żeby funkcja SUMA sumowała wszystko to, co potrafi i wyświetlała wynik. Czyli w tym wypadku wszystko oprócz tej błędnej wartości. W tym celu należy użyć formuły tablicowej…

W idealnym scenariuszu (a taki właśnie piszemy :) ), chcemy, aby formuła sprawdziła czy każda komórka w zakresie zawiera błąd. Jeśli tak – ma dodawać zero, jeśli nie – ma dodawać tę wartość. Przedstawię to rozumowanie na schemacie:

Schemat rozumowania

Schemat rozumowania

Ponieważ ma to być obliczone w jednej formule, należy tutaj posłużyć się formułą tablicową. Łatwą na szczęście :)

Kilka słów o formułach tablicowych…

No właśnie… Co to są te formuły tablicowe? Tak w uproszczeniu można powiedzieć, że robią one w jednej formule coś, co normalnie trzeba byłoby rozpisywać na kilka kolumn z formułami.

W naszym przykładzie moglibyśmy dopisać drugą kolumnę, w której sprawdzilibyśmy, czy funkcja SUMA zwraca błąd. Jeśli tak – zwrócilibyśmy zero, jeśli nie – wartość komórki. Na koniec oczywiście podsumowalibyśmy tę kolumnę już zwykłą funkcją SUMA. I zrobione. Z praktycznego punktu widzenia, ta kolumna pośrednicząca nic nie wnosi do naszej tabeli. Należy więc szukać takiego rozwiązania, by jej nie użyć.

A od strony technicznej warto wiedzieć, że formuły tablicowe zatwierdzamy kombinacją klawiszy Ctrl + Shift + Enter (nie mylić z Ctrl + Enter!). Dzięki temu Excel wie, że wpisaną formułę ma traktować „specjalnie” :) Na dowód tego ujmuje ją w nawiasy klamrowe: { = … }. Nawiasy te pojawią się TYLKO wtedy, gdy zatwierdzimy formułę podanymi klawiszami. Próba wstawienia ich ręcznie – nie zadziała.

Magiczna formuła

No właśnie. Jaka więc będzie nasza formuła? Taka:

=SUMA(JEŻELI.BŁĄD(C8:C12;0))

Oczywiście zatwierdźcie ją Ctrl + Shift + Enter. Wtedy pojawią się nawiasy klamrowe otaczające formułę:

Formuła z nawiasami klamrowymi

Formuła z nawiasami klamrowymi

Formuła zaczyna liczenie od środka (to akurat normalne działanie :) ). Najpierw sprawdza czy wartość w każdej kolejnej komórce zakresu C8:C12 jest błędem (funkcje JEŻELI.BŁĄD) i jeśli tak – zamiast jej wartości „zapamiętuje”, że ma dodać (funkcja SUMA) zero. Jeśli nie ma błędu – ma dodać wartość komórki.

Używam określenia „zapamiętuje”, ale w rzeczywistości Excel tworzy sobie w pamięci tablicę (czy inaczej po prostu: zakres), do której wpisuje wyniki funkcji JEŻELI.BŁĄD dla każdej komórki zakresu. Robi w pamięci to, co my moglibyśmy zrobić korzystając z kolumny pomocniczej. Na koniec wyniki są sumowane funkcją SUMA, która sama z siebie operuje na tablicach (zakresach).

Po wprowadzeniu tej formuły, suma zostanie policzona już prawidłowo. Jak na obrazku:

Wynik formuły tablicowej

Wynik formuły tablicowej

I tyle! Łatwe? Mam nadzieję, że tak :)

Tak sobie myślę, że możecie zapytać jeszcze, czemu formuła licząca cenę w PLN nie zabezpiecza się przed błędem? Można przecież tę formułę objąć funkcją JEŻELI.BŁĄD, która zadziała tak samo, jak w formule tablicowej: zawróci dobrą wartość lub zero, w przypadku błędu. Czyli może to wyglądać następująco:

=JEŻELI.BŁĄD(ZAOKR(B8*WYSZUKAJ.PIONOWO(A8;$B$2:$C$4;2;0);2);0)

Wynik wyszedłby ten sam. Jednak znaczenie byłoby – moim zdaniem – inne. Nie jest prawdą bowiem, że cena 58 AUD jest równe 0 PLN. W takim przypadku wolę już zwrócić błąd (#N/D) niż błędną wartość. Oczywiście ostateczna decyzja należy do was.

Co o tym myślicie? Przyda się? Dajcie znać w komentarzach.

 

Początek zdania wielką literą

$
0
0

Mimo, że Excel to głównie maszynka do liczenia, to zdarza się (i to często!), że coś trzeba w nim napisać. Choćby opisyMalinowyExcel_new_małe komórek, czy jakieś wyjaśnienie dla odbiorcy. Załóżmy, że te opisy zawierają w sobie kropkę, która nie oznacza końca zdania, np: odp. na maila. Po napisaniu tej kropki piszemy sobie dalej… ale… zaraz zaraz: co zrobił Excel z pierwszą literą słowa po kropce? Zamienił ją na wielką!!! O tak: odp. Na maila. No nie!!!! Trzeba teraz to skasować i napisać małą literą. Grrr!!! Gorzej, jak coś takiego musimy robić codziennie po kilka razy. Można się wkurzyć!

Co chcesz mieć, a co robi Excel to dwie różne sprawy...

Excel robi tak…

Macie tak? Na pewno jedno z was ma – Mycha – która zadała mi takie pytanie ;)

A wystarczy jedna mała opcja, by życie stało się łatwiejsze…

No właśnie. Ta zmiana wielkości litery to nic innego jak autokorekta. Domyślnie w Excelu, w opcjach autokorekty zaznaczona jest opcja Początek zdania wielką literą. Wystarczy ją odznaczyć. Gdzie?

Wchodzisz w menu Plik/ Opcje/ Sprawdzanie i tam klikasz klawisz Opcje Autokorekty…

Menu Opcje/ Sprawdzanie

Menu Opcje/ Sprawdzanie

A to okienko, które się potem pojawi:

Opcja do odznaczenia

Opcja do odznaczenia

I to tyle! Od tej pory już Excel nie zamieni nam pierwszej litery po kropce na wielką. Oczywiście stanie się tak również w przypadku, gdy będziemy tego jednak chcieli, czyli w przypadku pisania kilku zdań w jednej komórce. Ale w takich przypadkach i tak sami wstawiamy wielką literę, więc ja bym zaryzykowała :)

Jestem ciekawa, czy tym wpisem ułatwiłam wam życie? Podzielcie się wrażeniami w komentarzach :)

 

Jak zaokrąglić w górę – ustalanie planu sprzedaży

$
0
0

Do zaokrąglania liczb w Excelu służy bardzo dobrze znana funkcja ZAOKR. Opisywałam ją MalinowyExcel_new_małejuż na blogu np. tutaj. Funkcja ta świetnie sprawdza się w sytuacjach, gdy chcemy zaokrąglić jakąś liczbę tak, jak w matematyce. Np. obliczyliśmy cenę brutto, znając cenę netto i stawkę VAT, jednak wartość wynikowa (brutto) wyszła nam z 4 miejscami po przecinku. Używamy funkcji ZAOKR z drugim argumentem równym 2 i działa. W ten sposób zaokrągliliśmy liczbę do 2 miejsc po przecinku.

Problem pojawia się jednak wtedy, gdy wyliczyliśmy np. plan sprzedaży dla handlowców i wyszedł on tak: 25 813,41 zł. Nie damy przecież człowiekowi takiego planu: nie dość, że z groszami, to jeszcze trudno zapamiętać. Może więc zaokrąglić do pełnych setek, czyli 25 800 zł? To się nawet da zrobić funkcją ZAOKR (drugi argument równy -2), jednak wyjdzie nam wtedy wartość mniejsza niż wyliczony plan. Z punktu widzenia biznesu: lepiej dać większy plan niż mniejszy. Wtedy jest większa szansa na zabezpieczenie budżetu. Najlepiej więc będzie zaokrąglić do pełnych setek zawsze w górę (wyjdzie: 25 900 zł). Tego jednak funkcja ZAOKR nie umie…

Myślę, że najlepszym i najprostszym rozwiązaniem, aby otrzymać zamierzoną wartść: 25 900 zł, będzie użycie innej funkcji niż ZAOKR. Funkcja ta to ZAOKR.GÓRA. Również zaokrągla ona liczby, jednak zawsze w górę. Oto kilka przykładów jej działania:

Przykłady działania funkcji ZAOKR.GÓRA

Przykłady działania funkcji ZAOKR.GÓRA

Zauważcie, że zarówno liczba 45,1 jak i 45,9 zostały zaokrąglone do tej samej liczby: 46 (zaokrąglenie = zero, oznacza brak miejsc dziesiętnych; więcej o tym, co wpisać w drugim argumencie znajdziesz tutaj).

Spójrzcie na tabelkę, w której wyliczone są wstępne plany sprzedaży dla handlowców. Na razie czyste, bez jakichkolwiek modyfikacji.

Plany sprzedaży przed zaokrągleniem

Plany sprzedaży przed zaokrągleniem

Każdą z tych wartości chcemy teraz przedstawić zaokrągloną do pełnych setek w górę. Etapy rozwiązania są więc takie:

  1. Najpierw napiszemy funkcję zaokrąglającą i skopiujemy dla całej tabelki.
  2. Potem skopiujemy wynik i wkleimy specjalnie wartości spowrotem do tabeli .

Do dzieła!

Funkcja zaokrąglająca ZAOKR.GÓRA

Do komórki B17 wpisz następującą formułę:

=ZAOKR.GÓRA(B3;-2)

A następnie skopiuj ją do zakresu B17:F28. Otrzymasz następujący wynik:

Wynik działania funkcji ZAOKR.GÓRA

Wynik działania funkcji ZAOKR.GÓRA

To, dlaczego w drugim argumencie wpisałam -2, wyjaśniam tutaj. Działa on tak samo, jak w funkcji ZAOKR.

Teraz skopiuj cały ten zakres (Ctrl + C) i…

Wklejanie wyniku jako wartości

Kliknij prawym przyciskiem myszy w komórce B3 i z menu kontekstowego wybierz opcję wklejania wartości, czyli 123:

Wklej specjalnie wartości

Wklej specjalnie wartości

Teraz już formuły w zakresie B17:F28 możesz usunąć. Nie będą potrzebne. Dla porządku można jeszcze usunąć miejsca dziesiętne z formatowania.

Oto wynik:

Tabela z zaokrąglonymi wartościami

Tabela z zaokrąglonymi wartościami

Dalsze poprawki, np. zaokrąglenie planu rocznego do pełnych tysięcy, to już ręczna robótka :)

No i tyle. Proste, prawda? Mam nadzieję, że wam się przyda! Zachęcam do komentowania i shareowania :)

 

Powiązane artykuły:

  1. Zaokrąglanie liczb funkcją ZAOKR
  2. Zaokrąglanie liczby do wymaganej wielokrotności

 

Obliczanie ceny za usługę w zależności od czasu jej trwania

$
0
0

MalinowyExcel_new_małeIle klient powinien zapłacić za usługę (np. konsultację księgowej), która trwa 1 godzinę i 15 minut? A ile w przypadku, gdy za pierwszą godzinę płaci więcej niż za każde kolejne? A ile, jeśli ma płacić za każdą rozpoczętą godzinę?

Z takimi pytaniami zgłosił się do mnie jeden z czytelników bloga. Podobne pytania zadają sobie wszystkie te osoby, które mają ustalić cenę za usługę w zależności od czasu jej trwania. Oczywiście tego typu sprawy można dość szybko wyliczyć ręcznie, jednak na blogu piszę o usprawnieniach pracy, a ten przypadek aż się prosi, żeby go usprawnić :)

Ponieważ mogą być różne zasady rozliczania usług, w tym artykule rozpatrzę dwa ich przypadki.

wariant 1: klient płaci proporcjonalnie za każdą minutę kolejnej godziny,
wariant 2: klient płaci za każdą rozpoczętą godzinę pełną stawkę.

W obu przypadkach:

1. pierwsza godzina ma inną stawkę niż kolejne,
2. za pierwszą godzinę płaci się pełną stawkę.

Formatka

Formatka do tego zadania wygląda następująco:

Cena za usługę w zależności od czasu jej trwania - formatka

Formatka

W komórce C3 należy wpisać czas trwania usługi, oraz uzupełnić ceny w komórkach C6 i C7. W moim przykładzie jest 20 zł za pierwszą godzinę i 10 zł za każdą kolejną.

W komórkach kolumny C będzie rozwiązanie dla wariantu 1. (klient płaci proporcjonalnie za każdą minutę kolejnej godziny), a w komórkach kolumny D – wariantu 2. (klient płaci za każdą rozpoczętą godzinę pełną stawkę).

Rozwiązanie – wariant 1.

Przypomnę, że tutaj klient płaci proporcjonalnie za każdą minutę kolejnej godzin. Zajmijmy się szarymi komórkami, czyli obliczaniem ile pełnych godzin i pełnych minut trwała usługa. Dla naszego przykładu będzie to oczywiście 1 godzina i 15 minut.

Obliczanie godzin – komórka C10

=JEŻELI(ORAZ(C3<1/24;C3>0);1;GODZINA(C3))

Zwróćcie uwagę, że wyliczenie liczby godzin jest bardzo proste: całą robotę załatwia za nas funkcja GODZINA. Problem pojawia się jednak, gdy usługa trwała mniej niż godzinę, a zgodnie z założeniami, za pierwszą godzinę klient ma zapłacić pełną stawkę (i to w dodatku wyższą!). Musimy więc sprawdzić, czy przypadkiem usługa nie trwała mniej niż godzinę, ale dłużej niż 0. Do tego celu użyjemy funkcji ORAZ (sprawdzanie, czy trwała mniej niż godzinę, ale dłużej niż zero). Jeżeli tak – chcemy wpisać 1 (1 godzinę), a jeżeli nie – po prostu wyświetlamy liczbę pełnych godzin, za pomocą funkcji GODZINA.

Obliczanie minut – komórka C11
Analogicznie jak dla godzin, tylko używamy funkcji MINUTA, aby wyświetlić liczbę minut.

=JEŻELI(ORAZ(C3<1/24;C3>0);0;MINUTA(C3))

Obliczanie ceny za godziny

Cena za pełne godziny (C13) będzie to cena za pierwszą godzinę plus cena za kolejną godzinę razy liczba tych godzin.

=JEŻELI(C3=0;0;C6)+JEŻELI(C10>1;C10-1;0)*C7

Pamiętajmy, że jeśli użytkownik nic nie wpisze, to cena ma się równać zero, stąd pierwsze JEŻELI. Następne JEŻELI liczy wynagrodzenie dla kolejnych godzin.

Obliczanie ceny za minuty

Tutaj po prostu liczymy stawkę za minuty (C14):

=C11/60*C7

Łączna kwota do zapłaty

A to już banał – zwykła funkcja SUMA w komórce C16:

=SUMA(C13:C14)

A oto wynik dla wariantu 1.:

Cena za usługę w zależności od czasu jej trwania - wynik wariantu 1.

Wynik wariantu 1.

Rozwiązanie – wariant 2.

Dla wariantu 2., czyli gdy klient płaci za każdą rozpoczętą godzinę pełną stawkę, będzie trochę mnie wyliczeń. Odpada nam bowiem wyliczanie minut. Chcemy zatem obliczyć tylko liczbę rozpoczętych godzin. Oto formuła, która to obliczy (D10):

=JEŻELI(ORAZ(C3<1/24;C3>0);1;GODZINA(C3))+JEŻELI(C11>0;1;0)

A ta formuła policzy wynagrodzenie (D13):

=JEŻELI(C3=0;0;C6)+JEŻELI(D10>1;D10-1;0)*C7

I na koniec, żeby było ładnie :), wynagrodzenie w szarej komórce: zwykła SUMA:

=SUMA(D13:D14)

Ten krok można oczywiście pominąć, gdyż da w wyniku to, co poprzednia formuła.

Oto wynik wszystkiego:

Cena za usługę w zależności od czasu jej trwania - wynik

Wynik

Zaproponowane przeze mnie rozwiązanie zabezpiecza się na wszystkie przypadki (niewpisanie danych, usługa krótsza niż godzina, usługa dłuższa niż godzina). Można to oczywiście zrobić bez tych zabezpieczeń, wtedy formuła dla wariantu 1. wygląda tak:

=C6+(GODZINA(C3)-1)*C7+MINUTA(C3)/60*C7

a dla wariantu 2. tak:

=C6+JEŻELI(D10>1;D10-1;0)*C7

Wszystko :) Przyda Wam się? Mam nadzieję, że tak!

 

 

 


Tabela przestawna pamięta elementy usunięte ze źródła danych!

$
0
0

Jeśli często pracujecie z tabelami przestawnymi, to pewnie też natknęliście się na ten problem. Macie tabelę opartą na źródle danych w arkuszu, usuwacie jakieś dane z tego źródła, odświeżacie tabelę i… w filtrze w tabeli przestawnej te usunięte dane cały czas są!!! Grrr! Oczywiście tabela ich nie wyświetla, bo ich nie ma, ale na filtrach są. To jak w końcu? Są, czy ich nie ma? No…i są, i nie ma :)

Oczywiście przydałoby się, aby ich na dobre nie było! W tym wpisie pokażę, jak to zrobić. A jest to jedna bardzo prosta opcja :)

Zanim jednak przejdę do pokazania gdzie to ustawić, przyjrzyjmy się danym i tabeli przestawnej przed usunięciem i po usunięciu.

Tak wyglądają dane oryginalne, przed zmianami (jest USA):

Źródło przed usunięciem danych

Źródło przed usunięciem danych

A tak wygląda tabela przestawna oraz filtr pola Kraj (też jest USA):

Tabela i filtr kraju przed usunięciem danych

Tabela i filtr kraju przed usunięciem danych

A teraz źródło tabeli przestawnej po usunięciu rekordu z USA:

Źródło pousunięciu danych

Źródło po usunięciu danych

I tabela przestawna po tych zmianach:

Tabela i filtr kraju po usunięciu danych

Tabela i filtr kraju po usunięciu danych

Jak widać, tabela przestawna nie wyświetla usuniętej wartości, ale filtr ją wyświetla. Niesamowicie irytujące. Ja chcę, żeby zarówno tabela jak i filtr nie wyświetlały tych informacji.

Żeby to osiągnąć wystarczy wejść do opcji tabeli przestawnej (np. klikając prawym przyciskiem myszy na tabeli i wybierając Opcje tabeli przestawnej…). Tam, w zakładce Dane należy wybrać Brak z listy rozwijanej w opcji Zachowaj elementy usunięte ze źródła danych. O tak:

Opcja Zachowaj elementy usunięte ze źródła danych

Opcja Zachowaj elementy usunięte ze źródła danych

I tyle. Już będzie pięknie działało, czyli tak:

Wynik

Wynik

Co ciekawe, jak ustawimy tę opcję, to fragmentatory też to załapią i nie będą już wyświetlały usuniętych wartości. Akurat we fragmentatorach jest oddzielna do tego opcja (działa, gdy nie zaznaczyliśmy przedstawianej przeze mnie opcji).

Jeśli jesteście nią zainteresowani, to możecie ją włączyć/wyłączyć klikając prawym przyciskiem myszy na fragmentator i z menu kontekstowego wybrać Ustawienia fragmentatora…. A w okienku, które się pojawi, należy odhaczyć checkbox Pokaż elementy usunięte ze źródła danych:

Opcja do ustawienia dla fragmentatora

Opcja do ustawienia dla fragmentatora

Dzięki temu nasz fragmentator wygląda już ślicznie tak:

Gotowy fragmentator

Gotowy fragmentator

Oczywiście, jak mamy ustawione w opcjach tabeli przestawnej, aby nie pokazywał danych usuniętych ze źródła, to fragmentator z automatu też nie będzie ich pokazywał. Czyli polecam pierwszą metodę :)

I jak? Przyda się? Napiszcie w komentarzu, jestem ciekawa, czy was dla was też to jest takim zbawieniem, jak dla mnie ;)

 

 

 

 

 

Blokowanie okienek na wydruku

$
0
0

Na szkoleniach często pokazuję ten trik i zawsze uczestnicy są zachwyceni. Stwierdziłam więc, że z pewnościMalinowyExcel_new_małeą i wam się to przyda i spodoba. Zwłaszcza, jeśli zdarza się wam drukować w Excelu duże tabele, a wieeelu z nas się to zdarza nawet bardzo często :)

O co chodzi?

Chodzi o efekt blokowania okienek na wydruku. Jeśli w arkuszu zablokujecie okienka, to od tego momentu np. nagłówek tabeli będzie zawsze widoczny, niezależnie od miejsca, w którym stoicie (np. środek ogromniastej tabeli). Niestety jak zechcecie wydrukować tę cudną tabelę – nagłówek widoczny będzie tylko na pierwszej stronie wydruku. Kiszka trochę, zobaczcie:

Tak wygląda wydruk bez powtarzania nagłówków na każdej drukowanej stronie

Tak wygląda wydruk bez powtarzania nagłówków na każdej drukowanej stronie

A dalej dowiesz się, co zrobić, aby nagłówek widać było na wszystkich drukowanych stronach :)

Opcja, którą opiszę, nazywa się tytuły wydruku. jest oczywiście milion sposobów na wywołanie jej, ja jednak pokażę jeden.

Należy wejść na wstążkę Układ strony i kliknąć przycisk Tytuły wydruku. Tadam!

Układ strony i tytuły wydruku

Układ strony i tytuły wydruku

Pojawi się takie okienko:

Okno ustawień strony

Okno ustawień strony

Trzeba w nim ustawić się w rubryce U góry powtarzaj wiersze i wskazać wiersze, które mają być powtarzane. W przypadku naszego przykładu będzie to oczywiście pierwszy wiersz. Jak go wskażemy, Excel sam wpisze jego adres: $1:$1. Uzupełnione okienko wygląda tak:

Ustalone tytuły wydruku

Ustalone tytuły wydruku

Oczywiście, gdybyśmy mieli bardzo szeroką tabelę, np. mieszczącą się na 2 stronach w poziomie, warto byłoby ustalić kolumnę(y) do powtarzania na każdej stronie (np. id produktu). W tym celu należałoby skorzystać z opcji Z lewej powtarzaj kolumny.

Ok. Nas to jednak nie dotyczy, mamy wąską tabelę. Zobaczcie jaki jest efekt ustawienia tytułów wydruku dla wiersza:

Zablokowane okienka na wydruku

Zablokowane okienka na wydruku

Tak, wiem – trzeba trochę się wpatrywać, aby zauważyć, że faktycznie wiersz pod nagłówkiem jest inny na każdej stronie :) Ale mam nadzieję, że efekt widać?

Będzie super, jeśli udostępnicie ten wpis innym, którzy o tym triku nie wiedzą. Jestem przekonana, że trochę takich osób znacie :) Ułatwmy im życie!

 

PS numery stron da się oczywiście ustawić automatycznie w Excelu, jednak na tych obrazkach nic by nie było widać, więc zaznaczyłam je na czerwono ręcznie.

Przedszkolne usprawnienie pracy w Excelu

$
0
0

Pewnie niewielu z was wie, ale jestem mamą dwojga dzieci. Moja córeczka chodzi do przedszkola, a synek do żłobka.MalinowyExcel_new_małe

Dla tych z was, którzy nie mają dzieci (zwłaszcza w wieku przedszkolnym), wyjaśnię, że pobyt dziecka w państwowym przedszkolu jest teoretycznie darmowy. Praktycznie wygląda to tak, że płaci się za wyżywienie i za tzw. świadczenie, czyli za pobyt dziecka w przedszkolu po godzinie 13:00.

I tak, w zeszłym roku moja córeczka chodziła do przedszkola, gdzie nie było żadnego systemu ewidencjonującego pobyt dzieci. Zaczęłam się więc zastanawiać, jak to jest rozliczane? Nie mogłam się powstrzymać i poszłam do sekretariatu, żeby o to zapytać. Odpowiedź, jaką otrzymałam, zmroziła mi krew w żyłach: ręcznie. AAAAA! Czyli wyobraźcie sobie, że na koniec miesiąca pani intendentka (jakby miała mało pracy…) ręcznie liczyła: ile czasu dane dziecko było w przedszkolu. Potem liczyła, ile pieniędzy powinni zapłacić za to jego rodzice (1 zł za godzinę, naliczanie minutowe). Dostawali oni karteczkę z numerem konta, na które mieli przelać pieniądze i oczywiście kwotą – napisaną ręcznie.

I tak co miesiąc. Na szczęście były tylko 2 grupy po ok. 20 dzieci.

W tym roku są 3 większe grupy.

No ręce mi opadły. Przyszłam do domu i stworzyłam plik w Excelu, który liczy czas pobytu dzieci w przedszkolu oraz należną opłatę. Potem to już było dopracowywanie szczegółów z panią intendentką.

Cały zeszły rok szkolny, dyżur wakacyjny oraz ten rok do tej pory, liczone są na stworzonych przeze mnie plikach (zrobiłam też plik do rozliczania posiłków, ale o tym innym razem). Pani intendentce wyliczenie tego zajmuje teraz nie cały dzień z kawałkiem, jak do tej pory, tylko godzinę (trzeba wpisać dane:)). Różnica jest.

Postanowiłam, że pokażę wam jak wygląda ten cudowny plik i krótko omówię jego funkcjonalność. Mimo że ogromnie ułatwia pracę pani intendentce i oszczędza jej mnóstwo czasu – jest stosunkowo prosty. Zobaczcie.

Plik składa się z 10 arkuszy miesięcznych, 1 arkusza definicyjnego oraz arkusza do drukowania informacji dla rodziców.

Arkusz definicyjny zawiera tabelę z danymi dzieci: imię i nazwisko, grupa oraz przysługujące zniżki,

Arkusz definicyjny - dane dzieci

Arkusz definicyjny – dane dzieci

… oraz tabelkę definiującą stawkę za godzinę pobytu, numer konta do wpłat, wysokość odsetek oraz graniczny dzień, do którego należy wpłacać pieniądze:

Arkusz definicyjny - tabelka

Arkusz definicyjny – tabelka

Nie ma tutaj nic skomplikowanego, jedynie czyste dane.

Schody zaczynają się w arkuszu do rozliczania czasu pobytu. Wygląda on tak (schowałam większość kolumn z dniami, aby było więcej widać):

Arkusz czasu pobytu (do uzupełniania)

Arkusz czasu pobytu (uzupełniony)

Layout to prosta sprawa. Mamy tutaj imię i nazwisko dziecka, grupę, datę z dniem tygodnia, zsumowany czas, za który należy zapłacić, wysokość opłaty, miejsce na dodatkowe opłaty (np. niedopłata za poprzedni miesiąc), informacja o płatnościach (kiedy zapłacono i ile) oraz informacje o odsetkach i pozostałej kwocie do zapłaty. Odsetki są naliczane, jeśli opłata zostanie wniesiona później niż 15 dzień miesiąca.

Jakie więc są tutaj usprawnienia? Kilka :)

  1. Weekendy i święta są automatycznie wyszarzane, aby ułatwić wprowadzanie danych. Kolorowanie odbywa się na podstawie miesiąca w komórce A1.
  2. Czas, za który należy zapłacić, liczony jest za każdy dzień, od 13:00.
  3. Wysokość opłaty jest liczona zgodnie z zasadą, że za każdą godzinę płaci się 1 zł i jest naliczanie minutowe odpowiednio.
  4. W przypadku płatności po 15. dniu miesiąca – naliczane są odsetki za każdy dzień zwłoki.
  5. Niedopłata i odsetki doliczane są do należności na kolejny miesiąc.
  6. Automatyczne wczytywanie danych o dziecku (imię i nazwisko, grupa, zniżki) z arkusza definicyjnego.

Niektóre z formuł, np. liczenie odsetek, są kilometrowe, ze względu na maksymalną parametryzację (np. dzień graniczny liczenia odsetek czy miesiąc arkusza). Ale wszystko do ogarnięcia :)

I w końcu arkusz do drukowania informacji dla rodziców. Wygląda on tak:

Arkusz drukowania

Arkusz drukowania

Z listy rozwijanej w komórce A1 wybiera się miesiąc, za który ma być wydruk, a wszystkie dane się same wczytują. Jest to możliwe dzięki moim ulubionym funkcjom WYSZUKAJ.PIONOWO, TEKST i ADR.POŚR. Potrafią zdziałać cuda :)

Tak jak sobie myślę o pracy z tym plikiem, to oczywiście trochę jej jest. Trzeba po pierwsze wpisać godziny, a po drugie pociąć nożyczkami karteczki dla rodziców :) Na szczęście tylko tyle! Reszta dzieje się sama i o to właśnie chodziło. Wreszcie pani intendentka może zająć się pilniejszymi sprawami i nie traci niepotrzebnie czasu na coś, co się może zrobić samo. I robi się samo:)

A ja? Ja bardzo lubię wyszukiwać sytuacje, w których mogę coś usprawnić. Mam już sporo takich na swoim koncie i wciąż szukam. Wierzę, że tak jak w przedszkolu, w każdej firmie/organizacji jest ogromna liczba procesów, które wymagają usprawnienia. I to, wierzcie mi, większość z nich da się rozwiązać przy użyciu Excela. Np. sposób, w jaki usprawniłam proces ofertowania w jednej z firm (opiszę już niedługo :)).

Fajnie by było, gdybyście pod tym wpisem napisali o swoich doświadczeniach w usprawnianiu pracy. Jestem przekonana, że jest ich spoooro!

Jak ustalić ostatni dzień miesiąca?

$
0
0

Hehe, no właśnie. Niedawno się nad tym głowiłam, a to taka prosta sprawa (choć nie na pierwszy rzut oka). Potrzebowałam tego w wielu sytuacjach: liczenie średnich kosztów z oMalinowyExcel_new_małekreślonych miesięcy, uniwersalny grafik czasu pracy, w którym chciałam, aby na podstawie podania miesiąca, wyświetlały się wszystkie dni danego miesiąca i takie tam.

Pierwszy dzień miesiąca łatwo ustalić: zawsze dzień = 1. Z ostatnim dniem jest gorzej, ponieważ miesiące mają różną liczbę dni, a luty to już w ogóle (właśnie, ile dni ma w tym roku? Odpowiedź na końcu artykułu:))!

Dziś pokażę wam 2 sposoby na rozwiązanie tego problemu. Oczywiście jest ich więcej, jednak moje są dość łatwe. Zobaczycie :)

Będę chciała ustalić pierwsze dni następujących miesięcy (na formatce):

Ostatni dzień miesiąca formatka

Formatka

Tak, jak pisałam, pokażę wam 2 metody na wskazanie ostatniego dnia miesiąca. Obie są bardzo podobne – wybierzcie sobie tę, która wam bardziej przypadnie do gustu. Ponieważ obie oparte są o funkcję DATA, omówię ją teraz krótko.

Funkcja DATA

Funkcja ta jest megaprosta i megaprzydatna. Ma 3 argumenty, takie, jak każda data ma, czyli:

  1. Rok,
  2. Miesiąc,
  3. Dzień.

Przykładowo taki zapis:

=DATA(2016;01;19)

zwróci na taką datę: 2016-01-19. Oczywiście argumentami tej funkcji mogą być odwołania do komórek jak i funkcje zwracające liczby. Co potrzeba.

Wynikiem funkcji jest data, czyli tak na prawdę liczba naturalna. Przypomnę, że dla Excela daty to są liczby, a pierwsza data, jaką Excel (standardowo) rozpoznaje to 1900-01-01 i jest to liczba 1. Wspomniana data 2016-01-19 jest więc liczbą 42 388. Funkcja DATA zwraca takie właśnie liczby, tylko sformatowane od razu na daty.

Jeśli zatem chcemy ustalić pierwszy dzień  lutego 2016, wystarczy wpisać tak:

=DATA(2016;2;1)

Zawsze więc wpiszemy rok i miesiąc, które nas interesują i jako ostatni argument – dzień – wpiszemy po prostu 1. Cała filozofia.

Ok, tyle tytułem wstępu, przejdźmy do ustalania ostatniego dnia miesiąca.

Metoda 1

Jedną z metod ustalania ostatniego dnia miesiąca jest ustalenie pierwszego dnia kolejnego miesiąca i… odjęcie 1. !!! Tyle :) Pokazałam przed chwilą, jak ustalić pierwszy dzień miesiąca – banalnie. Odejmij 1 i masz wynik :)

Przykładowo chcę ustalić ostatni dzień sierpnia roku 2016. Muszę więc poznać pierwszy dzień września 2016 i odjąć od tego 1. Czyli:

=DATA(2016;9;1)-1

Funkcja zwróci mi datę 2016-09-01, czyli liczbę 42 614. Po odjęciu 1 otrzymam liczbę 42 613, czyli dzień wcześniej, czyli 2016-08-31.

Tadam!

To jedźmy do drugiej metody.

Metoda 2

Druga metoda również korzysta z funkcji DATA. Tutaj jednak wykorzystamy pewną właściwość tej funkcji.

Mianowicie, jeśli w ostatnim argumencie (dzień) wpiszemy dzień z danego miesiąca, to oczywiście funkcja zwróci nam datę z tym dniem. Co jednak, gdy np. dla marca 2015 wpiszemy tam liczbę 32? Tak, Excel zwróci nam kolejną datę, czyli 2015-04-01.

Idąc tym tropem, co będzie, gdy dla marca 2015 wpiszemy tam 0 (zero)? Właśnie tak – otrzymamy dzień poprzedni, czyli 2015-02-28.

I to jest druga metoda. Czyli:

=DATA(2015;3;0)

Zerowy dzień następnego miesiąca.

Parametryzowanie

Wracając do moich przykładów z formatki, tak wyglądają wyniki:

Ostatni dzień miesiąca uzupełnione

Wyniki

Można to oczywiście parametryzować. Skoro w kolumnie A mam wpisane miesiące, których ostatnie dni chcę poznać, nie będę przecież klepała 8 funkcji ręcznie. Odwołam się do komórek w kolumnie A i użyję odpowiednich funkcji do ustalenia odpowiedniego roku i miesiąca. Aby to zadziałało, w kolumnie A muszę mieć oczywiście daty, czyli de facto liczby. To, że daty te wyświetlają się jako nazwa miesiąca i rok, to już kwestia formatowania niestandardowego.

Jak więc mamy liczby w kolumnie A, możemy działać z funkcjami.

I tak, metoda 1., czyli odejmowanie 1 od pierwszego dnia kolejnego miesiąca można zapisać tak (komórka B4):

=DATA(ROK(A4);MIESIĄC(A4)+1;1)-1

W powyższej formule rok ustalany jest funkcją ROK, która pobiera dane z komórki A4. Miesiąc ustalany jest funkcją MIESIĄC, która również pobiera dane z komórki A4. Dzień jest to zawsze 1.

Dla metody 2. natomiast, wystarczy wpisać w C4 następującą formułę:

=DATA(ROK(A4);MIESIĄC(A4)+1;0)

Tutaj w drugim argumencie – miesiąc – dodajemy 1, aby uzyskać miesiąc następny. Dzień to zawsze 0 (zero).

Jak widzicie – metody są bardzo podobne i bazują na tej samej logice. Ostatni dzień miesiąca jest przed pierwszym dniem następnego miesiąca.

 

A odpowiedź na pytanie z początku wpisu to: w tym roku luty ma oczywiście 29 dni :)

I jak? Przyda wam się? Jestem ciekawa do czego tego użyjecie. Koniecznie napiszcie w komentarzach.

Kierunek grupowania danych

$
0
0

Tytuł tego wpisu brzmi dość enigmatycznie – wiem :) Chodzi o to, żeby zamiast tego:MalinowyExcel_new_małe

Grupownie domyślne: PRZED

PRZED

mieć to:

Grupowanie: PO

PO

Już tłumaczę, o co chodzi.

Grupowaliście kiedyś dane w Excelu? Przykład grupowania jest na rysunku poniżej:

Przykład grupowania danych

Przykład grupowania danych (szczegóły są widoczne)

Na powyższym obrazku zgrupowane są wiersze 3:7 (Administracja), 9:12 (Bezpieczeństwo), 14:18 (Centrum Telefoniczne) oraz kolumny C:E (Q1) i G:I (Q2).

To, że dane są zgupowane można poznać po tym, że przed/nad nagłówkami wierszy i/lub kolumn widoczne są symbole konspektu (kreski i kropki z plusami lub minusami). W przypadku, gdy grupa jest rozwinięta – widzimy kreskę oraz symbol konspektu „-„. Gdy zaś jest zwinięta – widzimy jedynie symbol konspektu „+”.

Zobaczcie teraz jak wyglądają te same dane, jednak bez szczegółów (grupy zwinięte):

Zwinięte szczegóły grupy

Zwinięte szczegóły grupy

Zauważcie, że w przypadku kolumn, symbole konspektu są tam, gdzie powinny być: dokładnie w kolumnach kwartałów (F i J). Dla wierszy natomiast są o jeden widoczny wiersz za nisko. Plusik dla Administracji jest w wierszu 8, a powinien być w wierszu 2 itd. Przydałoby się jakoś ten plusik przesunąć wyżej.

Da się to zrobić oczywiście i to jedną prostą opcją. Na wstążce Dane w sekcji Konspekt, w prawym dolnym rogu tej sekcji jest malutka strzałka w prawo w dół:

Tajemne wejście do opcji konspektu

Tajemne wejście do opcji konspektu

Trzeba oczywiście ją kliknąć i pojawi się okienko z ustawieniami:

Ustawienia konspektu

Ustawienia konspektu

I cała sztuczka polega na tym, aby odznaczyć odpowiednią opcję: jeśli chcesz (tak, jak ja w przykładzie), aby plusik pojawiał się na d grupą – odznacz opcję Wiersze podsumowań poniżej szczegółów. A jeśli chcesz, aby dodatkowo plusiki były przed kolumnami – odznacz opcję Kolumny podsumowań po prawej stronie szczegółów.

I viola! Cała filozofia. Efekt otrzymujemy taki:

Wynik - plusy podsumowań w tym samym wierszu, co tytyu.

Wynik – plusy podsumowań w tym samym wierszu, co tytuł.

 

Wiedzieliście, że tak się da? Jak tylko moja siostra zobaczyła, że tak, natychmiast powiedziała: musisz napisać o tym wpis na blogu! So, here it is… :)

Viewing all 291 articles
Browse latest View live