Moje doświadczenia z Excelem, Accesem i programowaniem w VBA

Wpisy z tagiem: data

piątek, 02 stycznia 2015

Podstawą każdego kalendarza są daty w nim zawarte. To oczywiste. Podobnie jest w Excelu. Chcąc stworzyć własny kalendarz - na przykład taki jak opisany w notce:

Jak zrobić sobie własny kalendarz

też musimy zacząć od daty. Na wszelki wypadek przypominam, że data w Excelu to liczba odpowiadająca liczbie dni od 1 stycznia 1900r. Szczegóły są tu:

Data i czas to liczby

Chcąc wpisać prawidłową datę - musimy użyć standardu: RRRR-MM-DD. Choć nie oznacza to, że taki format musi być widoczny również na ekranie - sposób prezentacji danych to już kwestia odpowiedniego sformatowania komórki.
W moim kalendarzu widać to w komórce A1, gdzie wpisana jest data pierwszego dnia miesiąca, którego dotyczy dana karta kalendarza. 

formatowanie daty

Jak widać na pasku formuły - wpisana jest data 2015-01-01, natomiast w samej komórce A1 widnieje styczeń 2015. Wynika to z niestandardowego formatowania komórki:

formatowanie daty

W tym przypadku zastosowałam format mmmm rrrr - w ten sposób wyświetlana jest pełna nazwa miesiąca oraz rok w postaci 4 cyfr.

W części głównej kalendarza czyli komórkach B5:H9 też zastosowałam formatowanie niestandardowe, tym razem jednak wskazując sam dzień miesiąca:

 

formatowanie daty

W tym przypadku, ponieważ efekt końcowy ma być tylko liczbą oznaczającą kolejne dni miesiąca, formatowanie to: dd.

I tyle w temacie dat - kolejna notka będzie poświęcona formułom zawartym w części głównej kalendarza.


wtorek, 06 sierpnia 2013

O danych typu Data i Czas pisałam już kilkakrotnie. Sądząc jednak z różnych wypowiedzi spotykanych na forach tematycznych - ciągle jest z tym problem. Przy okazji - polecam najlepsze forum Excela w polskiej części internetu:
Excelforum.pl

O co więc chodzi z ta datą? Wielu użytkowników Excela ma problem ze zrozumieniem tego typu danych. Przede wszystkim więc warto pamiętać o sprawie zasadniczej - data to liczba. To, co widzimy na ekranie - ładna data, gdzie nawet miesiąc jest wpisana słownie to tylko kwestia odpowiednio sformatowanego wyświetlania na ekranie, nadal jednak jest to liczba. Jej wielkość jest wyznaczona liczbą dni jakie upłynęły od "początku świata", a konkretnie - od 1 stycznia 1900 roku.
Można się o tym przekonać samemu - w kolumnie A wstawiamy liczby, w kolumnie B - odniesienia do komórek z tego samego wiersza kolumny A (np. B1=A1). Kolumnę B formatujemy jako datę - efekt jak na obrazku:

data

A co z czasem? Godzina to część ułamkowa - czyli to co po przecinku. Zmieniając formatowanie na pełna datę wraz z godziną oraz wstawiając liczby z wartościami po przecinku - widzimy to:

data

Istotne jest też tu to, że do komórek sformatowanych jako data i/lub czas nie mają odniesienia funkcje tekstowe. Dokładnie rzecz ujmując - zostanie wyznaczona wartość związana z liczbą przechowywaną w komórce, a nie sposobem jej prezentacji.
Np. Dł(B1) =1 - w komórce B1 faktycznie jest jednocyfrowa liczba 1.

Mimo, że dane w kolumnie B wydają się bardzo regularne, nie da się ich również podzielić za pomocą opcji Tekst jako kolumny.

 


 

 

 

 

 

Kurs Excel - zaawansowane funkcje i formuły


środa, 10 października 2012

Funkcja Excela EOMONTH(Data_pocz;Miesiące) należy do Funkcji Daty i Czasu Excela. Zwraca wartość ostatniego dnia miesiąca liczonego o określoną liczbę miesięcy od wybranej daty.
Otrzymana wartosć jest datą.

