Vai al contenuto

Trovare farmaci generici Excel

    TROVARE_FARMACO_GENERICO_EXCEL_OVERALL

    Trovare i farmaci generici o equivalenti a volte può essere complesso - in questo file interattivo puoi inserire un farmaco nella cella B3 per poi ottenere una lista aggiornata di tutti i farmaci segnalati da AIFA che presentino lo stesso principio attivo:

    In questa guida vedremo come creare da zero un file simile, prendendo i dati dal sito ufficiale di AIFA e modificandoli poi per ottenere una ricerca interattiva.

    TROVARE_FARMACO_GENERICO_EXCEL_OVERALL

    Disclaimer: la versione utilizzata è Excel 365, quindi il file potrebbe non funzionare nelle versioni desktop con versioni precedenti. Nel caso, puoi sempre utilizzare la versione online disponibile in cima a questo articolo.

    Dove trovare l'elenco dei farmaci generici per principio attivo

    AIFA rilascia un elenco di tutti i farmaci che si può liberamente scaricare dal sito ufficiale. Il formato che ci interessa per questa guida è il formato .XLS, che comprende tutte le informazioni che ci servono per la nostra ricerca.

    Utilizzeremo questo file come base per creare una struttura dinamica su Excel come quella che trovi più in alto nella guida.

    Come importare un file XLS su Excel con Power Query

    La struttura dinamica del file ci permette di aggiornare il file di partenza con semplicità - ogni mese, quando AIFA rilascia la nuova versione del file, potremo rapidamente aggiornare anche la lista finale con tutti i farmaci generici.

    I passaggi che ho seguito sono i seguenti, passando da Power Query:

    • Accedere a Dati > Dati da > Cartella di lavoro Excel
    • Creare un parametro uguale al percorso del file sul nostro computer
    • Modificare il file di partenza per ottenere una base di dati coerente per l'analisi

    Se volessi aggiornare questo file anche in futuro, dovrai semplicemente:

    • Andare sul sito ufficiale di AIFA e scaricare l'ultima versione del file in formato XLS
    • Cliccare su Dati > Query e Connessioni
    • Modificare la query chiamata Sorgente_Dati
    TROVARE_FARMACI_GENERICI_MODIFICA_QUERY
    • Cliccare su Gestisci Parametro per poi copiare il percorso dove si trova il nuovo file appena scaricato, sostituendo la stringa già esistente (che sarà C:\Users\marco...) cliccando poi su OK
    TROVARE_FARMACI_GENERICI_PARAMETRO_VALORE_CORRENTE
    • Chiudere il pannello di Power Query, tornare al file Excel e cliccare su Aggiorna sull'altra query presente sul file
    TROVARE_FARMACI_GENERICI_AGGIORNA_QUERY

    La parte di pulizia ha interessato soprattutto la sostituzione di alcuni valori, ad esempio il simbolo dell'euro crea dei problemi se vogliamo poi trasformare queste celle in numeri. Se vuoi saperne di più basta provare a modificare l'altra query e vedrai tutti i passaggi in sequenza nella parte chiamata Passaggi Applicati.

    Come trovare il farmaco equivalente a un altro farmaco su Excel

    Una volta creata la nostra tabella (TBL_FARMACI) dopo aver caricato i dati da Power Query, prendiamo la lista dei farmaci univoci che troviamo sul nostro file e la inseriamo nel foglio LIST:

    TROVARE_FARMACO_GENERICO_EXCEL_ELENCO_FARMACI

    =DATI.ORDINA(UNICI(TBL_FARMACI[Farmaco]))

    La formula prende prima di tutto i valori univoci (UNICI) della tabella TBL_FARMACI nella colonna Farmaco (quindi TBL_FARMACI[Farmaco]), per poi ordinarli (DATI.ORDINA) in ordine alfabetico.

    Questo semplifica la parte di inserimento poi nel file dinamico, avendo tutto in ordine alfabetico - inseriamo quindi nella cella B3 un menu a tendina pari a =LIST!$B$3#.

    Per trovare il principio attivo e visualizzarlo possiamo fare così:

    TROVARE_FARMACO_GENERICO_EXCEL_PRINCIPIO_ATTIVO

    =MAIUSC(CERCA.X(B3;TBL_FARMACI[Farmaco];TBL_FARMACI[Principio attivo];""))

    MAIUSC ci restituisce il principio attivo in maiuscolo solo per un motivo grafico - mentre andiamo a recuperare, con CERCA.X, il valore del farmaco (B3) che viene cercato nella sua colonna di appartenenza (TBL_FARMACI[Farmaco)] per restituirci il principio attivo (TBL_FARMACI[Principio attivo]). Se la formula non trovasse niente, ci restituirebbe un valore vuoto ("").

    Per saperne di più sul principio attivo, è possibile creare un collegamento ipertestuale dinamico:

    TROVARE_FARMACO_GENERICO_EXCEL_GOOGLE_PRINCIPIO_ATTIVO

    =COLLEG.IPERTESTUALE(CONCAT("https://www.google.com/search?q=";D3);"Scopri di più sul principio attivo")

    In questo caso utilizziamo CONCAT per concatenare la ricerca su Google e il valore dinamico del principio attivo (D3) - sul file troveremo poi solo "Scopri di più sul principio attivo" mentre COLLEG.IPERTESTUALE ci crea un collegamento ipertestuale che aprirà una nuova ricerca sul nostro browser preferito.

    Per visualizzare il numero di farmaci, troviamo nella cella B5 questa formula:

    TROVARE_FARMACO_GENERICO_EXCEL_NUMERO_FARMACI

    =SE(B6="";"NESSUNA ALTERNATIVA";CONCAT(RIGHE(B6#);" FARMACI"))

    In questo caso:

    • Se B6 fosse uguale a "", ovvero non ci fossero farmaci generici alternativi, apparirebbe un valore vuoto
    • Se invece in B6 ci fosse un valore, in questo caso Excel prenderebbe il totale di RIGHE della formula venutasi a creare. Ad esempio se fossero 5 righe, sarebbero 5 farmaci possibili. In questo caso il valore numerico si unisce con CONCAT per creare una stringa tipo "5 FARMACI" come intestazione della prima colonna

    Tutta questa parte è di introduzione alla formula dinamica che troviamo invece nella parte sottostante:

    TROVARE_FARMACO_GENERICO_EXCEL_FORMULA

    =SE.NON.DISP.(

    DATI.ORDINA(

    SCEGLI.COL(

    FILTRO(TBL_FARMACI;TBL_FARMACI[Principio attivo]=D3;"");

    5;8;6;7);

    2);

    "")

    Proviamo a vederla per pezzi:

    • FILTRO sta filtrando la nostra tabella di partenza prendendo solo i casi nei quali il Principio attivo è pari al valore in D3, quindi cambia dinamicamente a seconda della nostra scelta in B3
    • SCEGLI.COL ci restituisce la quinta, la nona, la sesta e la settima colonna della nostra tabella di partenza. Questo perchè vogliamo vedere il nome del farmaco (5' colonna), il prezzo al pubblico (8'), la descrizione della confezione (6') e la ditta produttrice (7')
    • DATI.ORDINA ordina l'array secondo la seconda colonna venutasi a creare, quindi in questo caso il prezzo al pubblico. In questo modo avremo tutto ordinato in ordine crescente dal farmaco meno costoso a quello più costoso secondo la tabella di partenza - NB: attenzione in questo caso perchè le confezioni variano notevolmente anche se il principio attivo è lo stesso, quindi non sempre il valore più basso indica in assoluto il farmaco più conveniente
    • SE.NON.DISP indica che, se il farmaco non ha farmaci generici equivalenti, vogliamo trovare un valore vuoto

    Come trovare l'elenco dei farmaci con lo stesso principio attivo su Excel

    Un esempio riassuntivo più rapido si può trovare nel foglio RICERCA_GENERICO_SOMMARIO, dove stiamo generando una lista dei farmaci che abbiano lo stesso principio attivo senza andare troppo nel dettaglio:

    TROVARE_FARMACO_GENERICO_EXCEL_PRINCIPIO_ATTIVO_RECAP

    =LET(farmaci;DATI.ORDINA(UNICI(
    FILTRO(TBL_FARMACI[Farmaco];TBL_FARMACI[Principio attivo]=D3)));
    CONCAT("Ci sono ";CONTA.VALORI(farmaci);
    " tipi di farmaci con lo stesso principio attivo: ";
    CARATT.UNI(10);CARATT.UNI(10);
    TESTO.UNISCI(", ";VERO;farmaci)))

    Pure in questo caso vediamo la formula per gradi:

    • LET sta dichiarando che il nostro elenco di farmaci saranno solamente i farmaci con il Principio attivo pari a D3 (come nel caso precedente, qui usiamo FILTRO). Questi valori saranno univoci (UNICI) e poi ordinati (DATI.ORDINA)
    • CONCAT ci permette di scrivere un commento dove recuperiamo alcuni valori
    • CONTA.VALORI sono i farmaci che fanno parte di questo gruppo, dato che conta tutti i valori dell'array precedente creato da LET
    • CARATT.UNI è un piccolo trucco per andare a capo, in modo che il testo sia più leggibile
    • TESTO.UNISCI è in realtà il cuore della formula, dato che prende tutti i valori (farmaci) e li concatena tutti insieme, delimitandoli con la virgola (", ")

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *