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

Hoe krijg ik de dagnaam in een cel in Excel?

Hoe krijg ik, gegeven een datum, de dag van de week (bijv. “maandag”) in een cel in Excel?

Antwoorden (9)

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

Eenvoudig voorbeeld:

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

Dit zal, voor de gegeven datum, de overeenkomstige dag afdrukken.

Is dit wat je wilde?

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

Het hierboven gegeven antwoord werkt alleen bij toeval omdat Excel denkt dat 1/1/1900 een zondag was en Excel standaard de zondag gebruikt als eerste dag van de week voor de functie Weekdag.

Wat je in feite berekent in die methode is de dag van de week als een getal, en dat vervolgens op te maken als een dag op basis van dat getal geïnterpreteerd als een datum. Als je datum bijvoorbeeld 1/2/2003 is en je gebruikt de WEEKDAG-functie, dan resulteert dat in 7 (=zaterdag). Wanneer u dit vervolgens formatteert als “dddd” krijgt u in feite de dagnaam van de 7e dag in Excel sinds de “epoch”, d.w.z. 7/1/1900, hetgeen toevallig een zaterdag is. Deze formule zal breken indien iemand deze opent die de optie heeft geselecteerd om het op 1904 gebaseerde datumsysteem te gebruiken, omdat 1/1/1904 geen zondag was, maar een vrijdag. (Ja, ik weet dat bijna niemand dat gebruikt, maar je wilt toch geen oplossing bouwen die daarop gebaseerd is?)

Je kunt de formule korter, sneller en robuuster maken door gewoon

=TEXT(A1,"dddd")

Je kunt natuurlijk ook gewoon de datumcellen zelf opmaken met een aangepast formaat, zoals al is voorgesteld, afhankelijk van of je dit echt in een aparte kolom nodig hebt of niet. Ik gebruik vaak datumnotaties zoals

ddd dd mmm yyyy

om bijvoorbeeld Zat 01 Feb 2003 te geven, zodat de datum expliciet is, maar ook de naam van de weekdag laat zien.

Het gebruik van een tweede kolom en een TEKST functie is essentieel als je de weekdag expliciet ergens in een mail merge (bijvoorbeeld) wilt gebruiken, net zoals voor dingen als valuta enzovoort in Excel > Word merging geeft de werkelijke onderliggende opgeslagen waarde door in plaats van de op het scherm geformatteerde versie, dus ongeacht de cel opmaak, ziet Word een afschuwelijk getal. Een echt tekstveld wordt doorgegeven ‘zoals het is’ en wordt correct weergegeven in Word.

*in feite is het een maandag, maar Excel werd geschreven om overeen te komen met de onjuiste data in Lotus 1-2-3 die 1900 behandelde als een schrikkeljaar terwijl dat niet zo is.

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

Een andere mogelijkheid, afhankelijk van wat u daarna met de datum wilt doen, is het formaat van de cel in te stellen op Aangepast: dddd

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

Ik vond dat het nesten van IF statements omslachtig kan zijn, maar het werkt wel. Als je echter een beetje typewerk wilt besparen, kun je dit proberen:

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

Of, als je volledige namen nodig hebt:

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

In dit voorbeeld kan “A2” elke cel (of formule) zijn die de datum in kwestie bevat. Bijvoorbeeld:

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

zou de afkorting van drie letters voor wat voor dag het ook is, afdrukken.

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

A1 cel: 1/8/2009 B1 cel: =A1 druk dan op ctrl+1 (cel opmaken) selecteer tabblad getal, klik op aangepast en type dan “DDDD” in het type txtvak

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

u kunt het antwoord ook lokaliseren door [$nnn] voor het formaat te gebruiken (zodat de aangepaste code is: [$nnn]dddd;@). verander nnn met de juiste taalcode. ik heb de lijst niet, maar op een of andere manier is de engelse code -409 (en mijn lokale is -421).

ik denk dat je kunt experimenteren met Nummer formaat, verander het taal veld, verander het dan terug naar aangepast formaat.

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

Cellen opmaken - Datum - Kalendertype (kies Gregoriaans Engels) - Type (sectie heeft uw gewenste opmaak Woensdag, 14 maart 2001)

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

Geeft de huidige datum weer

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

Geeft de huidige datum weer met de gewenste tekst.

=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

WEEKDAY Functie kan worden gebruikt in Vba Codes . Bijvoorbeeld :

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

Dagnaam wordt verkregen uit TextBox1 in bovenstaand voorbeeld. Resultaat is “Maandag ”.

Ik heb deze functie gebruikt toen ik een userform maakte over datuminvoer in een actieve cel met rechtermuisklik menu. Sjabloon kan hier bekeken worden