mercoledì 8 ottobre 2014

Menu a tendina dinamico (Convalida dati, Funzione INDIRETTO)

Nel post precedente abbiamo visto come inserire in un file un Menu a tendina.
Ora vedremo come far dipendere i dati visualizzati in un Menu a tendina in base alla scelta operata in un altro Menu a tendina. 

Prima di procedere, però, dobbiamo nominare l'elenco delle categorie merceologiche presenti nei diversi negozi.
  • Attribuzione categorie merceologiche ai negozi
Vi mostrerò come sia possibile nominare le zone tutte insieme, risparmiando tempo e noia.

    Figura 1

Dopo aver inserito in fianco ai vari negozi la classe merceologica dei prodotti venduti, selezioniamo tutta l'area e scegliamo Crea da selezione. Quindi lasciamo spuntato solo Colonna sinistra. Premendo Ok avremo nominato tutte le zone in un colpo solo ed il nome sarà quello inserito nella colonna di sinistra e cioè il nome del negozio.
Ho anche un'altra chicca da mostrarvi sul Nominare una zona, ma ci torneremo dopo, quando vedremo che quello che abbiamo fatto finora ha ancora ampi margini di miglioramento.

Ora saremmo in grado di inserire il menu a tendina dinamico se non dovessimo prima aprire una breve parentesi e illustrare la funzione INDIRETTO che utilizzeremo in seguito.

La Funzione INDIRETTO permette di costruire una formula, prendendo le varie parti che la compongono da punti diversi del file.

Un esempio semplice è il seguente:

    Figura 2

Nella cella A1 ho scritto ecco! e nella cella E1 ho inserito A1.
Se nella cella E2 inserisco la formula =INDIRETTO (E1), il risultato di tale formula è ecco!
La formula INDIRETTO interpreta ciò che è inserito nella cella E1 come un riferimento ad una cella  (A1) e restituisce quindi il risultato della formula che si viene a creare (corrisponde cioè alla formula diretta =A1).

Un altro esempio di utilizzo di questa funzione è quello di costruire una funzione un pezzo alla volta, come nell'esempio:

    Figura 3

Nella cella E4 ho inserito la parola Tabella. Nella cella sottostante ho costruito la formula puntando alla cella E4 e così ottengo il foglio (Tabella), aggiungo, compreso tra due &, il punto esclamativo e quindi completo la formula indicando il riferimento di cella (A2 tra apici, altrimenti lo interpreta come riferimento di cella diretto).
In questo modo ottengo lo stesso risultato della formula diretta =Tabella!A2. Come si può vedere nella Figura 1, nella cella A2 del foglio Tabelle c'è la scritta Neguno.

Ora siamo pronti a inserire il nostro Menu a tendina dinamico e a vedere un altro utilizzo della suddetta formula.

  • Inserimento Menu a tendina dinamico

Dove eravamo rimasti? Nel post precedente abbiamo inserito una Convalida dati nella colonna A e nella casella Origine avevamo inserito =Negozi, ottenendo così la lista dei negozi.

Ora ci mettiamo nella colonna C, dal menu Dati, selezioniamo l'icona Convalida dati, quindi la voce Convalida dati, nei criteri selezioniamo Elenco e nella casella Origine digitiamo la formula
 =Indiretto (A1) e diamo l'OK.

    Figura 4

Appare una maschera di errore: "L'origine restituisce attualmente un errore. Continuare?" Confermare con l'OK (non so a cosa sia dovuta questa segnalazione ma non influisce sul buon esito della convalida)

Attraverso la formula Indiretto abbiamo collegato il secondo menu al primo e quindi selezionando una voce dal primo limitiamo la visualizzazione delle voci del secondo menu.

Ora possiamo provare a selezionare una voce dal primo menu a tendina (per esempio Negtre o Negotto) e possiamo immediatamente verificare che in base a questa selezione, nella seconda casella potremo visualizzare soltanto le categorie di prodotti che fanno riferimento a quel negozio, come si può vedere nella figura seguente e per controprova nella figura 1


    Figura 5

Resta un'ultima cosa da sistemare. Come si può vedere in figura 5, il menu mostra sempre lo stesso numero di righe. Se vogliamo adattare la casella al numero di righe utilizzate per ogni negozio, possiamo intervenire così:

Selezioniamo tutta la zona delle tabelle, come abbiamo fatto quando le abbiamo create.
Quindi premiamo F5 (o dal Menu Vai a), quindi Speciale e poi selezioniamo Celle vuote, come nella figura seguente:

    Figura 6

A questo punto posizionarsi sulle celle evidenziate in grigio e dopo aver premuto il tasto destro del mouse, selezionare Elimina e quindi selezionare Sposta le celle a sinistra.

    Figura 7

In questo modo tutte le zone sono state adattate alle voci che contengono. Ecco la chicca di cui vi parlavo all'inizio del post.

Ma non è finita qui.
Nel prossimo post vedremo come impostare un ulteriore menu a tendina dipendente dalle selezioni fatte negli altri due menu.

Post precedente:

Menu a tendina o Convalida dati

lunedì 6 ottobre 2014

Menu a tendina o Convalida dati

Eccomi qua!
Sono stata molto impegnata, ma non mi sono scordata di questo spazio, ed ora è venuto il momento di condividere le ultime cose che ho imparato su Excel.
La molla scatenante è stata la richiesta di un utente di un sito al quale sono iscritta: come al solito è un esempio pratico che mi stimola a cercare la soluzione e a memorizzare i passaggi. E devo dire che non è stato facile, perché più le cose si complicano e meno informazioni si trovano in rete. O meglio, le informazioni più dettagliate si trovano in inglese, a dimostrazione che all'estero Excel viene valorizzato maggiormente in tutte le sue potenzialità.

La richiesta era la seguente: è possibile collegare un menu a tendina ad altri menu a tendina?
La risposta è SI.

Ma non precipitiamo le cose e vediamo come fare un passo alla volta.

Innanzitutto cos'è un Menu a tendina, propriamente detto Convalida dati?