Problema con il formato data

Buongiorno. ho un problema che mi sta facendo impazzire. Ho creato un foglio di calcolo dove da dati che mi vengono passati da estrazione web, devo ricavare dati. Nello specifico sono bloccato su questo:
mi vengono passate una serie di date di nascita e io da questa colonna devo ricavare quante persone sono maggiori di 18 anni e fare la somma.
Io pensavo di creare cella di appoggio dove visualizzavo solo la data e poi semplicemente con la funzione Se facevo apparire un 1 se isuperiore a 18 anni. tradotto se l’anno e’ >2004 restituiscimi 1.ma non ci riesco.
immagine
la cella che io copio sul file di appoggio ha da estrazione ’ davanti alla data. E non riesco a convertire il contenuto in un formato utilizzabile. Qualche idea?
Grazie in anticipo.

Scegliete Dati - Da testo a colonne.
https://help.libreoffice.org/latest/it/text/scalc/01/text2columns.html

Vedi file di esempio: maggiori di 18 anni.ods (10.7 KB)

D2 it: =SE.ERRORE(PIĂ™.SE(C2="";"";ANNI(C2;ADESSO();0)>=18;1);"")

D2 en: =IFERROR(IFS(C2="";"";YEARS(C2;NOW();0)>=18;1);"")

Aiuto di LibreOffice: SE.ERRORE, PIĂ™.SE, ANNI, ADESSO

EDIT:
it: ADESSO e OGGI sono intercambiabili qui.
en: NOW and TODAY are interchangeable here.

Sarebbe opportuno allegare un esempio, ma provo a risponderti ugualmente
L’apostrofo davanti alla data indica che si tratta di un testo, e non di un numero (com’è considerata la data in Calc). Quindi devi innanzitutto trasformare quel testo in data con l’apposita funzione DATA.VALORE, molto semplice da applicare: ti posizioni in D2 e scrivi =DATA.VALORE(C2)
Ti verrà il numero 30451, che corrisponde alla data del 15/05/1983 (è il 30451° giorno a decorrere dal 31/12/1899, data a cui in Calc corrisponde il n° 1). Se vuoi verificare, basta formattare la cella a data.
A te però interessa sapere se il soggetto è maggiorenne o no. Puoi quindi usare, come pensavi, la funzione SE, ma con un passaggio intermedio: devi infatti isolare l’anno dalla data che hai ricavato. Allo scopo impacchetti la funzione DATA.VALORE in una funzione ANNO, così: =ANNO(DATA.VALORE(C2))
A questo punto puoi usare la funzione SE. Attento però al segno che usi: diventa maggiorenne nel 2022 chi è nato nel 2004, o lo è già chi è nato PRIMA, quindi negli anni MINORI del 2004, cosa che si esprime con il segno < (tu, probabilmente per errore, nel quesito hai usato il simbolo >, maggiore).
La tua funzione SE risulterĂ  quindi: =SE(ANNO(DATA.VALORE(C2))<=2004;1;"")
Ricopiandola lungo tutta la colonna e facendo infine la somma dei valori avrai il numero complessivo di quanti sono giĂ  maggiorenni o lo diventeranno nel 2022.

Se devi escludere questi ultimi, basterĂ  scrivere <2004 invece che <=2004.

Se invece devi distinguere, tra i nati nel 2004, quelli che sono già maggiorenni da quelli che non lo sono ancora, ti conviene scrivere a parte, ad es. nella cella E1, la data discriminante. Poi, invece di usare la funzione ANNO, confronterai direttamente la data ricavata dal testo con quella scritta in E1, utilizzando però le funzioni DATA, MESE e GIORNO per trasportarla al 2004 mantenendo invariati giorno e mese. Scriverai quindi: =SE(DATA.VALORE(C2)<=DATA(2004;MESE($E$1);GIORNO($E$1));1;"")
Le funzioni GIORNO e MESE isolano questi elementi dalla data in E1, e con l’indicazione diretta dell’anno 2004 compongono la data da confrontare con quella che hai ottenuto mediante la funzione DATA.VALORE.
Se il file deve essere sistematicamente aggiornato, la data in E1 può essere indicata con la funzione =OGGI(), che aggiungerà automaticamente i nuovi maggiorenni man mano che ne ricorre il 18° compleanno.

1 Like

Grazxie mille! Ora funziona :grinning: