giovedì 1 gennaio 2015

Menu a tendina dinamico (Convalida dati, Funzione INDIRETTO) - terzo menu

Eccomi qua per la terza parte del post sulla convalida dati.

Dove eravamo rimasti? Abbiamo costruito delle tabelle con un elenco di negozi e quindi abbiamo stabilito quali prodotti possiamo trovarci.

Nel primo post abbiamo inserito un menu  a tendina, per poter scegliere da un elenco il negozio che ci interessa e quindi, nel secondo post, abbiamo inserito un secondo menu a tendina, dipendente dal primo, che permette di selezionare solo la categoria merceologica venduta in quel negozio.

Il terzo passaggio consiste nell'attribuire i singoli prodotti ai vari negozi e vedremo come inserire un terzo menu che consenta di selezionare solo i prodotti relativi a uno specifico negozio e ad una particolare categoria merceologica.


Prima dobbiamo completare la nostra tabella, inserendo la voce NegozioCategoria (possiamo costruirla puntando alla voce del primo negozio, inserendo & e puntando alla prima categoria di quel negozio (come in figura 1) e inserendo in fianco a questi "legami negozio/categoria" un elenco di prodotti.

Figura 1

Per attribuire un nome alle tabelle appena create, rimando al post precedente dove ho descritto come nominare simultaneamente delle zone contigue, definendo anche righe differenti da zona a zona.

Fatto questo, possiamo tornare nel foglio Selezione e inserire un nuovo menu a tendina nella cella E2, come illustrato in figura 2.

Figura 2

Questa volta utilizzeremo la funzione INDIRETTO ma faremo riferimento non solo alla cella A2 (dove abbiamo selezionato il negozio), ma anche alla cella C2 (dove abbiamo selezionato le categorie merceologiche disponibili in quel negozio). Il legame Negozio&Categoria ci porterà a selezionare solo i prodotti disponibili in quel negozio specifico.

Il post potrebbe concludersi qui, ma....c'è un ma.

Trovo molto utile questa possibilità di legare le tabelle una all'altra e di poter quindi selezionare solo le voci effettivamente collegate tra loro, però la Convalida dati di Excel ha un limite:

se, dopo aver selezionato a cascata le voci nei vari menu, si volesse cambiare scelta nel primo o nel secondo menu, la scelta nelle tabelle dipendenti resterebbe invariata e quindi inesatta.

Mi spiego. Supponiamo di aver scelto

Neguno   -     Alimentari    -    Panna

e di voler selezionare quindi un altro negozio, ad esempio Negdue

questo è quello che succede:

Figura 3

La categoria Alimentari non è presente nel negozio due (come si vede nel riquadro), però fino a quando non si prova a selezionare un'altra voce, la vecchia selezione (Alimentari nell'esempio) resta selezionata e di conseguenza anche il prodotto ad essa abbinato (Panna nell'esempio).

C'è quindi il rischio che le scelte effettuate nei tre menu siano incongruenti. Non mi risulta ci sia un modo per annullare la scelta effettuata nei menu dipendenti, ma quello che possiamo fare è trovare un escamotage per evidenziare il problema.

Come?

Impostando una formattazione condizionale nei menu dipendenti.

Ma lo vedremo nel prossimo post.


Post precedenti:


Nessun commento:

Posta un commento