# Microsoft Excel

Microsoft Excel è un programma prodotto da Microsoft, dedicato alla produzione e alla gestione di fogli elettronici. È parte della suite di software di produttività personale Microsoft Office ed è disponibile per i sistemi operativi Microsoft Windows e macOS. È il programma per la produzione e gestione di fogli elettronici più utilizzato.

## Versioni

La prima versione di Excel, denominata Excel 1.0, viene pubblicata nel 1985 per il sistema operativo Macintosh.
La prima versione per Microsoft Windows, denominata Excel 2, viene pubblicata nel 1987. Segue poi Excel 3, pubblicato nel 1990.
Per il sistema operativo OS/2 vengono pubblicati Excel 2.1 (1989), Excel 2.2 (1990) ed Excel 3 (1991).
Seguono poi Excel 3.1 (1992), Excel 4 ed Excel 5. In particolare a partire dalla versione 4, Excel viene integrato nel pacchetto Microsoft Office.
Successivamente il numero della versione non segue più la successione numerica. In particolare sono pubblicate le versioni: Excel 95, Excel 97, Excel 2000, Excel XP (2001) ed Excel 2003.
Con Excel 2007 l'interfaccia grafica viene modificata sostanzialmente con l'introduzione dei "ribbon", al posto di menù e barra degli strumenti. Le stesse modifiche verranno svolte anche per la corrispondente versione per Macintosh, denominata Excel 2008.
Le successive versioni retail sono: Excel 2010, Excel 2011, Excel 2013, Excel 2016, Excel 2019 ed Excel 2021.

### Sommario

Microsoft Excel per Windows :
| Anno | Nome | Versione | Commenti |
| 1987 | Excel 2 | 2.0 | Rinumerato a 2 per corrispondere alla relativa versione di Macintosh |
| 1990 | Excel 3 | 3.0 | Aggiunte potenzialità per la creazione di grafici 3D |
| 1992 | Excel 4 | 4.0 | Introdotta funzionalità di riempimento automatico |
| 1993 | Excel 5 | 5.0 | Incluso Visual Basic for Applications (VBA) e varie opzioni orientate a oggetti |
| 1995 | Excel 95 | 7.0 | Rinumerato con la relativa versione di Word. Entrambi i programmi sono inclusi nel pacchetto Office a partire da questa versione |
| 1997 | Excel 97 | 8.0 | |
| 2000 | Excel 2000 | 9.0 | Parte di Microsoft Office 2000, a sua volta parte di Windows Millennium (anche detto "Windows ME") |
| 2002 | Excel 2002 | 10.0 | |
| 2003 | Excel 2003 | 11.0 | Distribuito solo un anno dopo per integrarsi meglio con gli altri programmi di Microsoft Office (Word, PowerPoint, ecc.) |
| 2007 | Excel 2007 | 12.0 | |
| 2010 | Excel 2010 | 14.0 | Excel 13 non esiste a causa delle superstizioni sul numero 13 |
| 2013 | Excel 2013 | 15.0 | Introdotte altre cinquanta funzioni matematiche |
| 2016 | Excel 2016 | 16.0 | Parte di Microsoft Office 2016 |
| 2018 | Excel 2019 | 17.0 | Parte di Microsoft Office 2019 |
| 2021 | Excel 2021 | 18.0 | Parte di Microsoft Office 2021 |
Microsoft Excel per Macintosh :
| Anno | Nome | Versione | Commenti |
| 1985 | Excel 1 | 1.0 | Versione iniziale di Excel |
| 1988 | Excel 1.5 | 1.5 | |
| 1989 | Excel 2 | 2.2 | |
| 1990 | Excel 3 | 3.0 | |
| 1992 | Excel 4 | 4.0 | |
| 1993 | Excel 5 | 5.0 | Disponibile solo su Mac basati su PowerPC. Prima versione PowerPC |
| 1998 | Excel 98 | 8.0 | Excel 6 e Excel 7 sono saltate dalla numerazione per corrispondere alla relativa versione di Microsoft Office |
| 2000 | Excel 2000 | 9.0 | |
| 2001 | Excel 2001 | 10.0 | |
| 2004 | Excel 2004 | 11.0 | |
| 2008 | Excel 2008 | 12.0 | |
| 2011 | Excel 2011 | 14.0 | Analogamente alla versione Windows, la versione 13 è saltata dalla numerazione per motivi di superstizione |
| 2015 | Excel 2015 | 15.0 | |
| 2016 | Excel 2016 | 16.0 | Come il resto dei programmi di Microsoft Office: le future versioni sono numerate per corrispondere meglio alle versioni di Windows |
Microsoft Excel per OS/2 :
| Anno | Nome | Versione | Commenti |
| 1989 | Excel 2.2 | 2.2 | |
| 1990 | Excel 2.3 | 2.3 | |
| 1991 | Excel 3 | 3.0 | Ultima versione per OS/2 |

