Per ottenere tramite formule il risultato voluto conviene usare una colonna di appoggio.
Ad esempio in I13 calcolo la prima occorrenza del codice di "area" con la formula
- Codice: Seleziona tutto
=PICCOLO(SE((Legenda!$K$8:$K$200=--DESTRA('Aree S'!$A$8;1));RIF.RIGA(Legenda!$K$8:$K$200);"");RIF.RIGA(A1)
Da confermare con Contr-Maiusc-Enter; poi copia fino a I17
Successivamente in A13:F13 inserisci (selezionare l'area, poi scrivere la formula):
- Codice: Seleziona tutto
=SE.ERRORE(INDICE(Legenda!$C$1:$H$20;I13;0);"")
Sempre Contr-Maiusc-Enter; poi copia A13:F13 e incolla in A14:A17
Come vedi la prima formula e' matriciale ma di "tipo 1"; la seconda e' una matriciale di tipo... "matriciale"
La formula in I25 va modificata in
- Codice: Seleziona tutto
=PICCOLO(SE((Legenda!$K$8:$K$200=--DESTRA('Aree S'!$A$20;1));RIF.RIGA(Legenda!$K$8:$K$200);"");RIF.RIGA(A1))
Immagino che sai modificare le formule delle aree successive
La formula di colone A:F sono invece solo da copiare verso il basso
Volendo evitare la colonna di appoggio, potresti allora usare in A13 la formula a matrice (di tipo 1):
- Codice: Seleziona tutto
=SE.ERRORE(INDICE(Legenda!C$1:C$200;PICCOLO(SE((Legenda!$K$8:$K$200=--DESTRA('Aree S'!$A$8;1));RIF.RIGA(Legenda!$K$8:$K$200);"");RIF.RIGA(A1)));"")
Poi copia A13 verso destra; poi copia A13:F13 in A14:A17
In questo caso, pero', in ogni colonna viene ricalcolato il numero di riga della tabella in Legenda da cui il dato va prelevato, con evidente rallentamento se le formule sono tante.
Ciao