Il Codice Fiscale italiano è un identificativo univoco, assegnato dall’Anagrafe Tributaria, che racchiude al suo interno una serie di informazioni codificate relative a un individuo. L'unico codice fiscalmente valido è quello rilasciato dall’Agenzia delle Entrate; benché sia teoricamente possibile calcolarlo utilizzando uno specifico algoritmo, questo metodo non è sempre sufficiente a reperire la giusta stringa alfanumerica, a causa di (rarissimi) casi di omocodia. Pertanto, calcolare il codice fiscale utilizzando Excel è un’attività che si presta a scopi didattici e di comprensione, ma è sempre necessario ottenere il riscontro legale dagli organi preposti.
Questo articolo esplorerà in dettaglio come estrarre informazioni dal Codice Fiscale e, viceversa, come comporre un Codice Fiscale utilizzando formule Excel. La comprensione di queste dinamiche non solo permette di manipolare dati in modo efficiente, ma offre anche un'interessante esercitazione per familiarizzare con le potenti funzioni di testo e di ricerca di Excel, utili per automatizzare controlli di coerenza e velocizzare processi in grandi archivi di dati strutturati.
La Struttura del Codice Fiscale: Un Mosaico di Informazioni
Ogni Codice Fiscale è composto da 16 caratteri alfanumerici, ciascuno dei quali porta con sé un pezzo di informazione. Comprendere la logica di questa composizione è il primo passo fondamentale per poterla sia decodificare sia ricreare in Excel.
Le prime tre lettere identificano il cognome del soggetto. Successivamente, altre tre lettere sono dedicate al nome. La parte successiva, composta da cinque caratteri, contiene informazioni sulla data di nascita: le ultime due cifre dell'anno, una lettera che rappresenta il mese di nascita e, infine, le cifre relative al giorno di nascita. Le quattro lettere alfanumeriche seguenti costituiscono il codice catastale del comune di nascita. L'ultimo carattere, infine, è un codice di controllo calcolato sulla base dei primi 15 caratteri, utilizzato per verificare la validità del codice stesso.

Il Codice Fiscale è originato da alcuni dati specifici per una singola persona, seguendo regole particolari. Le prime tre lettere del codice fiscale indicano il cognome, mentre le successive tre lettere indicano il nome. Non è possibile, tuttavia, identificare esattamente il cognome e il nome dalle sole lettere poiché è possibile ottenere gli stessi caratteri in casi diversi, e questo non sarebbe corretto ai fini della normativa sulla privacy.
Caratteri dal 1° al 3°: L'Estrazione del Cognome
La generazione dei primi tre caratteri del Codice Fiscale, relativi al cognome, segue una regola ben precisa: si prelevano le prime tre consonanti. Se il cognome presenta meno di tre consonanti, si integrano le vocali necessarie fino a raggiungere i tre caratteri. Nei rari casi in cui il cognome abbia solo due caratteri, il terzo carattere sarà una 'X'. Nel caso di cognomi composti da più parole, si considerano come un'unica stringa, eliminando gli spazi (ad esempio, "Di Matteo" diventa "Dimatteo").
Per estrarre queste informazioni in Excel, si utilizzano funzioni di testo. Un approccio consiste nell'isolare le consonanti e, successivamente, le vocali. La funzione SOSTITUISCI può essere impiegata per eliminare tutte le vocali, lasciando solo le consonanti. Successivamente, si possono usare funzioni come SINISTRA o STRINGA.ESTRAI per selezionare i caratteri necessari. Se le consonanti estratte sono meno di tre, si procede all'estrazione delle vocali e alla loro concatenazione per completare la sequenza di tre caratteri. Ad esempio, per estrarre le prime tre consonanti si può usare una combinazione di SOSTITUISCI per rimuovere le vocali e poi SINISTRA per prendere i primi tre risultati. Se la lunghezza delle consonanti è inferiore a tre, si aggiungono le vocali necessarie.
Caratteri dal 4° al 6°: La Composizione del Nome
Similmente al cognome, anche per il nome si seguono criteri specifici per determinare i caratteri da inserire nel Codice Fiscale. Generalmente, si estraggono le prime tre consonanti del nome. Se il nome ha meno di tre consonanti, si integrano le vocali disponibili. Nel caso in cui il nome contenga solo due consonanti, il terzo carattere sarà una 'X'. Se il nome stesso ha meno di tre caratteri, si aggiunge una 'X' per completare la sequenza. Cognomi composti da più parole vengono trattati come un'unica entità, senza spazi.
In Excel, l'operazione è analoga a quella per il cognome. Si può procedere prima a identificare e isolare le consonanti del nome. Se il numero di consonanti è sufficiente, si prendono le prime tre. Altrimenti, si estraggono le vocali necessarie per raggiungere la lunghezza di tre caratteri. La funzione STRINGA.ESTRAI è particolarmente utile in questo contesto, permettendo di prelevare un numero specifico di caratteri da una stringa di testo a partire da una posizione definita. L'algoritmo deve gestire le varie condizioni, come la presenza di meno di tre consonanti o nomi molto corti, assicurando sempre di ottenere una sequenza di tre caratteri.
Caratteri dal 7° all'11°: La Data di Nascita e il Sesso
Questa sezione del Codice Fiscale è cruciale perché contiene informazioni dirette sulla data e sul sesso del soggetto. È composta da cinque caratteri: le ultime due cifre dell'anno di nascita, una lettera che codifica il mese e due cifre che rappresentano il giorno di nascita.
- Anno di Nascita: Le prime due cifre (caratteri 7 e 8) indicano le ultime due cifre dell'anno di nascita. Ad esempio, se l'anno è 1985, verranno utilizzate le cifre '85'. Se l'anno è 2001, verranno utilizzate le cifre '01'.

