Excel: copiare a destra un CERCA.VERT

Una delle funzioni più utili di Excel è il CERCA.VERT, che permette di cercare dati all’interno di un elenco partendo da un campo chiave. Ad esempio, partendo da questo elenco

Listino

è possibile, dopo aver scritto a mano in un altro foglio un Codice, inserire automaticamente il Nome prodotto con la formula

=CERCA.VERT(A2;Listino!$A$1:$F$38;2;0)

Se non sei in confidenza con questa funzione, vai a cercarla nella guida in linea che ti spiega tutti gli argomenti e ti propone anche degli esempi funzionanti.

Se vuoi copiare questa formula sia a destra che in basso come in questo esempio

CERCA.VERT copiabile a destra

e vuoi che funzioni senza dover modificare a mano il riferimento alla seconda colonna, devi riscriverla in questo modo (in grassetto le differenze):

=CERCA.VERT($A2;Listino!$A$1:$F$38;COLONNE($A$2:B2);0)

In questo esempio la funzione COLONNE(($A$2:B2), che restituisce il numero di colonne in un intervallo di celle, vale “2” in B2, vale “3” in C2, eccetera.

Se usi Excel in inglese (come la Signora Roberta che mi ha fatto questa domanda, e che saluto), allora la formula corrispondente è:

=VLOOKUP($A2;Listino!$A$1:$F$38;COLUMNS($A$2:B2);0)

Come sempre, se hai commenti, domande o suggerimenti su alternative più semplici ed eleganti, sono tutto orecchi!

Excel e i nomi dinamici

Me lo segno qui, che può sempre venir buono: in Excel è possibile dare un nome dinamico a un intervallo di celle, dal menu Inserisci -> Nome -> Definisci in Excel 2003, oppure il pulsante Definisci nome dalla scheda Formule in Excel 2007:

=Sheet1!$B$2:INDICE(Sheet1!$B:$B;CONTA.VALORI(Sheet1!$B:$B))

Questo è un esempio di utilizzo del nome appena creato:

Bisogna solo fare attenzione a che la funzione CONTA.VALORI restituisca sempre il giusto numero di righe: occhio quindi a intestazioni e celle vuote.

Tags: ,

Office 2007 in azienda

Qualcuno dei privati che oggi compra un PC nuovo, ignaro delle possibili (e migliori) alternative, si becca la coppia Vista + Office 2007. Nelle aziende medio-grandi no.

Ci sono troppi problemi di compatibilità con i gestionali, problemi di inadeguatezza dell’hardware, mancanza delle necessarie conoscenze nel personale, etc. etc.

Questa settimana, per la prima volta, sono entrato in contatto con una multinazionale che ha adottato Office 2007 e ho potuto toccare con mano la disperazione della gente che cerca i vecchi comandi, quelli che prima utilizzava in automatico, e non riesce più a trovarli.

Il commento più benevolo che ho sentito è questo: “con Office 2007 faccio le stesse cose di prima, ma molto più lentamente”.

Ovvimente, il sito Microsoft con la guida alla nuova interfaccia è bloccato dal proxy aziendale…

Inserire valori unici in una colonna di Excel

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.