› Excel e gli applicativi Microsoft Office › Formula data
-
AutoreArticoli
-
Buongiorno a tutti.
Nella colonna G ho tutte le date di nascita nel seguente formato ad esempio: 16/04/2025.
Nella colonna L vorrei che ci fosse solo 16/04 in maniera tale da mettere il filtro sopra e metterli in ordine decrescente. Che formula del mettere nella colonna L per avere solo il giorno e mese?
Grazie in anticipo
ciao
se vuoi tenerle come numero
ti basta formattare personalizzato gg/mm
altrimenti
=TESTO(G2;"gg/mm")
ma è un testo ergo col piffero che li metti in ordine decrescente
Se usi =TESTO(G2;"gg/mm"), si può ordinarli. Dovrai fare solo un copia-incolla valori.
Grazie per le risposte però non mi fa applicare il filtro per metterle in ordine decrescente. Secondo me è meglio usare una formula che mi restituisce il valore prima 5^ lettera.
Se desideri l'incontrario =TESTO(G2;"mm/gg"), comunque a me funziona
Allegati:
You must be logged in to view attached files.Grazie del file ma l'ho provato e non va bene. Io le date ce l'ho da G8 a G173, naturalmente nelle colonne A B C D E F ho altri dati. La cosa migliore è mettere una formula a L8 che mi restituisce il valore prima della 5 lettera per poi applicare il filtro
cioa
questa te li mette in ordine senza filtrare
=SE.ERRORE(TESTO(GRANDE(DATA(0;MESE($G$1:$G$173);GIORNO($G$1:$G$173));RIF.RIGA(A1));"gg/mm");"-")
è chiaro che in tutti i casi avrai dei doppioni se giorno e mese sono uguali
Ho provato la tua formula ma solo nella cella cella L8 mi mette la data ad esempio 17/04 mentre da L9 a L173 mi mette il trattino. A me serve così, faccio l'esempio:
Colonna G Colonna L
17/04/1990 17/04
26/07/1993 26/07
12/01/1992 12/01
15/07/1996 15/07
ecc...
ciao
=SE($G7>0;TESTO(GRANDE(DATA(0;MESE($G$7:$G$173);GIORNO($G$7:$G$173));RIF.RIGA(A1));"gg/mm");"")
Grazie, la tua formula funziona alla grande.
Solo che non riesco a fare quello che cerco io.
Adesso mi spiego meglio cosa cerco:
dalla cella A8:I173 ho un elenco di personale e nella colonna G8:G173 c'è la loro data di nascita. Mi servirebbe tramite formula e non macro (perché al pc del mio lavoro le macro sono disabilitate) nella colonna L sapere i prossimi compleanni in ordine cronologico dal primo a seguire.
Come si può fare?
Grazie ancora
ciao
allega un file di esempio con una ventina di righe di dati di fantasia con i dati iniziali e il risultato che vuoi ottenere con le formule nelle nelle celle di output inseriti a mano
@gianfranco55
Ti sei dimenticato di dire Matriciale? Almeno per me in Excel2019@toti
Era meglio se come primo post davi tutte le spiegazioni dell'ultimo…
Soluzione alternativa metti in L7, formatta le celle come GENERALE e trascina in basso (sono i giorni mancanti al compleanno)
=SE(DATA(ANNO(OGGI());MESE(G7);GIORNO(G7))>=OGGI();DATA(ANNO(OGGI());MESE(G7);GIORNO(G7))-OGGI();DATA(ANNO(OGGI())+1;MESE(G7);GIORNO(G7))-(OGGI()))
Ps. A parte si potrebbe fare un'elenco dei 10 nomi più viciniciao
importante anche la versione di excel
raffaele
Ti sei dimenticato di dire Matriciale? Almeno per me in Excel2019
scusami mi dimentico spesso di dirlo usando il 365
Come avevo scritto non posso usare le macro in quanto sono disabilitate, excel 2010.
Allego il file di esempio
Allegati:
You must be logged in to view attached files.Quelle sopra sono formule, non VBA
Allegati:
You must be logged in to view attached files.ciao
ok la risposta di Raffaele
ma gentilmente mi fate sapere se questa funziona confermandola matriciale
=SE.ERRORE(PICCOLO(SE($G$8:$G$200>0;DATA(ANNO($G$8:$G$200)+DATA.DIFF($G$8:$G$200;OGGI();"y")+1;MESE($G$8:$G$200);GIORNO($G$8:$G$200)));RIF.RIGA($A1));"")
solo curiosità
Mi ero dimenticato di dire che se sono nati nel stesso giorno-mese tutto OK, Se nati stesso giorno-mese-anno, forse andrà in errore (mettento l'orario di nascita, dovrebbe funzionare).
@gianfranco55
Da me deve essere confermata Matriciale
Bella formula, però c'è un punto che non capisco. Nel mio allegato ci sono due nati il 24/05/??, come fai ad abbinare l'eta al primo 24/05/2025? Secondo me serve per forza una colonna d'appoggio.ciao
non ho continuato visto che le tue formule vanno bene
ok la colonna d'appoggio
mi interessava solo sapere se confermando matriciale
il DATA.DIFF() avendo una espansione all'interno funzionava
pura curiosità
Sul mio ultimo allegato, si deve modificare la formula in L8 e trascinare
=SE(DATA(ANNO(OGGI());MESE(G8);GIORNO(G8))<OGGI();DATA(ANNO(OGGI())+1;MESE(G8);GIORNO(G8))+(ANNO(G8)/10000);DATA(ANNO(OGGI());MESE(G8);GIORNO(G8))+(ANNO(G8)/10000))
@gianfranco55
Un aiuto per capire un mio determinato passaggio, di norma per i doppioni si aggiungeva il Rif.Riga()/10000
Come avrai notato aggiungo alla data (l'anno di nascita /10000) in modo da estrarla in seguito.
Ora se togli l'arrotonda in P8:P15 perché ci sono righe con decimali. Grazie milleAdesso ho provato a lavoro il file che ha allegato Raffaele53 e funziona alla grande.
Grazie ancora tutti 👍
ciao,
altra soluzione, in L8 scrivi e trascini in basso (da confermare con ctrl shift enter)
=PICCOLO(SE($G$8:$G$200<>"";DATA(ANNO(OGGI())+SE(TESTO(OGGI();"mmgg")<TESTO($G$8:$G$200;"mmgg");0;1);MESE($G$8:$G$200);GIORNO($G$8:$G$200));"");RIF.RIGA(A1))
Per i cognomi, in M8 (da confermare con ctrl shift enter) e trascini in basso ed a dx di una colonna
=INDICE(D$8:D$200;PICCOLO(SE(GIORNO($L8)&MESE($L8)=GIORNO($G$8:$G$200)&MESE($G$8:$G$200);RIF.RIGA($A$1:$A$190));CONTA.SE($L$8:$L8;$L8)))
-
AutoreArticoli