Un listino prezzi in Fogli Google (Google Sheets) è un foglio con cinque colonne: codice, nome, prezzo d'acquisto, prezzo di vendita e disponibilità. Il prezzo di vendita lo calcola una formula con cambio e ricarico, i listini dei fornitori arrivano con IMPORTRANGE o IMPORTDATA, un breve Apps Script scrive ogni giorno il cambio di riferimento della BCE, e se il tuo negozio o un'app deve modificare i prezzi usi la Google Sheets API. Così si gestiscono fino a qualche migliaio di articoli e una manciata di fornitori.
Gli errori nascono di solito da accessi e dimensioni. Il file di lavoro condiviso con i clienti tramite link mostra loro i prezzi d'acquisto nel foglio accanto, e le funzioni di importazione non si aggiornano subito e si scontrano con i limiti di Google. Qui sotto: struttura, formula con un esempio, collegamento dei fornitori, accesso per i clienti, automazione con script e API e il punto in cui un foglio di calcolo non basta più.
Quando si cerca un listino su Fogli Google
Di solito è un piccolo negozio online o un grossista con il listino in Excel su un solo computer. I commerciali devono vedere i prezzi aggiornati, i clienti aprire il listino da un link, cambio e prezzi dei fornitori aggiornarsi da soli. Da qui le ricerche «importrange», «google sheets api» e «collegare due fogli google».
«Che formula metto» si risolve in dieci minuti. Più difficili sono altre domande: come non far vedere ai clienti i prezzi d'acquisto, e cosa succede quando il fornitore sposta le colonne?
Quali colonne servono in un listino
Il minimo sono cinque colonne. Cambio e ricarico stanno in celle a parte, così li modifichi in un solo punto.

| Colonna | Contenuto | Da dove arriva |
|---|---|---|
| A – Codice | codice articolo per cercare e abbinare i listini | fornitore |
| B – Nome | il nome del prodotto per i tuoi clienti | tu |
| C – Acquisto $ | prezzo del fornitore nella valuta del suo listino | fornitore |
| D – Prezzo € | prezzo di vendita, solo con formula | formula |
| E – Disponibilità | «disponibile», «su ordinazione», «non disponibile», da un menu a discesa | fornitore |
| H1, H2 | cambio e ricarico | script e tu |
La colonna «Disponibilità» impostala come menu a discesa (Dati → Convalida dei dati). Così «sì», «+» e «disp.» non si mescolano e i filtri funzionano.
Come calcolare il prezzo di vendita con una formula
Prezzo di vendita = acquisto ÷ cambio × (1 + ricarico), arrotondato per eccesso al finale ,99. In H1 c'è il cambio di riferimento della BCE, espresso in dollari per euro, in H2 il ricarico. Nella versione italiana di Fogli Google la funzione di arrotondamento per eccesso si chiama ARROTONDA.PER.ECC (in inglese ROUNDUP), gli argomenti si separano con il punto e virgola, i decimali con la virgola. In D2:
=ARROTONDA.PER.ECC(C2/$H$1*(1+$H$2)+0,01;0)-0,01
Esempio illustrativo, non sono prezzi di mercato. Il fornitore chiede 22 $, il cambio in H1 è 1,10 dollari per euro, il ricarico in H2 è del 25 %.
- 22 ÷ 1,10 = 20,00 €: acquisto in euro;
- 20,00 × 1,25 = 25,00 €: con il ricarico;
- 25,00 + 0,01 = 25,01 → arrotondato per eccesso a 26 → 26 − 0,01 = 25,99 €.

Il +0,01 fa sì che un prezzo tondo come 25,00 € non scenda a 24,99 €, sotto il tuo ricarico. Se il ricarico dipende dalla categoria, aggiungi una colonna «Ricarico» e mettila nella formula al posto di $H$2. Quale ricarico copre spedizioni e commissioni lo trovi nell'articolo calcolo del ricarico percentuale; il tuo margine lo controlli con il calcolatore del margine.
Come portare il listino del fornitore nel tuo foglio
Dipende da come te lo manda il fornitore: come foglio Google, IMPORTRANGE; come link a un file CSV, IMPORTDATA; come feed XML, IMPORTXML. Nella versione italiana queste funzioni si chiamano come in quella inglese.

| Listino del fornitore | Funzione | A cosa fare attenzione |
|---|---|---|
| Foglio Google | =IMPORTRANGE("link";"Prezzi!A2:E") | la prima volta clicca «Consenti accesso»; massimo 10 MB di dati per richiesta |
| Link a un file CSV o TSV | =IMPORTDATA("link") | funziona solo con un link diretto al file |
| Feed XML | =IMPORTXML("link";"//item/price") | il secondo argomento è una query XPath sui nodi che ti servono |
L'importazione prende un intervallo per indirizzo, non per nome di colonna. Se il fornitore inserisce una colonna «Marca» tra codice e prezzo, la tua colonna «Acquisto» si riempie di marchi e la formula del prezzo restituisce in silenzio un errore o un numero senza senso. Tieni l'importazione in un foglio a parte e controlla le intestazioni a ogni modifica del listino.
Come dare ai clienti accesso al listino
Ai clienti dai un file separato, non quello di lavoro. «Chiunque abbia il link → Visualizzatore» apre tutto il file, compreso il foglio con i prezzi d'acquisto.
- Crea il file «Listino clienti» e porta dal file di lavoro, con IMPORTRANGE, solo codice, nome, prezzo e disponibilità.
- Condividi → «Chiunque abbia il link» → «Visualizzatore».
- Oppure File → Condividi → «Pubblica sul web»: la versione pubblicata riprende in automatico le modifiche all'originale, secondo Google possono servire alcuni minuti.
Per gruppi di clienti diversi, per esempio ingrosso e privati, crea file separati con colonne di prezzo proprie: i link girano.
Come aggiornare in automatico cambio e prezzi
Il cambio di riferimento della BCE lo scrivi con un Apps Script a tempo. La Banca centrale europea lo pubblica ogni giorno lavorativo intorno alle 16:00 CET, quindi i prezzi non saltano durante la giornata come con un cambio di mercato preso da GOOGLEFINANCE. Apri Estensioni → Apps Script e incolla la funzione:
function aggiornaCambio() {
var url = 'https://data-api.ecb.europa.eu/service/data/EXR/D.USD.EUR.SP00.A?lastNObservations=1&format=csvdata';
var righe = Utilities.parseCsv(UrlFetchApp.fetch(url).getContentText());
var cambio = righe[1][righe[0].indexOf('OBS_VALUE')];
SpreadsheetApp.getActive().getSheetByName('Listino')
.getRange('H1').setValue(Number(cambio));
}
Poi, nell'editor degli script, apri gli attivatori, aggiungi un attivatore per la funzione aggiornaCambio con origine dell'evento basata sul tempo, timer giornaliero, fascia 17–18. Gli attivatori a tempo vanno da ogni minuto a una volta al mese; l'orario preciso Google lo sposta all'interno dell'ora scelta. Per sterline o franchi svizzeri sostituisci nel link USD con GBP o CHF. La BCE pubblica questi cambi solo a scopo informativo: se il contratto con il fornitore indica un altro cambio, usa quello.
Uno script può anche prendere ogni notte il listino del fornitore da un link e scriverlo in un foglio. Il foglio resta così l'unico posto in cui calcoli i prezzi, ma si aggiorna comunque solo quanto permettono i limiti nella tabella qui sotto.
Google Sheets API: quando ti serve e come iniziare
La Google Sheets API è l'interfaccia con cui il tuo programma (negozio, app, script Python sul server) legge e scrive le celle di un foglio senza aprirlo nel browser. Ti serve quando i prezzi devono passare tra il foglio e un sistema fuori da Google; se tutto succede nel foglio, basta Apps Script.
- Crea un progetto in Google Cloud e attiva la Google Sheets API.
- Scegli le credenziali. Una chiave API dà solo accesso anonimo a dati pubblici. Un ID client OAuth lo usi quando il programma agisce per conto di una persona e le chiede il consenso. Un account di servizio quando il programma lavora da solo, per esempio sul server del negozio.
- Condividi il foglio con l'indirizzo e-mail dell'account di servizio come con un normale utente: i ruoli in Google Cloud non danno accesso ai file di Google Drive.
- Installa la libreria client di Google per il tuo linguaggio (per Python Google indica il pacchetto
google-api-python-client) e leggi un intervallo, per esempioListino!A2:E.
L'uso normale della Google Sheets API è gratuito. I limiti: 300 richieste di lettura e 300 di scrittura al minuto per progetto e 60 al minuto per utente nel progetto. Google annuncia che il superamento delle quote diventerà a pagamento ancora nel 2026, tramite l'account di fatturazione di Google Cloud. Una singola richiesta che dura più di 180 secondi si interrompe con un errore, e Google consiglia payload fino a 2 MB: scrivi quindi il listino a blocchi (una richiesta per intervallo), non cella per cella.
Dove un foglio di calcolo arriva al limite
Il foglio si scontra con il limite degli aggiornamenti, non delle righe: le funzioni di importazione si aggiornano ogni 30–60 minuti e gli script hanno un limite giornaliero di tempo di esecuzione.

