Come posso ottenere il nome del giorno in una cella in Excel?


33

Data una data, come posso ottenere il giorno della settimana (ad esempio "lunedì") in una cella in Excel?


4
Bene, potresti digitare LUNEDÌ nella cella con la tastiera ... ma in qualche modo penso che tu intenda qualcosa di diverso.
Mike Cooper,

Oh sì: o) Potrei davvero scriverlo. Aggiornerò la domanda per renderla più specifica
Don Vince,

Risposte:


54

Esempio semplice:

Cella A1: 1/8/2009
Cella B1: = TEXT (WEEKDAY (A1), "dddd")

Questo, per la data indicata, stamperà il giorno corrispondente.

È questo quello che hai desiderato?


Grazie molto! Piccolo errore di battitura: al centro c'è un punto e virgola che dovrebbe essere una virgola.
Don Vince,

@Don Vince - Ups, mi dispiace per quello.
Rook,

2
Il punto e virgola è richiesto nelle localizzazioni (Impostazioni internazionali in Windows) che utilizzano la virgola per il separatore decimale. Come nelle lingue in cui l'inglese 1.000,00 (mille) verrebbe scritto come 1.000,00 e verrebbe quindi inserito come 1000,00 in Excel. In realtà ho pensato che un punto e virgola fosse sempre accettato, ma potrei sbagliarmi.
Arjan,

prego :) e la risposta corretta merita un voto +1

4
Funziona solo a causa di una stranezza dell'1 / 1/1900 essendo una domenica. Perdere completamente la funzione del giorno della settimana, basta usare = TEXT (A1, "dddd") (vedi la mia risposta più completa di seguito)
AdamV,

19

La risposta di cui sopra funziona solo con fluke perché Excel pensa che l'1 / 1/1900 sia stata una domenica * e per impostazione predefinita Excel sta usando la domenica come primo giorno della settimana per la funzione Weekday.

Quello che stai effettivamente calcolando in quel metodo è il giorno della settimana come un numero, quindi formattandolo come un giorno in base a quel numero interpretato come una data. Ad esempio, se la data è 1/2/2003 e si utilizza la funzione WEEKDAY, il risultato è 7 (= sabato). Quando poi lo formatti come "dddd" stai effettivamente ottenendo il nome del giorno del settimo giorno in Excel dalla sua "epoca", cioè 7/1/1900, che sembra essere un sabato *. Questa formula si interromperà se qualcuno la apre con l'opzione selezionata per utilizzare il sistema di date basato sul 1904, poiché l'1 / 1/904 non era una domenica, ma un venerdì. (sì, lo so quasi nessuno lo usa, ma non vuoi costruire una soluzione su cui fai affidamento, vero?)

Puoi rendere la formula più breve, più veloce e più robusta semplicemente usando

=TEXT(A1,"dddd")

Ovviamente potresti semplicemente formattare le celle della data con un formato personalizzato come già suggerito, a seconda che tu ne abbia davvero bisogno in una colonna separata o meno. Uso spesso formati di data come

ddd dd mmm yyyy

per es. sabato 01 febbraio 2003, quindi la data è esplicita ma mostra anche il nome del giorno della settimana.

L'uso di una seconda colonna e una funzione TESTO è essenziale se si desidera utilizzare il giorno della settimana in modo esplicito da qualche parte in una stampa unione (ad esempio), allo stesso modo per cose come valute e così su Excel> La fusione di Word passa il valore memorizzato sottostante effettivo anziché il versione formattata con schermo, quindi indipendentemente dal formato della cella, Word vede un numero orribile. Un vero campo di testo viene passato "così com'è" e viene visualizzato correttamente in Word.

* in effetti è un lunedì ma Excel è stato scritto in modo da corrispondere alle date errate in Lotus 1-2-3 che ha trattato il 1900 come un anno bisestile quando non lo è.


L'ho già votato prima della tua modifica. Adesso è ancora meglio.
Jeroen Wiert Pluimers,

7

Un'altra possibilità, a seconda di ciò che si desidera fare con la data successiva, è impostare il formato della cella su Personalizzato: dddd


Stupendo! Questo è il trucco ed è ottimo per la situazione in cui non si desidera utilizzare un'altra colonna. Grazie
Don Vince,

Anche se desideri utilizzare un'altra colonna, puoi farlo e inserire semplicemente una formula come =A1nell'esempio della prima risposta.
Arjan,

5

Ho scoperto che le IFdichiarazioni di nidificazione possono essere ingombranti, ma funziona. Se, tuttavia, desideri salvare un po 'di battitura, puoi provare questo:

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

Oppure, se hai bisogno di nomi completi:

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

In questo esempio, "A2" può essere qualunque cella (o formula) contenga la data in questione. Per esempio:

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

stamperebbe l'abbreviazione di tre lettere per qualunque cosa sia oggi.


1

puoi anche localizzare la risposta usando [$ nnn] prima del formato (quindi il codice personalizzato è: [$ nnn] dddd; @). cambia nnn con il codice lingua corretto. non ho la lista, ma in qualche modo, il codice inglese è -409 (e il mio locale è -421).

penso che puoi sperimentare il formato numerico, cambiare il campo della lingua, quindi cambiarlo nel formato personalizzato.


1
Benvenuto in SuperUser. Le risposte devono sempre essere autonome, quindi si prega di espandere la risposta in un esempio funzionante. Inoltre non sappiamo da dove vieni, quindi il mio locale è un po 'aspecifico.
Tim

1

Cella A1: 1/8/2009 Cella B1: = A1 quindi premere ctrl + 1 (formatta cella) selezionare la scheda numerica, fare clic su personalizzato quindi digitare "DDDD" nella casella txt


0

Visualizza la data corrente

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

Visualizza la data corrente con il testo richiesto richiesto.

=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")

Questa è solo la duplicazione di diverse risposte precedenti.
fixer1234

0

Formato celle - Data - Tipo di calendario (selezionare inglese gregoriano) - Tipo (la sezione ha il formato richiesto mercoledì 14 marzo 2001)


0

La funzione WEEKDAY può essere utilizzata nei codici Vba. Per esempio :

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

Il nome del giorno è ottenuto da TextBox1 nell'esempio sopra. Il risultato è "lunedì" .

Ho usato questa funzione quando ho creato un modulo utente per l'immissione della data nella cella attiva con il menu di scelta rapida.

Il modello può essere rivisto qui


Suggerimento: la particolarità della tua risposta, la parte che risponde direttamente alla domanda, è il nome del giorno della settimana, non il giorno della settimana. Questo è il termine su cui concentrarsi nella prima frase.
fixer1234
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.