Come usare query SQL in Excel

Sapevate che è possibile eseguire query SQL direttamente anche in Excel? Spieghiamo la procedura che permette di estrarre istantaneamente i dati che corrispondono ai criteri specificati nell'interrogazione.

Microsoft Excel offre una serie di strumenti per filtrare i dati e ordinarli secondo le proprie esigenze. Uno strumento estremamente potente come sono le tabelle pivot permette di aggregare i dati presenti nel foglio elettronico e riorganizzare documenti complessi estraendo le informazioni cercate.

Di tabelle pivot (Come aggregare dati nei fogli elettronici con le tabelle pivot), delle funzionalità di Excel per filtrare e ordinare i dati (Funzioni più utili di Excel e LibreOffice Calc; Ordinare e filtrare dati in un foglio elettronico) e delle formule (Foglio di calcolo: la potenza delle formule) abbiamo più volte parlato in passato.

Un foglio elettronico non è un database ma quanto sarebbe bello e, soprattutto, utile poter usare query SQL sul foglio Excel ottenendo immediatamente solo le righe e le colonne che soddisfano le condizioni contenute nell’interrogazione.
Avviare una query SQL in Excel risulta utilissimo in molteplici situazioni, soprattutto quando il foglio elettronico sul quale si deve lavorare fosse molto complesso e contenesse decine di migliaia di celle, tutte compilate, e dati estremamente disomogenei.

Di seguito presentiamo una metodologia che permette di arrivare a eseguire query SQL in Excel, direttamente sui dati contenuti nel foglio elettronico.
Prima di cominciare, è bene controllare che il foglio elettronico sul quale s’intende operare sia memorizzato nel formato XLSX o XLS. Inoltre, è preferibile che ciascuno dei fogli che lo compongono abbiano un nome composto da pochi caratteri.
Il nome di ciascun foglio potrà essere utilizzato nelle query SQL per riferirsi al suo contenuto e, per esempio, fare dei join: ciascun foglio, infatti, verrà considerato come una tabella di un database.

Eseguire query SQL sui fogli elettronici Excel: la procedura in pratica

Per lanciare una query SQL su un foglio Excel suggeriamo di seguire alcuni semplici passaggi:

1) Aprire un documento vuoto in Excel e selezionare la prima cella in alto a sinistra (A1).

2) Cliccare sul menu Dati quindi sul pulsante Connessioni esistenti.


3) Alla comparsa della finestra Connessioni esistenti fare clic sul pulsante Sfoglia e scegliere il file XLSX o XLS d’interesse.

4) Scegliere quindi la tabella o le tabelle che s’intendono utilizzare nelle query SQL. Di solito la casella La prima riga di dati contiene intestazioni di colonna va lasciata spuntata.


5) Selezionare l’opzione In una tabella e indicare il punto in cui i dati provenienti dal foglio elettronico selezionato devono essere automaticamente inseriti. Nel caso di un foglio vuoto, si può lasciare =$A$1.


6) Dopo l’importazione dei dati, si dovrà fare clic sul pulsante Proprietà contenuto nel menu principale di Excel.


7) Nella finestra Proprietà dati esterni si dovrà cliccare sul piccolo pulsante a destra del nome del foglio (nell’esempio VOTANTI).


8) Con un clic sulla scheda Definizione, si può finalmente accedere al riquadro dove è possibile inserire una query SQL ed effettuare qualunque tipo di operazione sui dati appena importati.


9) Per procedere basta fare clic sul menu Tipo di comando e scegliere la voce SQL. A questo punto, nel riquadro sottostante (Testo comando), si può inserire la query SQL da eseguire sul contenuto del foglio elettronico.


10) Un esempio pratico: nel nostro caso abbiamo inserito la query SQL SELECT * FROM [VOTI$] WHERE [EMAIL] LIKE '%gmail.com' per selezionare tutte le righe Excel che nella colonna EMAIL contengono un testo che si chiude con “gmail.com”. Di fatto, quindi, Excel selezionerà tutte le righe facenti riferimento a indirizzi email Gmail.

Il bello è che è possibile utilizzare la sintassi SQL standard per effettuare operazioni di selezione sul contenuto di ciascun foglio elettronico. Sia i nomi dei fogli che i nomi delle colonne devono essere racchiusi tra parentesi quadre e, di fatto, ogni riga del foglio elettronico sarà considerata come un record a sé.

È possibile trovare ulteriori informazioni sulla sintassi SQL utilizzabile a questo indirizzo.

Ti consigliamo anche

Link copiato negli appunti