Argumentami funkcji są

Data_pocz - argument typu Data. Wyznacza datę początkową, od której zaczynami odliczanie.
Miesiące - liczba mieięcy 
 

Jeżeli jako datę poczatkową przyjmiemy dzień dzisiejszy (czyli 10 października 2012) , a liczbę miesięcy 2 - to w tym przypadku funkcja zwróci nam wartość ostatniego dnia roku

 

funkcja Eomonth

Odpowiednio formatując komórki - widzimy, że Sylwester w tym roku przypada w poniedziałek. 

Odpowiednikiem funkcji w VBA jest funkcja arkuszowa Eomonth().  

 

 

 

 

 

wtorek, 18 września 2012

W praktycznym wykorzystaniu często jest tak, że chcielibyśmy mieć wyświetlone dane w jakiś specjalny sposób. Szczególnie przydatne jest to w przypadku daty.
Jak sformatować sobie datę? Jest to bardzo proste. Klikamy prawym przyciskiem myszy na komórce lub obszarze komórek i z menu podręcznego wybieramy opcje Formatuj Komórki ...
Następnie wybieramy sobie odpowiadający nam forma z grupy formatów Daty.

 formatowanie daty

Wybieramy żadany przez nas format i już. 

Czasami jednak okazuje się, że standardowe formaty nas nie zadowalają i chcielibyśmy ustawić własny format. Jest to oczywiście też możliwe.
Wybieramy w takim przypadku kategorię Niestandardowe i sami wpisujemy pożądany przez nas format.

 

formatowanie daty

Zasady formatowania sa następujące:

rr - wyświetla rok w formacie dwucyfrowym np. 12
rrrr- wyświetla rok w formacie czterofyfrowym np.2012
mm- wyświetla miesiąc w formacie liczby np. 09
mmm- wyświetla miesiąc w formacie słownym skróconym np. wrz
mmmm - wyświetla miesiac w pełnej nazwie np. wrzesień
dd- wyświetla dzień w formacie liczbowym np. 18
ddd - wyświetla dzień w formacie słownym skróconym np. wt
dddd - wyświetla dzień w formacie pełnej nazwy dnia tygodnia

Ustawiając włane formatowanie np. jako dddd-dd-mm otrzymujemy dzisiejszą datę w taki sposób:

formatowanie daty

Warto przy tym pamiętać, że w samej formatowanej komórce nadal jest pełna wartość komórki. Formatowanie zmienia tylko sposób jej wyświetlania w arkuszu Excela. 

   

 

 

 

 

poniedziałek, 27 sierpnia 2012

Funkcja Excela Teraz() zwraca wartość bieżącej daty i godziny. Jest funkcja nietrwałą tzn. jej wartość zmienia się właśnie w zależności od daty i godziny. Wstawiając do komórki funkcję =DZIŚ() - po każdym odświeżeniu zobaczymy tam inną wartość.

Odpowiednikiem funkcji w kodzie VBA jest funkcja Now().


poniedziałek, 20 sierpnia 2012

Funkcja Excela Dziś() zwraca wartość bieżącej daty. Jet funkcja nietrwałą tzn. jej wartość zmienia się właśnie w zależności od daty. Wstawiając do komórki funkcję =DZIŚ() - codziennie zobaczymy tam inną wartość.
Ja osobiście często wykorzystuję te funkcję do formatowania warunkowego danych tzn. wyróżniania wartości uzależnionych od bieżącej daty.

Odpowiednikiem funkcji w kodzie VBA jest funkcja Date().


wtorek, 17 lipca 2012

Funkcja Excela DZIEŃ.TYG(Liczba_Kolejna,Zwracany_typ) należy do funkcji Daty i Czasu. Wynikiem jej działania jest liczba odpowiadająca dniu tygodnia konkretnej daty.

Argumenty funkcji to:
Liczba_Kolejna - data w formacie liczbowym. Argument wymagany.
Zwracany_typ - argument opcjonalny. Liczba odzwierciedlająca przyjęty system liczenia dni: 

1 -  od niedzieli (1) do soboty (7). Ustawienie defaultowe tj. brak wipsanej wartości domyślnie przyjmuje właśnie ten sposób liczenia. 
2 -  od poniedziałku (1) do niedzieli (7)
3 -  od poniedziałku (0) do niedzieli (6)

Otrzymana wartość jest więc liczbą naturalną pomiędzy 1 do 7 (lub 0 - 6).

Ja sama jestem przyzwyczajona do tego, że poniedziałek to pierwszy, czwartek - czwarty, a niedziela to siódmy dzień tygodnia. Zawsze więc stosuje zasadę, że jako Zwracany_typ wpisuję liczbę 2.
Odpowiednikiem funkcji w kodzie VA jest funkcja WeekDay().

 

 

 

 

 

piątek, 29 czerwca 2012

Funkcja VBA DateSerial(Year,Month,Day) należy do grupy funkcji Daty i Czasu. Jest odpowiednikiem funkcji Excela Data() i działą identycznie jak ona.
Argumenty funkcji to:
Year - zmienna typu Integer. Określa rok wprowadzanej daty. W odróżnieniu jednak od Excelowego odpowiednika - rok liczy się tu od 2000 roku. Jeżeli zmienna przyjmie wartość zero - wartością funkcji będzie data odnosząca się do roku 2000. Wartości ujemne - będą odejmować rok czyli np. Year=-3 to data roku 1997. 
Month - zmienna typu Integer. Określa miesiąc wprowadzanej daty. Wartość zero wyznacza datę z grudnia poprzedneigo roku, wartości ujemne - "cofają" datę o odpowiednią liczbę miesięcy. Jeżeli argument jest większy niz 12 - funkcja dodaje odpowiednią ilość miesięcy pozostających po odjęciu wielokrotności liczby 12, jednocześnie jednak zwiększy rok daty o liczbę tych wielokrotności.
Day - zmienna typu Integer, określająca dzień miesiąca. Wpisanie daty większej od liczby dni danego miesiąca zwróci datę póniejszą o tyle dni, ile wynosi ta nadwyżka. Zero - wyznaczy datę ostatniego dnia poprzedniego miesiąca. Analogicznie liczby ujemne - odejmują dni. 

Wartością funkcji jest liczba typu Date.  

Prosty przykłąd zastosowania funkcji DateSerial() w kodzie VBA do stworzenia własnej funkcji daty wygląda tak:

Private  Function MojaData(Dzien As Integer, Miesiac As Integer, Rok As Integer) As Date
         MojaData = DateSerial(Rok, Miesiac, Dzien)
End Function 

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

 

 


środa, 27 czerwca 2012

Funkcja Ecela DATA(Rok,Miesiąc,Dzień) jest funkcją tworzącą datę.
Argumentami funkcji są:
Rok - liczba naturalna określająca rok. Można wpisać go jako liczbę dwucyfrową, ale uwaga - liczy się od roku 1900. Wpisanie więc Rok=12- pokaże nam datę z 1912 roku. Jeżeli jako argument zostanie użyta liczba ułamkowa - Excel zignoruje część po przecinku (nie zaokrągli). 
Miesiąc - liczba naturalna od 1 do 12. Wpisanie liczby większej od 12 pokaże datę określoną po odjęciu wielokrotności liczby 12, jednocześnie jednak zwiększy rok daty o liczbę tych wielokrotnosc. Np. po wpisaniu Miesiąc=26 - pokaże luty, ale w roku zwiększonym o 2 w stosunku do argumentu Rok. Wartość zerowa argumentu - zwróci grudzień roku poprzedniego.
Dzień - liczba naturalna od 1 do 31 - odzwierciedla dzień. Wpisanie daty większej od liczby dni danego miesiąca zwróci datę póniejszą o tyle dni, ile wynosi ta nadwyżka. Zero - wyznaczy datę ostatniego dnia poprzedniego miesiąca.

Funkcja DATA() 

Funkcja przydatna w wielu obliczeniach, w których czas jest jednym z kluczowych elementów.

Odpowiednikiem funkcji Data() w VBA jest funkcja DateSerial().

 

 

 

 

| < Listopad 2017 > |
Pn Wt Śr Cz Pt So N
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:





ministat liczniki.org



Napisz do mnie!