Calcolo del Codice Fiscale con Excel

Calcolare il codice fiscale è tecnicamente possibile ricreandone l'algoritmo in Excel. Resta escluso il valore legale.

Codice Fiscale: l'algoritmo per calcolarlo

Il codice fiscale è univoco e assegnato dall’Anagrafe Tributaria. L’unico codice valido è quello rilasciato dall’Agenzia delle Entrate, anche se è teoricamente possibile calcolarlo utilizzando uno specifico algoritmo. Non sempre però sistema è sufficiente a reperire la giusta stringa alfanumerica, a causa dei (rarissimi) casi di omocodia. Calcolare il codice fiscale utilizzando Excel è pertanto possibile ma solo a scopi didattici: è necessario ottenere poi il riscontro legale dagli organi preposti.


Scarica l’esempio

Il file Excel che andremo a realizzare sarà composto da un foglio di input/output in cui inserire i dati anagrafici del soggetto di cui si vuole ottenere il codice fiscale, e da una serie di fogli destinati a contenere le tabelle di base: comuni, mesi e codici di controllo.

Foglio Codice Fiscale

È è necessario che il file contenga i campi relativi a cognome, nome, luogo di nascita, data di nascita e sesso nonché un campo in cui sarà visualizzato il codice fiscale.

Per prima cosa lavoriamo su un foglio che chiameremo CF e che conterrà lo schema del codice fiscale.

Il campo Data dovrà avere il formato del tipo gg/mm/aaaa. Per evitare l’inserimento di valori diversi da una data si dovranno impostare i criteri di convalida. Per fare ciò si dovrà accedere alla voce Convalida all ‘ interno del menu Dati. Nella finestra “Convalida dati” dovrà essere consentito l’inserimento di dati il cui valore è maggiore o uguale a 01/01/1900.

Operazione analoga dovrà essere effettuata per il campo contenente il sesso. In tal caso nei criteri di convalida dovrà essere selezionata la voce Elenco mentre nel campo origine il codice M;F.

Tabella Comuni

Prima di realizzare l’algoritmo per lo sviluppo del codice si dovranno realizzare alcune tabelle di base da cui far estrapolare le informazioni necessarie. La prima tabella contiene l’elenco completo dei Comuni italiani e dei codici catastali comunali. Per ottenere queste informazioni basterà accedere al sito dell’Agenzia del Territorio e scaricare un file Excel con i dati aggiornati.

Con un copia-incolla riportiamo i dati nel nostro file in un foglio che chiameremo Comuni. Si dovranno ordinare i Comuni in ordine alfabetico e non dovranno essere presenti dati duplicati nella tabella (per i comuni omonimi, inserire nella descrizione anche la sigla della provincia) Attenzione: la colonna con il nome dei Comuni deve essere la prima a sinistra).

Tale condizione si rende necessaria per il corretto funzionamento della funzione CERCA.VERT. Come ultima operazione assoceremo alla tabella appena creata un nome: dopo avere selezionato la colonna “Comuni” (ad eccezione dell’intestazione), accediamo alla voci Nome, quindi Definisci, presenti nel menu Inserisci. Il nome da affidare all’area selezionata sarà COMUNI. Confermiamo con Aggiungi, quindi Ok.

A questo punto, nella casella del nome, posta in alto a destra, dovrà comparire la scritta COMUNI.

Ritornando nel foglio CF si dovrà selezionare il campo “Luogo di nascita” e limitare l’inserimento dei dati a quelli presenti nella tabella Comuni, accedendo al menu Dati, quindi Convalida. Nella maschera “Convalida dati” si dovrà selezionare la voce “Elenco” fra i criteri di convalida, mentre nel campo origine scriveremo il codice =COMUNI.

Caratteri dal 1° al 3°: cognome

Possiamo adesso scrivere l’algoritmo che permetterà di sviluppare il codice fiscale. Per prima cosa si dovrà individuare la funzione che provvederà a estrapolare i caratteri dal1° al 3°, ossia quelli relativi al cognome.

