Wie bekomme ich den Tagesnamen in eine Zelle in Excel?

33

Wie kann ich bei einem vorgegebenen Datum den Wochentag (z. B. "Montag") in eine Zelle in Excel übertragen?

Don Vince
quelle
4
Du könntest MONTAG mit deiner Tastatur in die Zelle tippen ... aber irgendwie denke ich, dass du etwas anderes meinst.
Mike Cooper
Oh ja: o) Ich könnte es in der Tat tippen. Ich werde die Frage aktualisieren, um es genauer zu machen
Don Vince

Antworten:

54

Einfaches Beispiel:

A1 Zelle: 08.01.2009
B1 Zelle: = TEXT (WOCHENTAG (A1), "dddd")

Dies gibt für das angegebene Datum den entsprechenden Tag aus.

Ist es das, was du dir gewünscht hast?

Turm
quelle
Danke vielmals! Kleiner Tippfehler: In der Mitte befindet sich ein Semikolon, das ein Komma sein sollte.
Don Vince
@ Don Vince - Ups, tut mir leid.
Rook
2
Das Semikolon ist in Lokalisierungen (Ländereinstellungen in Windows) erforderlich, in denen das Komma als Dezimaltrennzeichen verwendet wird. Wie in Sprachen, in denen die englische 1.000,00 (eintausend) als 1.000,00 geschrieben und somit in Excel als 1000,00 eingegeben wird. Eigentlich dachte ich, ein Semikolon würde immer akzeptiert, aber ich kann mich irren.
Arjan
Gern
4
Dies funktioniert nur, weil der 1.1.1900 ein Sonntag ist. Verlieren Sie die Wochentagsfunktion vollständig, verwenden Sie einfach = TEXT (A1, "dddd") (siehe meine ausführlichere Antwort unten)
AdamV
19

Die oben angegebene Antwort funktioniert nur mit Zufall, da Excel den 1.1.1900 für einen Sonntag * hält und Excel standardmäßig den Sonntag als ersten Wochentag für die Wochentagsfunktion verwendet.

Was Sie in dieser Methode tatsächlich berechnen, ist der Wochentag als Zahl und das Formatieren dieses als Tag basierend auf dieser Zahl, die als Datum interpretiert wird. Wenn Ihr Datum beispielsweise 1/2/2003 ist und Sie die WEEKDAY-Funktion verwenden, ergibt dies 7 (= Samstag). Wenn Sie dies dann als "dddd" formatieren, erhalten Sie in Excel tatsächlich den Tagesnamen des 7. Tages seit seiner "Epoche", dh dem 1.1.1900, der zufällig ein Samstag * ist. Diese Formel bricht ab, wenn jemand sie öffnet, der die Option ausgewählt hat, das auf 1904 basierende Datumssystem zu verwenden, da der 1.1.1904 kein Sonntag, sondern ein Freitag war. (Ja, ich weiß, dass kaum jemand das nutzt, aber Sie möchten keine Lösung entwickeln, die darauf aufbaut, oder?)

Sie können die Formel einfach mit kürzer, schneller und robuster machen

=TEXT(A1,"dddd")

Sie können die Datumszellen natürlich wie bereits vorgeschlagen mit einem benutzerdefinierten Format formatieren, je nachdem, ob Sie dies wirklich in einer separaten Spalte benötigen oder nicht. Ich verwende oft Datumsformate wie

ddd dd mmm yyyy

Um zB Sa 01 Feb 2003 anzugeben , ist das Datum explizit, zeigt aber auch den Wochentagsnamen an.

Die Verwendung einer zweiten Spalte und einer TEXT-Funktion ist unerlässlich, wenn Sie den Wochentag explizit irgendwo in einem Seriendruck verwenden möchten (z. B. für Währungen usw.). Beim Zusammenführen von Excel> Word wird der tatsächlich zugrunde liegende gespeicherte Wert anstelle des Werts "on" übergeben -bildschirmformatierte Version, so dass Word unabhängig vom Zellenformat eine schreckliche Zahl sieht. Ein echtes Textfeld wird unverändert übergeben und in Word ordnungsgemäß angezeigt.

