Żeby stworzyć mini kalendarz w arkuszu Excela trzeba się trochę napracować. Przede wszystkim trzeba zrobić tabelę z 12 miesiącami i odpowiednią ilością komórek (dni) dla każdego miesiąca. Potrzeba 42 komórki — 6 tygodni po 7 dni. Ciągi od poniedziałku do niedzieli.
Jeśli masz wybrany rok, dla którego chcesz zrobić kalendarz to teraz potrzeba ustalić 1 dzień tego roku, czyli pierwszy stycznia. Można to zrobić prostą formułą:
=DATA($B$1;1;1)
Następne pierwsze dni miesiąca można stworzyć korzystając z formuły:
=NR.SER.OST.DN.MIES(C4;0)+1
czy do ostatniego dnia z poprzedniego miesiąca dodajemy jeden dzień i dzięki temu mamy pierwszy dzień kolejnego miesiąca.
Ważne, żeby miesiące były sformatowane tak, żeby pokazywał się tylko miesiąc (4 razy literka m oznaczająca miesiąc mmmm).
Podobnie komórki przeznaczone na dni formatujemy liczbowo (Ctrl + 1) tylko pojedynczą literą d, żeby pokazywały tylko numer dnia.
Żeby uzyskać kolejne daty wystarczy dodawać kolejną liczbę dni. Można np dołożyć dodatkowe nagłówki nad komórkami dni z liczbami od 1 do 42. Tylko w takiej sytuacji kończymy tylko z tym, że zawsze zaczynamy od 2 dnia miesiąca, a chcemy, żeby pierwszy dzień miesiąca pojawiał się w komórce odpowiedniego dnia tygodnia.
Żeby to uzyskać potrzebujemy jeszcze sprawdzić jaki dzień tygodnia był pierwszego dnia miesiąca. Wystarczy do tego prosta funkcja:
DZIEŃ.TYG($C4;2)
2 w drugim argumencie służy, by poniedziałek pokazywał się jako 1, a niedziela jako 7.
Teraz wystarczy połączyć wszystkie elementy by uzyskać kolejne dni:
=$C4-DZIEŃ.TYG($C4;2)+D$2
Uzyskasz wtedy odpowiednie numery dni, ale przydałoby się jeszcze odpowiednio sformatować warunkowo komórki, by dni z innego miesiąca było widać inaczej podobnie też niedziele.
Dla dni miesiąca potrzebujemy sprawdzać taką formułę:
=MIESIĄC($C4)<>MIESIĄC(D4)
a dla niedzieli wystarczy taka formuła
=DZIEŃ.TYG(D4;2)=7
Tak masz przygotowany prosty mini kalendarz w Excelu.
P.S.
Jeśli chcesz dowiedzieć się więcej na temat Excela lub nie wiesz jak coś zrobić to napisz do mnie. Ja w miarę możliwości odpowiem na Twoje pytanie.
Jak za pomocą VBA pokazać wartości w komórkach gdy je zaznaczymy?
Jak pokazać wartości w komórkach gdy są zaznaczone VBA — widzowie #48
Żeby pokazywać wartość w komórkach tylko wtedy gdy są zaznaczone najwygodniejszą opcją jest skorzystać z kodu VBA.
Ukryć wartość w komórce można np: nadając jej kolor taki jak kolor wypełnienia lub ewentualnie formatowanie liczbowe w postaci trzech średników ;;;
to są 2 różne podejścia, dla których kody VBA są odpowiednio formatowanie: Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A1:A31").NumberFormat = ";;;"
If Not Intersect(Range("A:A"), Target) Is Nothing Then
Selection.NumberFormat = "General"
End If
End Sub
oraz dla koloru
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A:A").Font.Color = RGB(255, 255, 255)
If Not Intersect(Range("A:A"), Target) Is Nothing Then
Selection.Font.Color = RGB(0, 0, 0)
End If
End Sub
P.S.
Jeśli chcesz dowiedzieć się więcej na temat Excela lub nie wiesz jak coś zrobić to napisz do mnie. Ja w miarę możliwości odpowiem na Twoje pytanie.
Czasami korzysta się z zagnieżdżania funkcji JEŻELI. W pewnych sytuacjach nie ma innej możliwości i tak trzeba postępować, ale czasami można wiele zagnieżdżeń JEŻELI zastąpić jedną funkcją WYBIERZ.
Przykładowo mamy oceny dla pracowników A – Świetny, B – Średni, C – Słaby i D – Do zwolnienia. Zagnieżdżone funkcje JEŻELI mogą posłużyć do wybrania opisu na podstawie oceny:
Ale wystarczy wiedzieć, że możesz literę zamienić na jej KOD, czyli odpowiadającą jej liczbę i da się to skrócić do jednej funkcji WYBIERZ. Wynik KOD("A")=65.
Żeby policzyć liczbę słów wystarczy policzyć liczbę spacji i dodać jeden. Czyli przekłada się to na formułę e Excelu:
=DŁ(C3)-DŁ(PODSTAW(C3;" ";""))+1
Funkcja PODSTAW zamienia spacje na pusty ciąg znaków i dzięki temu z długości możemy wywnioskować ile było spacji.
To najbardziej podstawowe obliczenie, ale możemy poszerzyć obszar liczenia słów na zakres komórek. Dołożymy jeszcze do tego zabezpieczenie w postaci funkcji USUŃ.ZBĘDNE.ODSTĘPY, żeby usunąć zbędne spacje.
Problem się tu pojawia z pustymi komórkami ponieważ zawsze dodajemy jedynkę, więc puste komórki podają, że mają 1 słowo. Żeby to naprawić potrzebujemy sprawdzić, które komórki są puste. Można to zrobić prostą formułą:
=USUŃ.ZBĘDNE.ODSTĘPY(A1:C5)<>""
teraz trzeba połączyć te dwa obliczenia np: w funkcji SUMA.ILOCZYNÓW, trzeba tylko pamiętać, by wyniki PRAWDA i FAŁSZ z drugiej formuły zamienić na 1 i 0 za pomocą podwójnego znaku minus.
Jak wyszukać kolejne wartości dla tego samego kryterium?
Zwracanie kolejnych wartości dla tego samego kryterium — porada #164
Czasami chcesz wyszukać nie tylko wystąpienie wartości jak to robi funkcja WYSZUKAJ.PIONOWO, ale też kolejne. Niestety w Excelu musisz się nad tym napracować.
Potrzebujesz najpierw sprawdzić czy w danym wierszu jest szukana wartość, a następnie jeśli jest to wstawić numer pozycji na liście, a jeśli nie to zostawić FAŁSZ. Możesz to osiągnąć za pomocą kombinacji funkcji JEŻELI i WIERSZ:
teraz będziemy chcieli wyciągać kolejne minimalne wartości, czyli będziemy potrzebować funkcji MIN.K i NR.KOLUMNY (żeby zmieniać wartość parametru k automatycznie).