## Estensioni

L'estensione .xls, per le versioni dalla 97 alla 2003, e .xlsx, dalla versione 2007, identifica la maggior parte dei fogli di calcolo o cartella di lavoro creati con Excel (il tipo MIME dei file identificati da questa estensione è tipicamente application/vnd.ms-excel). .xlsx è stata introdotta con la versione 2007 di Microsoft Office. Si tratta di un file XML compresso con metodo ZIP. Rispetto all'estensione .xls permette ulteriori effetti, soprattutto per quanto riguarda le dimensioni dei caratteri. Inoltre, permette di applicare alle immagini cornici sfumate e altri effetti, come il riflesso. È possibile convertire i file .xls in .xlsx, ma le versioni precedenti a Excel 2007 (fino alla versione 2000) devono installare un pacchetto di compatibilità per poterle visualizzare. Excel tuttavia può importare ed esportare dati in altri formati, ad esempio nel formato comma-separated values (CSV).

## Interfaccia grafica

La schermata iniziale di Excel mostra un foglio di calcolo vuoto composto da colonne (contrassegnate dalle lettere A, B, C, ecc.) e da righe (contrassegnate dai numeri 1, 2, 3, ecc.). L'intersezione di una riga con una colonna forma una cella (contrassegnate sempre prima dalla colonna, poi dalla riga, ad esempio: A1, B3, C4, ...), all'interno della quale si può inserire un valore o una funzione. I valori che si possono inserire sono di tipo alfanumerico, mentre le funzioni si esprimono tramite le formule. Nella versione Microsoft 365 un foglio in Excel è costituito da 1 048 576 righe e 16 384 colonne (da A a XFD), per un totale di 17 179 869 184 celle.

## Formule elementari

Per immettere una formula (ad esempio: media, mediana, moda, ecc.) in una cella del foglio di calcolo, è necessario anzitutto selezionare la cella in questione e inserire all'inizio il simbolo =, quindi scegliere un operatore (ad esempio "media"), poi inserire tra parentesi la cella (cella) o l'intervallo di celle (prima cella:ultima cella) e premere ↵ Invio. Ad esempio:
=media(A1:A4) ↵ Invio
Nel caso di operazioni algebriche (+ - * /), è necessario scrivere =nome della prima cella, scegliere un operatore e inserire il nome dell'ultima cella interessata. Ad esempio:
= A1*A4 ↵ Invio

### Le operazioni più comuni

Le operazioni che possiamo implementare in maniera immediata, utilizzando cioè caratteri simbolici sono:
* Somma, operatore +: usato per sommare due numeri. Es.: =A1+B1
* Sottrazione, operatore -: usato per sottrarre due numeri. Es.: =A1-B1
* Moltiplicazione, operatore *: Usato per moltiplicare due numeri. Es.: =A1*B1
* Divisione, operatore /: Usato per dividere due numeri. Es.: =A1/B1
* Operatori di confronto, >, <, >=, <=: Restituiscono un valore booleano (VERO o FALSO) e sono spesso usate nella formula SE.
* Esponente, operatore ^: Usato per elevare a potenza un numero. Es.: =A1^3
* Modulo, operatore %: Restituisce il resto di una divisione tra due operandi. Es.: =5%2 (Risultato 1)

### Formule 3D

Una formula 3D permette di eseguire una funzione sullo stesso intervallo di celle, ma all'interno di più di un foglio dello stesso documento Excel. L'intervallo di fogli Excel consecutivi su cui si vuole eseguire la funzione sono indicati da Fogliox:Foglioy, separati dal ":". Ad esempio si usa la seguente sintassi:
=SOMMA(Foglio1:Foglio20!B2; Foglio21:Foglio25!B2:D5)
per sommare la cella B2 su tutti i fogli compresi tra il Foglio1 e Foglio20, e per sommare le celle comprese tra B2 e D5 nei fogli che si trovano tra Foglio 21 e Foglio 25.

### Formule matriciali

