Generalmente il riferimento di un intervallo usato in una formula viene aggiornato automaticamente quando vai ad inserire delle righe o delle colonne all'interno dell'intervallo stesso. Non viene però aggiornato se si aggiungono semplicemente dei valori oltre la fine dell'intervallo stesso. Questo potrebbe creare qualche problema perché il fatto di dover "inserire" una colonna (ad esempio) non è così intuitivo.
Per quel che so, puoi fare riferimento ad un'intera riga o colonna ma non mi pare si possa fare da una specifica cella a infinito. Bisognerebbe in tal caso usare una qualche formula; può essere d'aiuto la funzione SCARTO().
Io ti consiglierei di usare un nome a cui applicare una formula che restituisca l'intervallo in base ai negozi presenti nella prima riga e agli articoli (o quello che è) presenti nella prima colonna.
Per farlo, vai su "Formule > Gestione nomi" nella finestra di dialogo inserisci un nuovo nome (ad es: "TabellaNegozi") e nel campo "Riferito a" inserisci questa formula (ovviamente sto sempre considerando l'esempio che hai allegato):
codice:
=SCARTO(Negozi!$B$1;0;0;CONTA.VALORI(Negozi!$A:$A)+1;CONTA.VALORI(Negozi!$1:$1))
Il risultato di tale formula non è altro che l'intervallo "auto-aggiornante", cioè l'intervallo si aggiorna quando vai ad aggiungere (in modo susseguente, senza lasciare celle vuote) dei valori (negozi) sulla prima riga o dei valori (articoli o quel che è) sulla prima colonna. A questo punto potrai usare questo nome come intervallo sull'altra formula, in questo modo:
codice:
=CERCA.ORIZZ(Valori!$A$2;TabellaNegozi;RIF.RIGA()-3;0)
Fai qualche prova e vedi se può andare.