<< Back

Da Excel ad Alteryx: CERCA.VERT

Una cosa che può capitare lavorando con tabelle e dati è che ci veniamo a trovare nella necessità di relazionare i dati di due tabelle diverse:

situazione inizialeAbbiamo una tabella con un codice identificativo del cliente. E abbiamo una tabella con l’anagrafica relativa a ogni codice. Se vogliamo produrre un report, può essere opportuno dover unire i dati di queste due tabelle, di modo che a ogni cliente venga assegnata la giusta coppia di valori codice/anagrafica.

Potrebbe anche trattarsi di codici identificativi dei prodotti, dei reparti aziendali e le relative descrizioni. Nessun analista è tenuto a sapere a memoria tutti i codici, le etichette descrittive servono.

  • Se siamo bravi, ma proprio bravi, ce la caviamo una decina di righe in Visual Basic.
  • Se siamo un po’ meno bravi, possiamo sfruttare la funzione CERCA.VERT.

Se vogliamo fare le cose fatte bene, possiamo tenere i due file separati. Così se anche in futuro subiranno degli aggiornamenti, noi siamo (quasi) a posto. Però nelle referenze delle formule sarà presente il nome di tutta la cartella di lavoro, che potrebbe portare a formule con sintassi molto lunga.

Se scegliamo la strada più semplice, possiamo inglobare il secondo file Excel come foglio/tab del primo. In questo modo i riferimenti delle formule hanno solo il nome del foglio. Però se il secondo foglio viene aggiornato, dovremo re-inserirlo nel primo. È come se avessimo copiato le righe del secondo file e li avessimo incollati in un nuovo foglio del primo.

Oltretutto entrambe le modalità CERCA.VERT ci creano problemi se in futuro aggiungiamo dei file dell’agrafica clienti. In questo momento andremo a fare una ricerca su una matrice di 10 righe (A2:E11). Se aggiungiamo dei nuovi clienti, il range delle 10 righe iniziali, non includerà le nuove righe. Quindi dovremo ricordarci di andare ad aggiornare la matrice di ricerca.

Ma torniamo al problema iniziale.

Vogliamo inserire nella colonna B del foglio “Ordini” il nome del cliente che figura nella colonna B del foglio “Anagrafica cliente”.

La formula da usare è:

=CERCA.VERT(A2;’Anagrafica clienti’!$A$1:$E$11;2;FALSO)

Che in italiano significa: vai a cercare nel range A1:E11 dell’anagrafica dove trovi C1, la scritta della cella A2 degli ordini e, se lo trovi, mi restituisci il testo scritto nella seconda colonna (B) della matrice all’altezza di quella riga che contiene C1. Mettiamo i dollari ai valori della tabella anagrafica che deve restare sempre fissa, e trascianiamo la formula per tutte le righe della nostra tabella.

Idem con patate per la colonna C “Indirizzo”:

=CERCA.VERT(A2;’Anagrafica clienti’!$A$1:$E$11;3;FALSO)

Uguale alla precedente formula, ma questa volta gli chiediamo di restituirci il testo della colonna 3 (C). Trascianiamo in basso e facciamo la stessa identica cosa per tutte le colonne della prima tabella, andando a cambiare di volta in volta il numero della colonna di cui vogliamo che ci vengano restituiti i valori.

Abbiamo dovuto fare 4 formule diverse.

Ora vediamo come Alteryx ci permetta di ottenere lo stesso risultato con 1 solo tool e un paio di clic del mouse.

METODO 1: FIND & REPLACE

È il tool che praticamente replica la logica del CERCA.VERT. Va a cercare il valore della tabella in alto nella tabella in basso e restituisce i valori di tutte le colonne flaggate.

Findandreplace

 

METODO 2: JOIN

Non è esattamente un CERCA.VERT, ma di fatto va a cercare una corrispondenza tra i codici clienti e quando trova due righe con codice cliente uguale, affianca i dati della tabella di sinistra con i dati della tabella di destra, creando un’unica riga.

Join1 tool e un paio di clic di per configurarli!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.