All'interno di un singolo foglio Excel, la formula matriciale estende una formula di una singola cella a un'intera riga o a un'intera colonna in maniera analoga all'operazione di drag and drop, digitando Ctrl+⇧ Maiusc+↵ Invio, che fanno apparire la formula circondata da parentesi graffe. Ad esempio se abbiamo C1= A1*B1, dove A e B hanno ciascuna dieci righe, è possibile "trascinare" la formula da C1 a C10, oppure scrivere nella cella C1 la formula =A1:A10*B1:B10 e premere Ctrl+⇧ Maiusc+↵ Invio.
Le formule matriciali possono essere sostituite con la funzione matrice.somma.prodotto (Sumproduct nella versione inglese) che consente di effettuare somme condizionali su un intervallo di celle che soddisfano uno o più criteri di ricerca, definibili sullo stesso intervallo del calcolo o su altri intervalli di celle, anche di altri fogli o cartelle, purché di eguale dimensione; ed è quindi l'equivalente della funzione somma.se, ma con la possibilità di inserire due o più condizioni, ovvero alla possibilità di usare il foglio Excel come un database nel quale si effettuano semplici query di selezione.

### Riferimento relativo e assoluto

Col simbolo $ è possibile creare un riferimento assoluto di cella, in cui la colonna e/o la riga non cambiano durante l'operazione di drag and drop. Ad esempio digitando nella formula precedente $A$1, ogni cella da B1 a B10 sarà moltiplicata per la cella A1.
Negli altri casi si parla invece di riferimento relativo.

### Formule nidificate

Excel consente inoltre la creazione di formule nidificate in un quantitativo fino a sette strati dell'Excel 2003 e a sessantaquattro livelli del più recente 2013, dove la risultante di una formula si comporta come argomento per la funzione che la contiene, a condizione che il valore in uscita dalla contenuta sia accettato senza errori dalla contenitrice e che quindi vi sia epurate da errori non gestiti: =se(somma(A1;B1)<>C1;concatena(C1;" è diverso da ";A1;" sommato a ";B1);concatena(C1;" è uguale a ";A1;"+";B1)) lo si potrebbe usare in D1 a controllare la risultante della somma di A1 e B1 se diversa da C1 ed inserirebbe "C1 è diverso da A1 sommato a B1" altrimenti metterebbe "C1 è uguale a A1+B1" coi rispettivi valori assegnati alle celle.

## Grafici

In Excel è possibile costruire diagrammi o grafici statistici (per esempio grafici a linea, grafici a torta, istogrammi, ortogrammi, diagrammi a bolle, diagrammi a tendenza, ecc.) a partire dai dati inseriti in input ed elaborati per creare dei rapporto informativi.

## Macro e registratore di macro

Excel permette la creazione di macro, che sono pezzi di codice che possono eseguire in automatico una serie di comandi.
Il linguaggio di programmazione utilizzato per la creazione delle macro di Excel è Visual Basic for Applications (VBA), che è un linguaggio di programmazione a oggetti (anche se non possiede tutte le caratteristiche della programmazione orientata agli oggetti) che utilizza la dot notation. Tramite il codice VBA è possibile scrivere macro che modificano le proprietà degli oggetti (ad esempio il colore di una cella), lanciare metodi (ad esempio il refresh di una tabella pivot) e reagire a un evento (ad esempio eseguire un pezzo di codice quando viene modificato il contenuto di una cella).
Per visualizzare il codice contenuto in un documento Excel, o scriverne di nuovo, occorre selezionare il menu Sviluppo/Codice/Visual Basic. Per visualizzare il codice associato a un singolo foglio Excel, occorre selezionare la linguetta del foglio, tasto destro del mouse e Visualizza codice sorgente: in questo caso, la macro sarà ripetuta ogni volta che si apre il foglio Excel. Per eseguire una macro occorre invece selezionare il menu Sviluppo/Codice/Macro.

### Registrazione delle macro

Per chi usa le macro per la prima volta o per chi non ha voglia di imparare a memoria i nomi di tutti gli oggetti, le proprietà e i metodi di Excel, esiste la possibilità di registrare una macro. Registrare una macro significa registrare una serie di comandi di Excel e trasformarli in una macro. Questi comandi verranno poi ripetuti automaticamente quando si lancia la macro. Per registrare una macro è necessario selezionare il menu Sviluppo/Codice/Registra Macro.

### Esecuzione di una macro

La macro può essere eseguita a vari livelli. Può essere associata a un foglio di lavoro (tasto destro del mouse sul nome del foglio e visualizza codice), al documento corrente, a tutte le cartelle di lavoro aperte, oppure a qualsiasi documento Excel, cioè ogni volta che si avvia il programma. Per avere questa funzione, la macro deve essere salvato nel documento vuoto personal.xls della cartella XLSTART, che contiene tutto ciò che viene eseguito all'apertura di Excel.

