Sembra strano ma questa è una delle funzioni che mi capita più spesso di impostare, è un problema legato molto all'esigenza di caricare dati in un gestionale. Ad esempio uno stesso listino per diversi canali di vendita, gli stessi sconti per diversi clienti, ecc.
Il problema è semplice:
- partendo da 2 tabelle distinte (in giallo nell'esempio)
- vogliamo ottenere una tabella che abbia per ogni valore della prima tutti i valori della seconda
La tabella risultante avrà quindi un numero di righe pari al numero di righe della prima x numero di righe della seconda |
Per comodità contiamo prima il numero di valori presenti in entrambe le tabelle, per la prima avremo:
=CONTA.VALORI(B3:B11) |
La formula per i valori provenienti dalla prima tabella sarà:
=SCARTO($B$2;INT((RIF.RIGA(B2)-RIF.RIGA($B$2))/D$16)+1;0)
Mentre quella per i valori provenienti dalla seconda:
=SCARTO($D$2;RESTO(RIF.RIGA(D2)-RIF.RIGA($D$2);D$16)+1;0)
Dovremmo poi aggiungere il test in modo che vengano compilate solo il numero di righe che ci interessa, con un test come questo:
=SE(RIF.RIGA(B3)-RIF.RIGA($B$2)< B$16*D$16;...
L'esempio completo é scaricabile da questo link:
Es425.xlsx
Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.