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

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

Advertisement

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

Advertisement
Advertisement

Risposte (9)

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

Esempio semplice:

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

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

È questo che volevate?

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

La risposta data sopra funziona solo per caso perché Excel pensa che il 1/1/1900 fosse una domenica e per impostazione predefinita Excel usa la domenica come primo giorno della settimana per la funzione Weekday.

Quello che stai effettivamente calcolando in quel metodo è il giorno della settimana come numero, poi formattandolo come giorno basato su quel numero interpretato come data. Per esempio, se la vostra data è 1/2/2003 e usate la funzione WEEKDAY, il risultato sarà 7 (=Sabato). Quando poi formatti questo come “dddd” stai effettivamente ottenendo il nome del giorno del 7° giorno in Excel dalla sua “epoch”, cioè 7/1/1900, che è un sabato*. Questa formula si romperà se qualcuno la apre che ha l'opzione selezionata per usare il sistema di date basato sul 1904, poiché l'1/1/1904 non era una domenica, ma un venerdì. (sì, lo so che quasi nessuno lo usa, ma non volete costruire una soluzione che si basa su questo, vero?)

Potete rendere la formula più corta, veloce e robusta semplicemente usando

=TEXT(A1,"dddd")

Potreste naturalmente formattare le celle della data stesse con un formato personalizzato come già suggerito, a seconda che abbiate davvero bisogno di questo in una colonna separata o no. Io uso spesso formati di data come

ddd dd mmm yyyy

per dare ad esempio Sat 01 Feb 2003 così la data è esplicita ma mostra anche il nome del giorno della settimana.

Usare una seconda colonna e una funzione TEXT è essenziale se vuoi usare il giorno della settimana esplicitamente da qualche parte in un mail merge (per esempio), allo stesso modo per cose come le valute e così via su Excel > La fusione di Word passa l'effettivo valore memorizzato sottostante piuttosto che la versione formattata sullo 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 realtà è un lunedì ma Excel è stato scritto per corrispondere alle date errate di Lotus 1-2-3 che trattava il 1900 come un anno bisestile quando non lo è.

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

Un'altra possibilità, a seconda di quello che vuoi fare con la data dopo, è impostare il formato della cella su Custom: dddd

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

Ho scoperto che annidare le dichiarazioni IF può essere ingombrante, ma funziona. Se, tuttavia, volete risparmiare un po’ di battitura, potete provare questo:

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

Oppure, se avete bisogno di nomi completi:

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

In questo esempio, “A2” può essere qualsiasi cella (o formula) che contiene la data in questione. Per esempio:

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

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

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

Cella A1: 1/8/2009 cella B1: =A1 poi premere ctrl+1 (cella formato) selezionare la scheda numero, fare clic su personalizzato poi digitare “DDDD” sul tipo txtbox

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

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

penso che tu possa sperimentare il formato Number, cambiare il campo della lingua, poi cambiarlo di nuovo nel formato personalizzato.

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

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

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

Visualizza la data corrente

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

Visualizza la data corrente con il testo 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")
0
Advertisement
0
0
2016-11-29 17:45:23 +0000
Advertisement

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

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

Il nome del giorno è ottenuto da TextBox1 nell'esempio precedente. Il risultato è “Lunedì ”.

Ho usato questa funzione quando ho creato la userform sull'inserimento della data nella cella attiva con il menu del tasto destro del mouse. Il template può essere rivisto qui

Advertisement

Domande correlate

6
13
9
10
16
Advertisement
Advertisement