| Cosa | Limite |
|---|---|
| Dimensione del foglio | fino a 20 milioni di celle o 100 MB |
| IMPORTRANGE | fino a 10 MB di dati per richiesta; aggiornamento ogni 30 minuti |
| IMPORTDATA, IMPORTXML, IMPORTHTML | aggiornamento ogni ora |
| GOOGLEFINANCE | ritardo fino a 20 minuti |
| Esecuzione di Apps Script | fino a 6 minuti per esecuzione |
| Attivatori, account Gmail personale | fino a 90 minuti di esecuzione al giorno |
| Chiamate UrlFetchApp, account Gmail personale | fino a 20.000 al giorno |
| Google Sheets API | 300 richieste di lettura e 300 di scrittura al minuto per progetto, 60 per utente |
Segnali pratici che il foglio non regge più:
- hai più di tre o quattro fornitori, ognuno con colonne, valuta e indicazioni di disponibilità proprie;
- lo stesso prodotto compare in più listini e il prezzo lo scegli a mano;
- i prezzi nel negozio devono cambiare più di una volta all'ora;
- qualcuno passa ogni settimana ore a sistemare le formule dopo un listino modificato.
Quando affidare i listini a un programma
Quando hai più fornitori e i loro prezzi devono arrivare nel negozio senza che qualcuno controlli le formule a mano.
Elbuz prende il listino del fornitore direttamente da un foglio Google tramite link, anche da uno privato che il fornitore ha condiviso con l'e-mail di servizio di Elbuz con il permesso «Visualizzatore», e inoltre da e-mail, FTP o da un sito, a un orario fisso. Le colonne le riconosce dalle intestazioni con il suo dizionario; se il fornitore le sposta, avvisa durante l'importazione e propone i nuovi indirizzi con un clic. Cambio (anche quello di riferimento della BCE), ricarico e arrotondamento li imposti con una regola. Più dettagli nella pagina automazione dei listini fornitori.
A chi non serve: con un solo fornitore e qualche centinaio di articoli bastano Fogli Google, una formula e uno script per il cambio.
Listini da Fogli Google in ElbuzColonne, cambio e ricarico a regole, 14 giorni gratis
Domande frequenti
La Google Sheets API è gratuita?
Sì, l'uso normale è gratuito entro 300 richieste al minuto per progetto e 60 per utente. Google annuncia costi per il superamento delle quote già nel 2026.
Come si ottiene l'accesso alla Google Sheets API?
Attiva la Google Sheets API in un progetto Google Cloud, crea le credenziali (OAuth o account di servizio) e, con l'account di servizio, condividi il foglio con il suo indirizzo e-mail. I passaggi sono nella sezione Google Sheets API.
Come importare dati da un'API in Fogli Google?
Senza codice con IMPORTDATA (CSV) o IMPORTXML (XML), se l'API restituisce un file a un link fisso. Per JSON e per accessi con chiave usi Apps Script con UrlFetchApp, come nello script per il cambio BCE.
Come collegare due fogli Google?
Con IMPORTRANGE: indica il link del foglio e un intervallo, per esempio "Prezzi!A2:E", e la prima volta clicca «Consenti accesso».
Ogni quanto si aggiornano IMPORTRANGE e IMPORTXML?
Secondo la guida di Google, IMPORTRANGE ogni 30 minuti, IMPORTDATA, IMPORTXML e IMPORTHTML ogni ora. Più in fretta si può solo con uno script o un programma.
Come condividere un listino con i clienti in sola lettura?
Crea per i clienti un file separato senza prezzi d'acquisto e condividilo come «Chiunque abbia il link → Visualizzatore» oppure pubblicalo con File → Condividi → «Pubblica sul web».
Quanti dati entrano in un foglio Google?
Fino a 20 milioni di celle o 100 MB per foglio di lavoro. Per un listino contano di più i limiti di aggiornamento delle importazioni e di durata degli script.
Fonti
- Guida di Editor di documenti Google: IMPORTRANGE, IMPORTDATA, IMPORTXML, ARROTONDA.PER.ECC (ROUNDUP), ricalcolo e aggiornamento delle funzioni di importazione, pubblicare file sul web, dimensioni dei file in Google Drive.
- Google for Developers: limiti e prezzi della Google Sheets API, Google Sheets API, guida rapida per Python, creare le credenziali, quote di Apps Script, attivatori a tempo.
- Banca centrale europea: tassi di cambio di riferimento dell'euro (pubblicati intorno alle 16:00 CET nei giorni lavorativi, solo a scopo informativo), API dell'ECB Data Portal.
Verificato il 02.11.2026.