Mese di Nascita: Il nono carattere è una lettera che, tramite una tabella di corrispondenza, identifica il mese. Questa codifica è standard: A per Gennaio, B per Febbraio, C per Marzo, D per Aprile, E per Maggio, H per Giugno, L per Luglio, M per Agosto, P per Settembre, R per Ottobre, S per Novembre, T per Dicembre. Per ottenere queste informazioni in Excel, è necessario creare un foglio di lavoro separato contenente questa tabella (ad esempio, chiamato "MESI") e utilizzare funzioni di ricerca come
CERCA.VERToINDICE+CONFRONTAper recuperare la lettera corrispondente al mese estratto dalla data di nascita.Giorno di Nascita e Sesso: Le ultime due cifre (caratteri 10 e 11) rappresentano il giorno di nascita. Tuttavia, queste cifre vengono modificate in base al sesso del soggetto. Per i soggetti di sesso maschile, le cifre corrispondono direttamente al giorno di nascita. Per i soggetti di sesso femminile, al giorno di nascita vengono aggiunte 40 unità. Quindi, se il giorno di nascita è il 15, per un uomo sarà '15', mentre per una donna sarà '55' (15 + 40).
Per estrarre questi dati in Excel, si utilizzano funzioni come DESTRA e STRINGA.ESTRAI per isolare le cifre pertinenti. La funzione TESTO può essere utile per convertire la data inserita in un formato specifico prima di estrarre le cifre. Successivamente, si applicano formule condizionali (SE) per determinare se il valore del giorno è maggiore di 31; in tal caso, si sottrae 40 per ottenere il giorno effettivo di nascita e si identifica il sesso come femminile. Altrimenti, si utilizza il valore così com'è e si identifica il sesso come maschile.
Gestione dell'Ambiguità dell'Anno
Un aspetto interessante e talvolta problematico nell'estrazione dell'anno di nascita è la sua ambiguità. Le due cifre estratte (YY) potrebbero riferirsi sia al XX secolo (19YY) sia al XXI secolo (20YY). Ad esempio, se le cifre sono '85', potrebbero indicare sia il 1985 sia il 2085. Per risolvere questa ambiguità in Excel, si può confrontare il valore estratto con l'anno corrente. Se le cifre estratte sono inferiori alle ultime due cifre dell'anno corrente, è probabile che si tratti del XXI secolo (ad esempio, se oggi è il 2023 e le cifre sono '17', si tratterà del 2017). Se invece sono superiori, si tenderà a considerare il XX secolo (ad esempio, se le cifre sono '85' e l'anno corrente è 2023, si penserà al 1985).
Tuttavia, rimane un problema non facilmente risolvibile: quello dei centenari. Se si trova la cifra '17', potrebbe trattarsi di un bambino di 3 anni (2017) o di un anziano di 103 anni (1917). Senza ulteriori informazioni contestuali, Excel non può distinguere con certezza questi casi. Per ricreare la data completa in Excel, si può unire l'anno estratto (con la logica di cui sopra), il mese decodificato e il giorno effettivo (eventualmente depurato del 40 per le donne) utilizzando la funzione DATA.
Caratteri dal 12° al 15°: Il Luogo di Nascita
I quattro caratteri alfanumerici che seguono la data di nascita identificano il luogo di nascita del soggetto attraverso il suo codice catastale comunale. Ogni comune italiano possiede un codice univoco di quattro caratteri alfanumerici che viene registrato in questa sezione del Codice Fiscale.
Per recuperare questa informazione in Excel, è indispensabile disporre di una tabella completa dei comuni italiani e dei relativi codici catastali. Queste tabelle sono solitamente scaricabili dal sito dell’Agenzia delle Entrate o da altre fonti ufficiali. Una volta ottenute, queste informazioni vanno importate in un foglio di lavoro Excel, che potremmo chiamare "Comuni". È fondamentale che i dati nella tabella siano ordinati correttamente, con il nome del comune nella colonna più a sinistra, per facilitare l'uso delle funzioni di ricerca. Per evitare duplicati e gestire comuni omonimi, è utile includere la sigla della provincia nella descrizione del comune.

Una volta preparata la tabella "Comuni", è necessario associarle un nome definito nell'area di lavoro di Excel (ad esempio, selezionando la colonna dei comuni e andando su Inserisci > Nome > Definisci, assegnando poi il nome "COMUNI"). Successivamente, nel foglio principale dove si inseriscono i dati anagrafici, si può utilizzare la funzione CERCA.VERT. Questa funzione cercherà il codice catastale (estratto dal Codice Fiscale del soggetto) nella tabella "COMUNI" e restituirà il nome del comune corrispondente. La formula generale sarà simile a: =SE(E7="";"";CERCA.VERT(E7;COMUNI!A2:C13867;2;FALSO)), dove E7 è la cella contenente il codice catastale estratto dal CF, COMUNI!A2:C13867 è l'intervallo della tabella dei comuni, 2 indica che si vuole restituire il valore dalla seconda colonna (il nome del comune) e FALSO specifica una corrispondenza esatta.
Creazione del Codice Fiscale in Excel: Passaggio per Passaggio
La creazione di un foglio di lavoro Excel per generare il Codice Fiscale richiede la preparazione di diverse tabelle di base e l'applicazione di formule complesse, ma al contempo logiche, che simulano l'algoritmo di generazione. Il file Excel ideale è composto da un foglio di input/output dove inserire i dati anagrafici del soggetto (cognome, nome, luogo di nascita, data di nascita, sesso) e da una serie di fogli secondari contenenti le tabelle di supporto: comuni, mesi e codici di controllo.
Preparazione del Foglio "CF" (Input/Output)
Questo foglio è il cuore dell'operazione, dove l'utente inserisce i dati anagrafici. Dovrà contenere campi specifici per:
- Cognome: Testo.
- Nome: Testo.
- Data di Nascita: Questo campo deve essere formattato come
gg/mm/aaaa. Per garantire l'inserimento corretto, si imposteranno criteri di convalida dati. Accedendo al menuDati > Convalida, si può specificare che i dati devono essere una data maggiore o uguale a01/01/1900. - Sesso: Anche per questo campo si utilizzano criteri di convalida. Nella finestra "Convalida dati", si seleziona la voce "Elenco" e si inserisce
M;F(oU;Da seconda delle convenzioni) nel campo "Origine". - Luogo di Nascita: Questo campo dovrà contenere il nome del comune.
Accanto a questi campi di input, ci sarà una cella dedicata alla visualizzazione del Codice Fiscale generato.
Preparazione delle Tabelle di Base
Prima di implementare l'algoritmo principale, è necessario creare le tabelle di supporto.
Tabella "Comuni": Questa tabella contiene l'elenco completo dei Comuni italiani e i loro codici catastali. Come accennato, si può scaricare un file Excel aggiornato dall'Agenzia delle Entrate e importarne i dati tramite copia-incolla. È cruciale ordinare i comuni in ordine alfabetico e assicurarsi che non ci siano dati duplicati. Per i comuni omonimi, è utile aggiungere la sigla della provincia nella descrizione. La colonna con il nome dei Comuni deve essere la prima a sinistra per il corretto funzionamento della funzione
CERCA.VERT. Successivamente, questa tabella o colonna selezionata verrà nominata "COMUNI" tramiteInserisci > Nome > Definisci.Tabella "Mesi": Un nuovo foglio, denominato "MESI", conterrà la corrispondenza tra le lettere del Codice Fiscale e i mesi dell'anno. Ad esempio:
- A = Gennaio
- B = Febbraio
- C = Marzo
- D = Aprile
- E = Maggio
- H = Giugno
- L = Luglio
- M = Agosto
- P = Settembre
- R = Ottobre
- S = Novembre
- T = Dicembre
Tabelle "Controllo": Per il calcolo del carattere di controllo finale, sono necessarie tre tabelle di conversione che associano valori numerici a specifici caratteri alfanumerici (sia per caratteri dispari che pari del codice generato). Queste tabelle si trovano solitamente in risorse dedicate all'algoritmo del Codice Fiscale e permettono di trasformare i caratteri in numeri secondo regole precise. È importante che in queste tabelle il numero 0 sia sostituito dalla parola "ZERO" per permettere il corretto funzionamento della funzione
CERCA.VERTin Excel. Queste tabelle vanno inserite in un foglio chiamato "CONTROLLO".
Implementazione delle Formule per i Caratteri del Codice Fiscale
Una volta preparati i fogli e le tabelle, si procede alla scrittura delle formule nel foglio "CF". Per evitare che formule vuote generino risultati errati, è buona prassi iniziare ogni formula con =SE(CellaInput="";""; ... ), dove CellaInput è il riferimento alla cella di un dato anagrafico necessario per quel calcolo.
Caratteri 1-3 (Cognome):
- Si inizia estrapolando le consonanti dal cognome. La funzione
SOSTITUISCIpuò rimuovere le vocali. - Successivamente, si estraggono le prime tre consonanti con
SINISTRAoSTRINGA.ESTRAI. - Se il numero di consonanti è inferiore a 3, si estraggono le vocali necessarie e si concatenano.
- Se il cognome ha meno di 3 caratteri totali, si aggiunge una 'X'.
- La gestione dei cognomi composti richiede la rimozione degli spazi prima dell'elaborazione.
Caratteri 4-6 (Nome):
- L'algoritmo è analogo a quello del cognome: estrazione delle prime tre consonanti, integrazione con vocali se necessario, e aggiunta di 'X' in casi specifici (nomi corti o con poche consonanti).
Caratteri 7-11 (Data di Nascita e Sesso):
- Anno:
=DESTRA(TESTO(CellaDataNascita;"gg/mm/aaaa");2)per estrarre le ultime due cifre dell'anno. - Mese: Utilizzando
STRINGA.ESTRAIeCERCA.VERTsulla tabella "MESI". Ad esempio:=CERCA.VERT(STRINGA.ESTRAI(TESTO(CellaDataNascita;"gg/mm/aaaa");4;1);MESI!A1:B12;2;FALSO). - Giorno e Sesso:
=SE(CellaSesso="F";SINISTRA(TESTO(CellaDataNascita;"gg/mm/aaaa");2)+40;SINISTRA(TESTO(CellaDataNascita;"gg/mm/aaaa");2)). Questo estrae le prime due cifre del giorno e aggiunge 40 se il sesso è femminile.
Caratteri 12-15 (Luogo di Nascita):
- Si estrae il codice catastale del comune dal dato anagrafico di input (se inserito correttamente, ad esempio tramite convalida che suggerisce i comuni).
- Si utilizza la funzione
CERCA.VERTper trovare il codice catastale nella tabella "Comuni" nominata in precedenza. Ad esempio:=SE(CellaLuogoNascita="";"";CERCA.VERT(CellaLuogoNascita;COMUNI!A2:D13867;4;FALSO)), assumendo che il codice catastale sia nella quarta colonna della tabella "COMUNI".
Carattere 16 (Codice di Controllo):
Questo è il calcolo più complesso. Richiede:
- Conversione dei Caratteri: Applicare le formule per convertire i primi 15 caratteri del codice fiscale in valori numerici, distinguendo tra caratteri in posizione dispari e pari, utilizzando le tabelle nel foglio "CONTROLLO".
- Somma dei Valori: Sommare tutti i valori numerici ottenuti.
- Calcolo del Resto: Dividere la somma per 26 e ottenere il resto della divisione. La funzione
RESTOè fondamentale qui:=RESTO(SommaValori;26). - Decodifica del Resto: Utilizzare una tabella di conversione (nel foglio "CONTROLLO") per trasformare il resto in una lettera. Ad esempio, se il resto è 0, la lettera è A; se è 1, la lettera è B, e così via, fino a 25 che corrisponde alla lettera Z. La formula potrebbe essere:
=SE(RESTO(Y3+Y5+Y7+Y9;26)>25;"";CERCA.VERT(RESTO(Y3+Y5+Y7+Y9;26);CONTROLLO!G3:H28;2;FALSO)).
Concatenazione Finale
Una volta ottenuti tutti i componenti (cognome, nome, anno, mese, giorno+sesso, luogo, controllo), si concatenano tutti i pezzi nella cella di output del Codice Fiscale, utilizzando la funzione CONCATENA o l'operatore &. La formula generale sarà simile a: =SE(O(CellaCognome="";CellaNome="";CellaDataNascita="";CellaSesso="";CellaLuogoNascita="");"";CellaCognome&CellaNome&CellaAnno&CellaMese&CellaGiornoSesso&CellaLuogoNascita&CellaControllo).
52 Corso Excel: Calcolare il codice fiscale (1) | Daniele Castelletti | Maggiolina
Estrarre Informazioni dal Codice Fiscale con Excel
L'operazione inversa, ovvero estrarre dati anagrafici da un Codice Fiscale già esistente, è un'altra applicazione pratica estremamente utile di Excel. Sebbene non sia possibile ricavare tutte le informazioni (come nome e cognome esatti, per ragioni di privacy e complessità algoritmica), è possibile recuperare con buona precisione la data di nascita e il sesso.
Per fare ciò, è necessario un file Excel che contenga le tabelle di supporto già menzionate: la tabella dei mesi e quella dei codici catastali comunali, oltre a una tabella per la decodifica del giorno/sesso.
Estrazione della Data di Nascita
L'estrazione della data di nascita coinvolge diverse funzioni di testo di Excel.
Anno: Si estraggono i caratteri 7 e 8 dal Codice Fiscale. Questi due caratteri numerici vengono poi convertiti in un valore numerico. La sfida qui è determinare il secolo. Come accennato, si confronta il valore estratto con l'anno corrente. Se i due caratteri sono inferiori agli ultimi due caratteri dell'anno attuale (es. '17' vs '23'), è più probabile che appartengano al ventunesimo secolo (2017). Altrimenti, si assume il ventesimo secolo (1917).
Mese: Si estrae il nono carattere del Codice Fiscale (la lettera del mese). Successivamente, si utilizza una funzione
INDICE+CONFRONTAoCERCA.VERTper cercare questa lettera in una tabella di corrispondenza (come quella creata nel foglio "MESI") e ottenere il numero del mese corrispondente (1 per Gennaio, 2 per Febbraio, ecc.).Giorno e Sesso: Si estraggono i caratteri 10 e 11 del Codice Fiscale. Questi due caratteri numerici vengono convertiti in un valore numerico. A questo valore, se è superiore a 31, si sottrae 40 per ottenere il giorno di nascita effettivo e identificare il sesso come femminile. Se il valore è 31 o inferiore, si tratta del giorno di nascita di un uomo.
Una formula per gestire la conversione del giorno e l'identificazione del sesso potrebbe essere:
=SE(VALORE(STRINGA.ESTRAI(CodiceFiscale;10;2))>31;VALORE(STRINGA.ESTRAI(CodiceFiscale;10;2))-40;VALORE(STRINGA.ESTRAI(CodiceFiscale;10;2)))Per il sesso, si può usare una formula simile:=SE(VALORE(STRINGA.ESTRAI(CodiceFiscale;10;2))>31;"F";"M")
Per ricomporre la data completa, si possono usare le informazioni estratte sull'anno, il mese e il giorno con la funzione DATA. Ad esempio, se l'anno estratto (con la logica del secolo) è in cella_anno, il mese in cella_mese e il giorno in cella_giorno, la formula sarà: =DATA(cella_anno;cella_mese;cella_giorno).
Estrazione del Sesso
Come visto sopra, il sesso è strettamente collegato alla parte numerica del giorno di nascita nel Codice Fiscale. Se il valore estratto dai caratteri 10 e 11 è maggiore di 31, significa che è stato aggiunto 40, indicando che il soggetto è di sesso femminile. Altrimenti, si tratta di un soggetto maschile.
Estrazione del Luogo di Nascita
L'individuazione del comune di nascita è un'operazione che richiede un confronto con una tabella dei codici catastali dei comuni italiani. Ogni comune italiano ha un codice specifico di quattro caratteri alfanumerici che è riportato nel Codice Fiscale.
Si estraggono i caratteri dal 12° al 15° del Codice Fiscale. Questi quattro caratteri rappresentano il codice catastale. Utilizzando una funzione INDICE combinata con CONFRONTA (o CERCA.VERT), si cerca questo codice all'interno della tabella dei comuni precedentemente preparata. La funzione restituirà il nome del comune corrispondente. Ad esempio, se il codice catastale è in cella_codice_catastale e la tabella dei comuni è COMUNI!A2:D13867 con il nome del comune nella quarta colonna, la formula potrebbe essere: =INDICE(COMUNI!D2:D13867;CONFRONTA(cella_codice_catastale;COMUNI!A2:A13867;0)).
Funzioni Excel Utili per l'Estrazione
Per queste operazioni di estrazione e manipolazione, le funzioni di Excel più frequentemente impiegate includono:
STRINGA.ESTRAI: Per estrarre porzioni specifiche di testo da una stringa.SINISTRA,DESTRA: Per estrarre caratteri dall'inizio o dalla fine di una stringa.LUNGHEZZA: Per determinare la lunghezza di una stringa (utile per validazioni).VALORE: Per convertire una stringa di testo che rappresenta un numero in un valore numerico.TESTO: Per formattare numeri o date in un formato di testo specifico.SE: Per implementare logiche condizionali (es. per determinare il sesso).RESTO: Per calcolare residui di divisione (necessario per il codice di controllo).CERCA.VERT,INDICE,CONFRONTA: Per cercare e recuperare dati da tabelle di riferimento.CONCATENAo&: Per unire diverse parti di testo o risultati di formule.SE.ERRORE: Per gestire eventuali errori che potrebbero verificarsi durante i calcoli, restituendo un valore vuoto o un messaggio specifico.ANNULLA.SPAZI: Per rimuovere spazi superflui da stringhe di testo, utile per la gestione di nomi e cognomi.
L'uso combinato di queste funzioni permette di costruire formule robuste per decodificare il Codice Fiscale e automatizzare l'estrazione di dati essenziali, trasformando Excel in uno strumento potente per l'analisi di questi identificativi. L'estrapolazione dei dati dal Codice Fiscale può essere integrata in macro o formule Excel per automatizzare il controllo della coerenza dei dati in grandi archivi, riducendo notevolmente il rischio di errori manuali.
L'applicazione di queste formule dimostra come sia possibile, con gli strumenti giusti, rendere leggibili le informazioni nascoste in un codice apparentemente complesso, offrendo una prospettiva pratica sull'utilità di Excel per la gestione dei dati anagrafici e normativi.