Zamiana nazwy miesiąca na liczbę (numer miesiąca)

by Marcin

Wczoraj pisałem o tym, w jaki sposób zamienić numer miesiąca na jego nazwę. Dzisiaj o sytuacji odwrotnej, czyli, w jaki sposób zamienić nazwę miesiąca na odpowiednią liczbę.

Kiedy widzisz nazwę miesiąca w komórce Excela możesz mieć do czynienia z dwiema sytuacjami. Może to być poprawnie wpisana data, sformatowana jednak w taki sposób, aby wyświetlać tylko nazwę miesiąca. Może to także być zwykły tekst.

W przypadku, kiedy w komórce znajduje się data, określenie numeru miesiąca jest banalnie proste. Wystarczy, że skorzystasz z funkcji MIESIĄC. Nie ma sensu zatrzymywać się przy tym na dłużej.

Jeżeli jednak w komórce znajduje się tekst trzeba zrobić nieco inaczej.

Pierwsze rozwiązanie podobne jest nieco do mojej pierwszej propozycji z dnia poprzedniego.
Skorzystać możesz z funkcji PODAJ.POZYCJĘ.

Funkcja ta zwraca numer (pozycję) znalezionego w tablicy elementu . Podając więc jako jeden z argumentów tablicę z nazwami miesięcy, a jako drugi ciąg z nazwą wybranego miesiąca otrzymasz w wyniku numer miesiąca (liczba). Nazwy miesięcy możesz „wkodować” w formułę jak w przykładzie poniżej:

=PODAJ.POZYCJĘ(C4;{„Styczeń”;”Luty”;”Marzec”;”Kwiecień”;”Maj”;”Czerwiec”;”Lipiec”;”Sierpień”;
„Wrzesień”;”Październik”;”Listopad”;”Grudzień”};0)

Zamiana nazwy miesiąca na liczbę

Możesz także umieścić je w skoroszycie (czasami możesz nawet skorzystać z tego samego zakresu, dla którego określasz numery miesięcy).

Zamiana nazwy miesiąca na liczbę

Oczywiście można także inaczej, korzystając z funkcji MIESIĄC. Funkcja ta jako argument przyjmuje datę, dlatego trzeba znaleźć jakiś sposób, aby tekst z nazwą miesiąca zamienić na datę. Tu z pomocą przychodzi funkcja DATA.WARTOŚĆ. Argument funkcji DATA.WARTOŚĆ musi być ciągiem tekstowym z datą zapisaną w akceptowanym przez Excela formacie daty. Niestety, jeżeli zastosujesz tę funkcję bezpośrednio do tekstu „styczeń” otrzymasz błąd. Wystarczy jednak zastosować mały trick i „zbudować” datę.

Możesz to zrobić np. tak:

=MIESIĄC(DATA.WARTOŚĆ(„10-„&B4&”2005”)) („zbudowana” data to „10 styczeń 2005”)

Jeżeli zapomniesz o roku nic się nie stanie, ponieważ Excel automatycznie doda rok bieżący.

Dlatego równie poprawna będzie formuła:

=MIESIĄC(DATA.WARTOŚĆ(„10-„&B4)) („zbudowana” data to „10 styczeń 2007)

Okazuje się, że można to zapisać jeszcze prościej.

=MIESIĄC(DATA.WARTOŚĆ(1&B4)) („zbudowana” data to „1styczeń”)

Okazuje sie zresztą, że w ogóle można zapomnieć o konwersji tekstu na datę przy pomocy DATA.WARTOŚĆ. Możliwe jest to dzięki jednej z ciekawszych właściwości Excela – w przypadku wykonania operacji matematycznej na tekście (np. „1”) Excel jako wynik zwraca liczbę.

Wystarczy więc, że użyjesz
=MIESIĄC(1*(1&B4))

lub
=MIESIĄC(–(1&B4))

Z jakiegoś powodu okazuje się także, że działa jeszcze krótszy zapis

=MIESIĄC(1&B4)

Ot – Excel pełen niespodzianek 🙂

{ 1 comment… read it below or add one }

kamyk

Witam
Trochę za dużo tego .
Wystarczy jedną komórkę sformatować jako datową i ustawić w niej =dziś() co da np 9 grudzień 2008 a w innej wprowadzić formułę =tekst(dziś();’mmmm’)-tez musi być sformatowana datowo tak jak poprzednia.

pozdrawiam
beata kamińdka

Leave a Comment

Previous post:

Next post: