Estrarre data compl...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

[Risolto] Estrarre data compleanni entro n giorni da OGGI

9 Post
3 Utenti
0 Reactions
91 Visualizzazioni
Forum 1
(@marco46)
Post: 82
Estimable Member
Avviatore di Topic
 

Buongiorno, vedere allegato.
Partendo da un'anagrafica ( colonne B, C, D - Nome, Data di Nascita, Città ) vorrei produrre un riepilogo nelle colonne G, H, I, J, K, L con i Nomi che compiono gli anni entro " n " giorni ( " n " indicato in cella G2 ) a partire da OGGI.
In colonna I viene calcolato il numero di giorni mancanti al giorno del compleanno.
Il riepilogo dovrebbe essere prodotto con i giorni mancanti in ordine ascendente.
Credo che la formula in G5 ( e sottostanti ) sia sbagliata perchè dovrebbe estrarre anche Riva che compie gli anni il giorno 01/09 ( 28 giorni da OGGI e quindi inferiore al valore di G2 ).
Dove sta l'errore ?

Grazie in anticipo a chi vorrà aiutarmi.

Versione di Excel
Sistema operativo
 
Postato : 04/08/2026 13:19
gianfranco55
(@gianfranco55)
Post: 1519
Moderatore
 

ciao 

io userei una colonna d'appoggio

in E5 da tirare in basso

=SE.ERRORE(SE($B5<>"";DATA(ANNO(OGGI());MESE($C5);GIORNO($C5))-OGGI();"")+RIF.RIGA()/1000000;"")

la parte in rosso serve per non avere doppioni

In I5 da tirare in basso

=SE.ERRORE(PICCOLO(SE(($E$5:$E$1000<=$E$2)*($E$5:$E$1000>0);$E$5:$E$1000;"");RIF.RIGA(A1));"")

in G5 da tirare a desta per una colonna e in basso

=SE(INDICE(B$5:B$1000;CONFRONTA($I5;$E$5:$E$1000;0))=0;"";INDICE(B$5:B$1000;CONFRONTA($I5;$E$5:$E$1000;0)))

le atre colonne vanno bene le tue formule

anche se io per l'età userei

=DATA.DIFF(C5;OGGI();"Y")

 

NB

per il compleanno ti conviene formattare in rosso o del colore che vuoi

le celle con valore 0............altrimenti le formule si complicano e si allungano.

Al limite usa la colonna K  quando incontri lo stesso giorno/mese

 

la colonna E la puoi nascondere

Questo post è stato modificato 2 settimane fa da gianfranco55
 
Postato : 04/08/2026 17:29
Forum 1
(@marco46)
Post: 82
Estimable Member
Avviatore di Topic
 

Ciao, grazie.

Funziona se il mese della data di nascita è uguale o maggiore al mese di OGGI.

Non mi funziona se il mese della data di nascita è inferiore al mese di OGGI.

 
Postato : 04/08/2026 18:45
gianfranco55
(@gianfranco55)
Post: 1519
Moderatore
 

ciao

come non funziona.....ti darà un valore negativo che non viene conteggiato

 

se lo vuoi sempre positivo

=ASS(SE.ERRORE(SE($B9<>"";DATA(ANNO(OGGI());MESE($C9);GIORNO($C9))-OGGI();"")+RIF.RIGA()/1000000;""))

ti allego il file

ho eliminatio la doppia data

Questo post è stato modificato 2 settimane fa 2 tempo da gianfranco55
 
Postato : 04/08/2026 19:06
Forum 1
(@marco46)
Post: 82
Estimable Member
Avviatore di Topic
 

Credo che i valori ottenuti con la formula

=ASS(SE.ERRORE(SE($B9<>"";DATA(ANNO(OGGI());MESE($C9);GIORNO($C9))-OGGI();"")+RIF.RIGA()/1000000;""))

sono il complemento a 365 ( giorni di un anno non bisestile come il 2027 ). Il risultato corretto per Zoff è 365 - 164 cioè 201. Credo si debba considerare che il prossimo compleanno possa essere nell'anno succesivo a quello di OGGI()

Grazie ciao

 
Postato : 04/08/2026 21:05
gianfranco55
(@gianfranco55)
Post: 1519
Moderatore
 

ciao

=SE.ERRORE(SE(SE($B5<>"";DATA(ANNO(OGGI());MESE($C5);GIORNO($C5))-OGGI();"")<0;365+SE($B5<>"";DATA(ANNO(OGGI());MESE($C5);GIORNO($C5))-OGGI();"");SE($B5<>"";DATA(ANNO(OGGI());MESE($C5);GIORNO($C5))-OGGI();"")+RIF.RIGA()/1000000);"")

questa con DATA.DIFF()

=SE.ERRORE(SE($B5<>"";SE(DATA(ANNO(OGGI());MESE($C5);GIORNO($C5))<OGGI();365-DATA.DIFF(DATA(ANNO(OGGI());MESE($C5);GIORNO($C5));OGGI();"D");DATA.DIFF(OGGI();DATA(ANNO(OGGI());MESE($C5);GIORNO($C5));"D"));"")+RIF.RIGA()/1000000;"")

Questo post è stato modificato 2 settimane fa 3 tempo da gianfranco55
 
Postato : 04/08/2026 21:30
Forum 1
(@marco46)
Post: 82
Estimable Member
Avviatore di Topic
 

Risolto. Grazie ancora

 
Postato : 04/08/2026 22:01
gianfranco55
(@gianfranco55)
Post: 1519
Moderatore
 

ciao

grazie a te mi hai fatto rinfrescare i calcoli con le date 😀 

accorciamo

=SE.ERRORE(SE($B5<>"";SE(MESE(C5)<MESE(OGGI());365-DATA.DIFF(DATA(ANNO(OGGI());MESE($C5);GIORNO($C5));OGGI();"D");DATA.DIFF(OGGI();DATA(ANNO(OGGI());MESE($C5);GIORNO($C5));"D"));"")+RIF.RIGA()/1000000;"")

Questo post è stato modificato 2 settimane fa da gianfranco55
 
Postato : 04/08/2026 22:05
Forum 5
(@lukereds)
Post: 73
Trusted Member
 

tanto per esercizio formula completa, in J5 da confermare con ctrl shift enter e trascinare a dx ed in basso

=SE(RIF.COLONNA()<12;SE(RIF.COLONNA()<12;INDICE(B$5:B$9;DESTRA(GRANDE(SE(INT(DATA.DIFF($C$5:$C$9;OGGI();"md")+RIF.RIGA($A$1:$A$5)/1000)=0;100+RIF.RIGA($A$1:$A$5)/1000;DATA.DIFF($C$5:$C$9;OGGI();"md")+RIF.RIGA($A$1:$A$5)/1000);RIF.RIGA(A1));2)));SE(DATA.DIFF($J5;OGGI();"md")=0;"AUGURI";SE(DATA(ANNO(OGGI());MESE($J5);GIORNO($J5))-OGGI()>0;DATA(ANNO(OGGI());MESE($J5);GIORNO($J5))-OGGI();"")))

 

Questo post è stato modificato 1 settimana fa 2 tempo da LukeReds
 
Postato : 08/08/2026 10:19
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy