
Introduzione alla Funzione QUERY
Se desideri che Google Sheets si comporti più come un database, la funzione QUERY è la soluzione che cerchi. Ti consente di analizzare, filtrare e trasformare i dati utilizzando una sintassi simile a SQL (Structured Query Language). Invece di concatenare più formule come FILTRA, ORDINA e UNICI, spesso puoi realizzare tutto con una singola formula pulita e leggibile.
Questa guida ti accompagna attraverso il funzionamento della funzione QUERY, come scrivere query e come applicarle a reali attività di analisi dei dati.
Cos’è la Funzione QUERY?
La funzione QUERY recupera e manipola i dati da un insieme di dati utilizzando una stringa di query. La sua sintassi è:
=QUERY(dati, query, [intestazioni])
- dati: L’intervallo di celle da analizzare
- query: Una stringa di testo scritta in un linguaggio simile a SQL
- intestazioni (opzionale): Numero di righe d’intestazione
Esempio:
=QUERY(A1:D10, "SELECT A, B WHERE C > 100", 1)
Questo seleziona le colonne A e B dove la colonna C è maggiore di 100.
Comprendere la Sintassi di QUERY
Il linguaggio QUERY utilizza parole chiave SQL familiari. Ecco le più importanti:
- SELECT: Seleziona colonne
- WHERE: Filtra righe
- ORDER BY: Ordina risultati
- GROUP BY: Aggrega dati
- LIMIT: Restringe il numero di righe
- LABEL: Rinomina colonne
Riferimento alle Colonne
Puoi riferirti alle colonne in due modi:
- Per lettera: A, B, C
- Per notazione Col: Col1, Col2, Col3
Esempio:
=QUERY(A1:C10, "SELECT Col1, Col3", 1)
Esempi di Base
1. Filtrare Dati con WHERE
Immagina di avere dati di vendita con colonne: Data, Prodotto, Ricavi.
=QUERY(A1:C100, "SELECT A, B WHERE C > 500", 1)
Questo restituisce le righe dove i ricavi superano i 500 euro.
2. Ordinare Dati con ORDER BY
=QUERY(A1:C100, "SELECT A, B, C ORDER BY C DESC", 1)
Questo ordina i risultati per ricavi in ordine decrescente.
3. Limitare i Risultati
=QUERY(A1:C100, "SELECT A, B LIMIT 5", 1)
Questo mostra solo le prime cinque righe.
Lavorare con Testo e Date
Condizioni di Testo
Valori di testo devono essere racchiusi tra apici:
=QUERY(A1:C100, "SELECT A, B WHERE B = 'Laptop'", 1)
Contiene e Corrisponde
CONTAINS: corrispondenza parzialeMATCHES: espressioni regolari
Esempio:
=QUERY(A1:C100, "SELECT A WHERE B CONTAINS 'Pro'", 1)
Filtraggio delle Date
Le date richiedono un formato specifico:
=QUERY(A1:C100, "SELECT A WHERE A > date '2024-01-01'", 1)
Aggregazione con GROUP BY
La funzione QUERY può riassumere i dati utilizzando funzioni di aggregazione:
SOMMA()MEDIA()CONTA()MAX()MIN()
Esempio: Ricavo Totale per Prodotto
=QUERY(A1:C100, "SELECT B, SUM(C) GROUP BY B", 1)
Questo raggruppa i dati per prodotto e calcola il ricavo totale.
Aggiungere Etichette
=QUERY(A1:C100, "SELECT B, SUM(C) GROUP BY B LABEL SUM(C) 'Ricavo Totale'", 1)
Combinazione di Più Condizioni
Puoi combinare filtri usando AND e OR:
=QUERY(A1:C100, "SELECT A, B WHERE C > 500 AND B = 'Laptop'", 1)
Casi d’Uso Reali
1. Cruscotto delle Vendite
Usa QUERY per costruire una tabella riepilogativa dinamica:
=QUERY(A1:D500, "SELECT B, SUM(D) GROUP BY B ORDER BY SUM(D) DESC", 1)
Questo crea un elenco con classificazione dei prodotti per ricavo.
2. Monitoraggio delle Prestazioni dei Dipendenti
=QUERY(A1:E200, "SELECT C, AVG(E) GROUP BY C", 1)
Questo calcola i punteggi medi di prestazione per reparto.
3. Pulizia Dati
Rimuovi duplicati utilizzando il raggruppamento:
=QUERY(A1:B100, "SELECT A, B GROUP BY A, B", 1)
Consigli per Scrivere Meglio le Formule QUERY
- Inizia semplice: Costruisci la tua query passo dopo passo
- Usa linee di separazione: Scrivi query in una cella separata per leggibilità
- Controlla le intestazioni: Numero di intestazioni errato causa errori
- Usa notazione Col: Aiuta quando cambiano le lettere delle colonne
- Prova le condizioni: Verifica i filtri prima di combinarli
Errori Comuni e Soluzioni
1. “Unable to parse query string”
Di solito causato da:
- Mancanza di apici
- Sintassi incorretta
- Nomi di colonne errati
2. Risultati Errati
Verifica:
- Tipi di dati (testo contro numeri)
- Formattazione date
- Conte del numero di intestazioni
3. Output Vuoto
Questo spesso significa che le condizioni del filtro non hanno trovato corrispondenze.
QUERY vs Altre Funzioni
Ecco quando utilizzare QUERY invece di altri strumenti:
- Usa QUERY per trasformazioni multi-step in una sola formula
- Usa FILTRA per semplici filtraggi di righe
- Usa ORDINA per ordinamenti di base
- Usa TABELLE PIVOT per riepiloghi visivi
QUERY eccelle quando vuoi un controllo in stile SQL senza abbandonare Sheets.
Esempio Avanzato: Analisi Completa in Una Formula
Combiniamo più concetti:
=QUERY(A1:D500, "SELECT B, SUM(D) WHERE D > 100 GROUP BY B ORDER BY SUM(D) DESC LIMIT 10 LABEL SUM(D) 'Top Revenue'", 1)
Questa formula:
- Filtra le righe dove i ricavi sono maggiori di 100
- Raggruppa per prodotto
- Calcola il ricavo totale
- Ordina i risultati in ordine decrescente
- Limita l’output ai primi 10
- Rinomina la colonna
Quando QUERY Potrebbe Non Essere Ideale
Sebbene potente, QUERY ha alcune limitazioni:
- Curva di apprendimento per la sintassi simile a SQL
- Meno intuitiva per i principianti
- I messaggi di errore possono essere vaghi
In casi semplici, combinare FILTRA e ORDINA può essere più semplice.
Considerazioni Finali
La funzione QUERY di Google Sheets è uno degli strumenti più potenti disponibili per l’analisi dei dati. Porta le query in stile database in un ambiente di foglio di calcolo familiare, permettendoti di pulire, filtrare e riassumere i dati in modo efficiente.
Una volta compresa la struttura di base—SELECT, WHERE, GROUP BY—puoi sostituire configurazioni complesse di formule multiple con una soluzione elegante. Inizia con piccoli esempi, acquisisci fiducia e applicalo gradualmente a set di dati reali.
Con la pratica, QUERY diventa non solo una funzione, ma un moltiplicatore di produttività.
