Biorąc pod uwagę datę, jak przenieść dzień tygodnia (np. „Poniedziałek”) do komórki w programie Excel?
Biorąc pod uwagę datę, jak przenieść dzień tygodnia (np. „Poniedziałek”) do komórki w programie Excel?
Odpowiedzi:
Prosty przykład:
Komórka A1: 1/8/2009
Komórka B1: = TEKST (WEEKDAY (A1), „dddd”)
Spowoduje to wydrukowanie w danym dniu odpowiedniego dnia.
Czy tego chciałeś?
Powyższa odpowiedź działa tylko dzięki Fluke, ponieważ Excel uważa, że 1/1/1900 była niedzielą * i domyślnie Excel używa niedzieli jako pierwszego dnia tygodnia dla funkcji Dnia tygodnia.
W tej metodzie faktycznie obliczasz dzień tygodnia jako liczbę, a następnie formatujesz go jako dzień na podstawie tej liczby interpretowanej jako data. Np. Jeśli masz datę 1/2/2003 i korzystasz z funkcji WEEKDAY, to daje 7 (= sobota). Kiedy następnie sformatujesz to jako „dddd”, w rzeczywistości otrzymujesz nazwę dnia 7 dnia w programie Excel od jego „epoki”, tj. 7/1/1900, która przypada na sobotę *. Ta formuła się zepsuje, jeśli ktoś ją otworzy, kto ma opcję korzystania z systemu dat opartego na 1904 r., Ponieważ 1/1/1904 nie była niedzielą, ale piątkiem. (tak, wiem, że mało kto tego używa, ale nie chcesz budować rozwiązania, które na tym polega?)
Możesz sprawić, że formuła będzie krótsza, szybsza i bardziej niezawodna, po prostu za pomocą
=TEXT(A1,"dddd")
Możesz oczywiście po prostu sformatować same komórki daty za pomocą niestandardowego formatu, jak już sugerowano, w zależności od tego, czy naprawdę potrzebujesz tego w osobnej kolumnie, czy nie. Często używam formatów dat, takich jak
ddd dd mmm yyyy
dać np sob 01 lutego 2003, więc data jest wyraźna, ale pokazuje również nazwę dnia tygodnia.
Użycie drugiej kolumny i funkcji TEKST jest niezbędne, jeśli chcesz wyraźnie użyć dnia tygodnia w korespondencji seryjnej (na przykład), podobnie do rzeczy takich jak waluty itp. Excel> Scalanie słów przekazuje rzeczywistą przechowywaną wartość bazową zamiast Wersja sformatowana na ekranie, więc niezależnie od formatu komórki, Word widzi okropną liczbę. Prawdziwe pole tekstowe jest przekazywane „tak jak jest” i wyświetla się poprawnie w programie Word.
* w rzeczywistości jest poniedziałek, ale Excel został napisany tak, aby pasował do niepoprawnych dat w Lotus 1-2-3, które traktowały 1900 jako rok przestępny, gdy tak nie jest.
Inną możliwością, w zależności od tego, co chcesz zrobić z datą później, jest ustawienie formatu komórki na Niestandardowy: dddd
=A1
w przykładzie z pierwszej odpowiedzi.
Odkryłem, że zagnieżdżanie IF
instrukcji może być kłopotliwe, ale działa. Jeśli jednak chcesz zaoszczędzić trochę pisania, możesz spróbować:
=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
Lub, jeśli potrzebujesz pełnych nazwisk:
=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
W tym przykładzie „A2” może być dowolną komórką (lub formułą) zawierającą daną datę. Na przykład:
=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")
wydrukuje trzyliterowy skrót na to, co jest dzisiaj.
możesz także zlokalizować odpowiedź, używając [$ nnn] przed formatem (więc niestandardowy kod to: [$ nnn] dddd; @). zmień nnn z odpowiednim kodem języka. nie mam listy, ale jakoś angielski kod to -409 (a mój lokalny to -421).
myślę, że możesz eksperymentować z formatem liczb, zmienić pole języka, a następnie zmienić go z powrotem na format niestandardowy.
Komórka A1: 1/8/2009 Komórka B1: = A1, a następnie naciśnij ctrl + 1 (formatuj komórkę) wybierz kartę liczbową, kliknij niestandardowe, a następnie wpisz „DDDD” w polu tekstowym txtbox
Wyświetla aktualną datę
=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")
Wyświetla bieżącą datę z wymaganym wymaganym tekstem.
=CHOOSE(WEEKDAY(MONTH(TODAY())), "S-U-N-D-A-Y","M-O-N-D-A-Y","T-U-E-S-D-A-Y","W-E-D-N-E-S-D-A-Y","T-H-R-S-D-A-Y","F-R-I-D-A-Y","S-A-T-U-R-D-A-Y")
Funkcja WEEKDAY może być używana w kodach Vba. Na przykład :
Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)
Nazwa dnia pochodzi z TextBox1 w powyższym przykładzie. Wynik to „poniedziałek” .
Użyłem tej funkcji, kiedy utworzyłem formularz użytkownika o wprowadzeniu daty do aktywnej komórki za pomocą menu prawym przyciskiem myszy.