Per default dovranno essere prelevate le prime 3 consonanti; se il cognome ha meno di 3 consonanti si utilizzeranno anche le vocali fino ad arrivare ai 3 caratteri necessari. Nei casi, ancorché rari, in cui il cognome abbia solo 2 caratteri, il terzo sarà composto dalla lettera X. In caso di cognomi composti da due parole, si dovrà considerare come se fosse unico ossia senza spazi (ad esempio Di Matteo diventerà Dimatteo).

Il primo passo è quello di estrapolare tutte le consonanti dal cognome. La funzione =SOSTITUISCI è quella che si presta maggiormente ai nostri scopi. In questo modo riusciremo a sostituire tutte le vocali con un valore nullo rappresentato dalle virgolette (“”). Poiché tale funzione è case sensitive ossia distingue le lettere maiuscole da quelle minuscole sarà necessario utilizzare anche la funzione =MAIUSC grazie alla quale ogni stringa di testo sarà convertita in maiuscolo.

In definitiva nella cella M1 inseriremo la seguente funzione:
=SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI
(SOSTITUISCI(SOSTITUISCI(MAIUSC($E$3);
” “;”");”U”;”");”O”;”");”I”;”");”E”;”");”A”;”")

Si dovrà, adesso, creare una funzione analoga, necessaria a estrapolare le vocali (indispensabili qualora le consonanti del cognome siano inferiori a 3). Tuttavia, poiché in Excel 2003 è possibile internare fino a sette funzioni, sarà necessario realizzare blocchi di funzioni fino a completare tutte le consonanti. Pertanto, nella cella O3 si avrà la seguente funzione:

=SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI
(SOSTITUISCI(SOSTITUISCI(MAIUSC($E$3);
” “;”");”G”;”");”F”;”");”D”;”");”C”;”");”B”;”")

Nella colonna Q3 si avrà la seguente funzione:
=SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI
(SOSTITUISCI(SOSTITUISCI(MAIUSC(O3);” “;”");”M”;”");
“L”;”");”K”;”");”J”;”");”H”;”")

Nella colonna S3 si avrà la seguente funzione:
=SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI
(SOSTITUISCI(SOSTITUISCI(MAIUSC(Q3);” “;”");
“S”;”");”R”;”");”Q”;”");”P”;”");”N”;”")

Nella colonna U3 si avrà la seguente funzione:
=SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI
(SOSTITUISCI(SOSTITUISCI(SOSTITUISCI(MAIUSC(S3);
” “;”");”Z”;”");”W”;”");”X”;”");”W”;”");”V”;”");”T”;”")

Fatto questo, se le consonanti hanno una lunghezza pari o superiore a 3 restituisce i primi 3 caratteri, in caso alternativo inserisce le vocali. Nella cella W3 inseriremo la seguente funzione:

=SE(LUNGHEZZA(SE(LUNGHEZZA(M3)>=3;SINISTRA(M3;3);
SE(LUNGHEZZA(M3)=2;M3 & SINISTRA(U3;1);M3 & SINISTRA(U3;2))))=2;
SE(LUNGHEZZA(M3)>=3;SINISTRA(M3;3);SE(LUNGHEZZA(M3)=2;
M3 & SINISTRA(U3;1);M3 & SINISTRA(U3;2))) & “X”;
SE(LUNGHEZZA(M3)>=3;SINISTRA(M3;3);SE(LUNGHEZZA(M3)=2;
M3 & SINISTRA(U3;1);M3 & SINISTRA(U3;2))))

La funzione SINISTRA restituisce il primo carattere o i primi caratteri di una stringa di testo mentre la funzione LUNGHEZZA restituisce il numero di caratteri in una stringa di testo.

X
Se vuoi aggiornamenti su Calcolo del Codice Fiscale con Excel

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy