2009-09-15 23:04:12 +0000 2009-09-15 23:04:12 +0000
33
33

Jak wprowadzić nazwę dnia do komórki w Excelu?

Jak mogę wprowadzić dzień tygodnia (np. “poniedziałek”) do komórki w Excelu, biorąc pod uwagę datę?

Odpowiedzi (9)

54
54
54
2009-09-15 23:06:40 +0000

Prosty przykład:

komórka A1: 1/8/2009 B1 komórka: =TEXT(WEEKDAY(A1), “dddd”)

Spowoduje to, dla podanej daty, wydrukowanie odpowiadającego jej dnia.

Czy tego właśnie chciałeś ?

19
19
19
2009-11-02 10:43:55 +0000

Odpowiedź podana powyżej działa tylko przez przypadek, ponieważ Excel uważa, że 1/1/1900 to niedziela, a domyślnie Excel używa niedzieli jako pierwszego dnia tygodnia dla funkcji Dzień tygodnia.

To, co faktycznie obliczasz w tej metodzie, to dzień tygodnia jako liczba, a następnie formatowanie tego jako dzień w oparciu o tę liczbę interpretowaną jako data. Na przykład, jeśli twoją datą jest 1/2/2003 i używasz funkcji WEEKDAY, daje to wynik 7 (=sobota). Kiedy sformatujesz to jako “dddd”, otrzymasz nazwę siódmego dnia w Excelu od jego “epoki”, czyli 7/1/1900, która przypada na sobotę. Ta formuła się zepsuje, jeśli otworzy ją ktoś, kto ma wybraną opcję używania systemu dat opartego na 1904 roku, ponieważ 1/1/1904 nie był niedzielą, ale piątkiem. (tak wiem, że mało kto tego używa, ale chyba nie chcesz budować rozwiązania, które na tym bazuje, prawda?)

Możesz sprawić, że formuła będzie krótsza, szybsza i bardziej wytrzymała, po prostu używając

=TEXT(A1,"dddd")

Możesz oczywiście po prostu sformatować same komórki daty za pomocą niestandardowego formatu, jak już zasugerowano, w zależności od tego, czy naprawdę potrzebujesz tego w oddzielnej kolumnie, czy nie. Często używam formatów daty, takich jak

ddd dd mmm yyyy

, aby dać np. Sat 01 Feb 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 użyć dnia tygodnia gdzieś w mail merge (na przykład), podobnie dla rzeczy takich jak waluty i tak dalej w Excelu > Łączenie Worda przekazuje rzeczywistą podstawową przechowywaną wartość, a nie wersję sformatowaną na ekranie, więc niezależnie od formatu komórki, Word widzi jakąś straszną liczbę. Prawdziwe pole tekstowe jest przekazywane “tak jak jest” i wyświetla się poprawnie w programie Word.

*W rzeczywistości jest to poniedziałek, ale Excel został napisany tak, aby dopasować błędne daty w Lotus 1-2-3, który traktował rok 1900 jako rok przestępny, podczas gdy tak nie jest.

7
7
7
2009-09-15 23:16:11 +0000

Inną możliwością, w zależności od tego, co chcesz później zrobić z datą, jest ustawienie formatu komórki na Niestandardowy: dddd

5
5
5
2012-12-08 18:02:03 +0000

Odkryłem, że zagnieżdżanie deklaracji IF może być uciążliwe, ale działa. Jeśli jednak chciałbyś zaoszczędzić trochę pisania, możesz spróbować tego:

=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")

Lub, jeśli potrzebujesz pełnych nazw:

=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ą datę, o której mowa. Na przykład:

=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")

wydrukowałoby trzyliterowy skrót dla dowolnego dnia dzisiejszego.

1
1
1
2014-06-18 05:49:40 +0000

A1 komórka: 1/8/2009 B1 komórka: =A1 następnie wciśnij ctrl+1 (formatuj komórkę) wybierz zakładkę liczby, kliknij custom następnie wpisz “DDDD” w polu type txtbox

1
1
1
2013-10-10 15:52:11 +0000

możesz również 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).

i myślę, że możesz eksperymentować z formatem Number, zmienić pole językowe, a następnie zmienić je z powrotem na format niestandardowy.

0
0
0
2016-06-29 04:04:28 +0000

Format Cells - Date - Calendar Type (wybierz Gregorian English) - Type (sekcja ma twój wymagany format Wednesday, March 14, 2001)

0
0
0
2013-04-03 13:45:00 +0000

Wyświetla aktualną datę

=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")

Wyświetla aktualną datę z 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")
0
0
0
2016-11-29 17:45:23 +0000

Funkcja WEEKDAY może być używana w kodach Vba. Na przykład:

Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)

Nazwa dnia jest pobierana z TextBox1 w powyższym przykładzie. Wynikiem jest “Poniedziałek ”.

Użyłem tej funkcji podczas tworzenia userform o wprowadzaniu daty do aktywnej komórki z menu prawego przycisku myszy. Szablon można przejrzeć tutaj