* Tatsächlich ist es ein Montag, aber Excel wurde geschrieben, um mit den falschen Daten in Lotus 1-2-3 übereinzustimmen, die 1900 als Schaltjahr behandelten, wenn dies nicht der Fall ist.

AdamV
quelle
Ich habe es bereits vor deiner Bearbeitung hochgestuft. Jetzt ist es noch besser.
Jeroen Wiert Pluimers
7

Eine andere Möglichkeit, abhängig davon, was Sie später mit dem Datum tun möchten, besteht darin, das Format der Zelle auf Benutzerdefiniert: dddd festzulegen

Margaret
quelle
Hervorragend! Das macht den Trick und ist großartig für die Situation, in der Sie keine andere Spalte verwenden möchten. Vielen Dank
Don Vince
Auch wenn Sie eine andere Spalte verwenden möchten, können Sie dies tun und einfach eine Formel wie =A1im Beispiel der ersten Antwort eingeben .
Arjan
5

Ich fand, dass Verschachtelungsanweisungen IFumständlich sein können, aber es funktioniert. Wenn Sie jedoch ein wenig Tipparbeit sparen möchten, können Sie Folgendes versuchen:

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

Oder wenn Sie vollständige Namen benötigen:

=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

In diesem Beispiel kann "A2" eine beliebige Zelle (oder Formel) sein, die das betreffende Datum enthält. Zum Beispiel:

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

würde die Abkürzung mit drei Buchstaben für das drucken, was heute ist.

Brad
quelle
1

Sie können die Antwort auch lokalisieren, indem Sie [$ nnn] vor dem Format verwenden (der benutzerdefinierte Code lautet also: [$ nnn] dddd; @). Ändern Sie nnn mit dem richtigen Sprachcode. Ich habe die Liste nicht, aber irgendwie ist der englische Code -409 (und mein lokaler ist -421).

Ich denke, Sie können mit dem Zahlenformat experimentieren, das Sprachfeld ändern und es dann wieder in ein benutzerdefiniertes Format ändern.

user261479
quelle
1
Willkommen bei SuperUser. Die Antworten sollten immer in sich geschlossen sein. Erweitern Sie daher Ihre Antwort in ein funktionierendes Beispiel. Wir wissen auch nicht, woher du kommst, also ist mein Lokal etwas unspezifisch.
Tim
1

A1-Zelle: 08.01.2009 B1-Zelle: = A1, dann drücken Sie Strg + 1 (Zelle formatieren), wählen Sie die Registerkarte Nummer, klicken Sie auf Benutzerdefiniert und geben Sie "DDDD" in das Textfeld ein

user334332
quelle
0

Zeigt das aktuelle Datum an

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

Zeigt das aktuelle Datum mit dem erforderlichen Text an.

=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")
Glen Lloyd
quelle
Dies ist nur eine Wiederholung mehrerer früherer Antworten.
Fixer1234
0

Format Zellen - Datum - Kalendertyp (wählen Sie Gregorianisches Englisch) - Typ (Abschnitt hat Ihr gewünschtes Format Mittwoch, 14. März 2001)

Raj
quelle
0

Die WEEKDAY-Funktion kann in VBA-Codes verwendet werden. Beispielsweise :

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

Der Tagesname wird in obigem Beispiel von TextBox1 abgerufen. Ergebnis ist "Montag" .

Ich habe diese Funktion verwendet, als ich ein Benutzerformular zur Eingabe des Datums in die aktive Zelle mit einem Rechtsklick-Menü erstellt habe.

Die Vorlage kann hier eingesehen werden

kadrleyn
quelle
Vorschlag: Das Besondere an Ihrer Antwort ist, dass der Teil, der die Frage direkt beantwortet, der Wochentagsname und nicht der Wochentagsname ist. Darauf sollten Sie sich im ersten Satz konzentrieren.
Fixer1234