### Esempio

Quella che segue è un esempio di macro, che può essere inserita aprendo l'editor di Visual Basic:
Dopo avere eseguito la macro, la si può bloccare premendo il tasto Esc.

## Controversie legali

La prima versione del programma, Microsoft Excel 95, fu causa di una disputa legale tra la Microsoft e un giovane programmatore del Guatemala.

## Errori

Il 22 settembre 2007 si è scoperto che Excel versione 2007 mostrava in modo errato i risultati di alcune operazioni. Nello specifico quando il programma si trova a eseguire delle operazioni che producono come risultato 65 535 il programma mostra invece 100 000. Il bug è legato a un problema di visualizzazione; eseguendo altre operazioni con la cella del risultato si ottengono dei risultati corretti. Microsoft nel blog dedicato al programma ha riconosciuto il problema ed ha promesso a breve un aggiornamento che risolvesse il problema. Il 26 settembre ha dichiarato di aver pronto l'aggiornamento e che lo avrebbe distribuito appena questo avesse superato le fasi di test. L'aggiornamento è stato distribuito con un hot fix pubblicato il 9 ottobre 2007.
Un altro noto bug si ritrova in tutte le versioni di Excel nella gestione delle date: l'anno 1900 è erroneamente considerato bisestile e quindi le date anteriori al primo marzo 1900 sono sbagliate: ad esempio Excel calcola il giorno 1/1/1900 come una domenica (la funzione =GIORNO.SETTIMANA("1/1/1900") dà risultato 1), mentre nella realtà si trattava di un lunedì. Il motivo di questo bug è per garantire la compatibilità con Lotus 1-2-3.

## Comandi per scelte rapide Excel

Tramite la combinazione dei tasti Ctrl+Alt+⇧ Maiusc e alcune lettere è possibile anche in Excel eseguire rapidamente delle operazioni da tastiera, senza cercare il relativo menu con il mouse o fra le opzioni nelle barre del programma. Non è tuttavia possibile personalizzarle se non attraverso la registrazione di una macro.
Alcuni esempi:
* evidenziando un foglio, una riga oppure una colonna, Ctrl++, oppure Ctrl+-, aggiungono/rimuovono una riga/colonna. Se qualcosa è presente negli appunti, con Ctrl++ vengono copiati nello spazio aggiunto
* digitando una formula, il tasto F4 blocca un riferimento, aggiunge il carattere $ al riferimento di riga e colonna della cella in cui è posizionato il cursore.
* aprendo Microsoft Excel, se si preme il tasto Ctrl viene creata una nuova istanza del programma, che permette ad esempio di eseguire una macro e contemporaneamente lavorare ad altri file.
* Ctrl+X: taglia
* Ctrl+C: copia
* Ctrl+V: incolla
* Ctrl+Z: annulla operazione
* Ctrl+Y: operazione successiva
* F1: aprire la guida
* F2: per modificare il contenuto di una cella senza cancellarlo.
* F5: per evidenziare celle senza formule, vuote, con valori numerici o testuali, o messaggi di errore, formule dipendenti
* F7: per avviare il controllo ortografico
* F9 (solo all'interno delle formule): se utilizzato all'interno di una formula, tramuta la formula in valore
* F11: crea un grafico a partire dai dati selezionati
* Alt+↵ Invio: permette di andare a capo nella stessa cella
* Ctrl+(: (digitare Ctrl+⇧ Maiusc+8) per visualizzare le formule del foglio Excel
* Ctrl+1: per aprire la finestra formato celle
* (all'interno di un intervallo dati) Ctrl+⇧ Maiusc+L: inserisce i filtri
* Ctrl+Tab ⇆+=: esegue la somma in automatico

## Limiti

Dalla versione del 2007 le righe e le colonne per ogni foglio di lavoro sono passate rispettivamente da 65 536 ($2^{16}$) a 1 048 576 ($2^{20}$) e da 256 ($2^{8}$) a 16 384 ($2^{14}$). Questa è la coordinata dei limiti di Excel: XFD1048576.
L'utilizzo di versioni precedenti a quella del 2007 può portare inconsapevolmente a problemi quando si maneggiano insiemi di dati di grande dimensione.

## Loghi

* Logo di Microsoft Excel 2000-2003
* Logo di Microsoft Excel 2007
* Logo di Microsoft Excel 2013-2019
* Logo di Microsoft Excel 2019