gaspart
|
| Excel: doppia convalida da elenco |
| 17.06.2010 08:49:32 | |
|
La convalida da elenco di Excel è una gran bella invenzione. Nell'inserimento di dati in una cella, ti permette di scegliere da un elenco e ti evita di dover scrivere a mano: zero errori, zero fatica, tutti felici. Se però l'elenco dei valori ammessi è molto lungo, come ad esempio per tutte le nazioni del mondo, allora l'uso del menu a tendina diventa troppo complicato rispetto a scrivere direttamente nella cella.
Una strategia interessante potrebbe essere quella di far scegliere prima il continente, e poi restringere la scelta della nazione in base alla scelta precedente. Occorre quindi dividere l'elenco in più colonne, come ho fatto in questo esempio:
La prima convalida in B14 permette di scegliere il continente e ha come origine le celle A1:C1. La seconda convalida in B15 sceglie la nazione e non ha come origine un intervallo, ma una formula che restituisce un intervallo diverso a seconda del contenuto della cella B14:
=SCARTO(A2:C7;0;CONFRONTA(B14;A1:C1;0)-1;7;1) Non è una formula facile da ricordare o da scrivere, e neanche da controllare. Per fortuna ho trovato un altro modo, molto più semplice, che ho usato sotto.
Prima di tutto ho creato in automatico i nomi per gli intervalli A2:A7, B2:B7 e C2:C7 prendendoli da A1, B1 e C1. In B19 c'è la stessa convalida che in B14, ma in B20 la formula inserita nella convalida da elenco è semplicissima:
=INDIRETTO(B19) Siccome la funzione INDIRETTO restituisce il riferimento specificato da una stringa di testo, e siccome nel nostro caso la stringa di testo in B19 corrisponde al nome dell'intervallo, voilà il gioco è fatto. Per la gioja de li piccini, allego il file di Excel 2007 Doppia convalida. Come al solito, se conosci altri modi di fare la stessa cosa, sono interessato.
Tra parentesi, l'esempio è nel formato di Office 2007-2010. Se stai usando versioni precedenti di Excel, e avrai le tue gravissime ragioni, spero tu abbia installato il convertitore gratuito.
|
gaspart
|
| Excel: impedire duplicati |
| 05.02.2010 07:29:27 | |
|
Mi è stato chiesto: è possibile impedire l'inserimento di duplicati in una colonna di celle di Excel? Metto qui la risposta, nel caso interessi. Se conosci una soluzione più elegante, sono io quello interessato!
Metti di avere un foglio di Excel dove in A1 scrivi "Codice" e in A2 scrivi il primo codice, numerico o testo non importa. Dalla cella A3 in poi, per impedire l'inserimento di un codice già presente, puoi usare la Convalida dal menu Dati.
1. Seleziona le celle da A3 in giù, fino a dove ti serve.
2. Nella finestra di dialogo Convalida dati, nella scheda Impostazioni, come criterio di convalida scegli Personalizzato e inserisci la seguente formula: =VAL.NON.DISP(CERCA.VERT(A3;$A$2:A2;1;0))
La funzione CERCA.VERT restituisce l'errore #N/D se il valore immesso in A3 non viene trovato, nel qual caso la funzione VAL.NON.DISP restituisce "Vero" alla Convalida.
Nota come l'intervallo di ricerca $A$2:A2 verrà esteso verso il basso a ogni nuova riga.
3. Sempre nella finestra di dialogo Convalida dati, ma nella scheda Messaggio di errore, inserisci un avviso che comparirà se si cerca di inserire un valore già presente.
4. Premi il pulsante OK Se ti serve estendere la convalida su nuove righe, puoi usare il pennello Copia formato sulla barra degli strumenti. |




