Eliminazione intestazione da più file Excel

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi
Avatar utente

g.manno
Messaggi: 4 | Topic creati
Iscritto il: sab 10 apr 2021, 15:35

Eliminazione intestazione da più file Excel

Messaggio da g.manno »

Ciao a tutti,

mi sto approcciando per la prima volta sia a power query che a power pivot e quindi sono un po' alle prime armi, per cui mi scuso in anticipo se non uso i termini corretti o qualcosa non fosse chiaro.

Sto cercando di unire più file excel che contengono informazioni in maniera automatica da un'unica cartella. La cartella viene aggiornata periodicamente e si aggiungono sempre più file dai quali estrarre ed unire le informazioni in essi contenuti. I files al loro interno hanno lo stesso tipo di impaginazione e possiedono un'intestazione di 15 righe (evidenziata in rosso nei file allegati Estraz1 e Estraz2) e un corpo centrale di informazioni che vorrei mantenere ed accodare da un file all'altro per averne uno unico (evidenziate in giallo).

Immagine

Ho provato a estrarre le informazioni del corpo in giallo tramite Power Query (PQ) e direi che per essere la prima volta, sono abbastanza soddisfatto del risultato! Ma adesso si presenta un problemino, che vado di seguito a mostrare e spiegare.

Tramite PQ sono riuscito ad eliminare l'intestazione solamente dal primo file excel che ho importato. Infatti, come si può vedere nello screenshot qui sotto, l'intestazione è stata rimossa correttamente. Ma scorrendo più in basso si ritrova l'intestazione del secondo file importato, e ovviamente questo capita per tutti i file che vengono importati dalla cartella successivi al primo.

Immagine

C'è la possibilità con Power query di eliminare le intestazioni da tutti i file che vengono importati, nel mentre che vengono anche estratte ed accodate le informazioni contenute in tutti i file?

Premesso che tutti i file hanno lunghezze di righe diverse, per cui un comando o una funzione che preveda una cosa del tipo: "elimina X righe dopo N righe" non può funzionare.

Per completezza allego i files esempio dai quali estrarre le informazioni (Estraz1 ed Estraz2), e il file contenente la Query di prova realizzata, chiamato prova1.

Ringrazio in anticipo per il supporto.

Se qualcosa non fosse chiaro o fossero necessarie altre informazioni, chiedete pure.

Ciao,

Giacomo
Allegati
Estraz2.xlsx
File dal quale estrarre le informazioni
(21.1 KiB) Scaricato 14 volte
Estraz1.xlsx
File dal quale estrarre le informazioni
(21.32 KiB) Scaricato 17 volte
Prova1.xlsx
Prova effettuata con PQ
(19.68 KiB) Scaricato 18 volte


Avatar utente

Andrea90
Messaggi: 2193 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Eliminazione intestazione da più file Excel

Messaggio da Andrea90 »

Ciao g.manno,

Ti consiglio di estrapolare i dati da cartella come hai fatto tu, ma poi eliminare tutte le colonne eccetto quella che contiene il Binary.
A quel punto espandi i dati per ottenere uno step automatico per l'estrazione e l'accodamento dei file.

Vedrai sulla sinistra apparire le seguenti voci:

Immagine

La voce che serve a te è "Trasforma file di esempio"

In pratica quando si esegue questa procedura PowerQuery utilizza uno dei file presenti nella cartella come file di esempio, in modo tale che qualsiasi azione svolta su di lui venga poi replicata a tutti gli altri file, prima di accodarli.

Dunque se fai clic su quella voce vedrai che ho aggiunto due step, uno che rimuove le prime 10 righe, ed uno che elimina le righe vuote.

Un volta dato conferma clicca su "manno" in fondo per vedere la tabella risultante dall'azione di pulizia e di accodamento.

Ti lascio il file come esempio (dovrai ricaricare l'origine puntando alla tua cartella, in tutte le query in cui compare il passaggio "Origine" che punta al mio percorso").

A presto,
Andrea
Allegati
FileManno.xlsx
(22.04 KiB) Scaricato 29 volte
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

Autore del topic
g.manno
Messaggi: 4 | Topic creati
Iscritto il: sab 10 apr 2021, 15:35

Eliminazione intestazione da più file Excel

Messaggio da g.manno »

Ciao Andrea,

più o meno ho capito cosa hai fatto (o almeno credo :D). Solo che non ho capito bene come, vado a spiegarmi meglio. Ho capito che praticamente una volta fatte le modifiche desiderate ad un file, si può applicarle direttamente anche a tutti gli altri ma non ho capito come, ed ho le seguenti domande:

1) ho eliminato tutte le colonne ed ho lasciato solo quella binary, poi applico tutte le trasformazioni (eliminazioni di riga, righe vuote, ecc) e come faccio ad applicarle a tutti gli elementi della cartella?
2) che cosa sono "parametro 1" e la funzione (se così si chiama) "trasforma file"? E come lavorano?

Immagine

Il programma che hai fatto funziona, ma per poterlo applicare alla cartella con tutti i miei file avrei bisogno di capire un po' più in dettaglio come "funzionano". Hai qualche esempio (da youtube oppure un collegamento) da fornirmi?

Grazie

Giacomo
Avatar utente

Andrea90
Messaggi: 2193 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Eliminazione intestazione da più file Excel

Messaggio da Andrea90 »

Ciao Giacomo,

PowerQuery effettua i passaggi che ti servono in automatico quindi non devi costruire nulla di particolare.

1) Apri un file di Excel, premi su Dati, Recupera Dati, Da cartella
2) Selezioni la cartella che contiene i tuoi file e premi Ok, ti apparirà la seguente maschera:

Immagine

3) Premi trasforma Dati, in basso e ti troverai nell'editor di PowerQuery:

Immagine

4) Cerca la colonna che contiene i tuoi Binary e clicca con il destro sopra l'intestazione, e poi premi "Rimuovi altre colonne" così che ti rimane solo quella. Poi clicca il simbolo che compare all'estremità destra della colonna (due frecce che puntano in basso).
Ti compare la seguente schermata:

Immagine

Ora in alto c'è un menu a tendina dove puoi selezionare il file da utilizzare come esempio (te ne ho parlato prima), di default è il primo file che compare dentro alla cartella.

Poi lui ti mostra in basso il contenuto di questo file, che come vedi è solo un foglio (Sheet1). Selezioni Sheet1 (perchè essendo tutti uguali i file che andrai a caricare dovranno avere la stessa struttura e gli stessi fogli).

Ora premi OK in basso. Ti comparirà sulla sinistra tutto il gruppo di query e parametri che ti ho mostrato prima.

5) Se tu premi su "trasforma file d'esempio" troverai le righe di dati presenti nel primo file della cartella (il motivo è spiegato al punto 4).
Qualsiasi modifica che tu farai a questo file verrà eseguita in automatico anche su tutti gli altri. Quindi per farla semplice puoi provare a cliccare il pulsante "Rimuovi Righe" e poi "Rimuovi prime Righe", scegli dal menu che compare il numero che vuoi (io ho messo 10) e premi Invio.

6) Ora se clicchi nell'ultimo file in basso vedrai che le prime righe di intestazioni sono state eliminate anche dal secondo file accodato sotto al primo.

7) Per rimuovere le righe vuote torna al punto 5 ed aggiungi lo step per eliminare le righe vuote e poi torna all'ultimo file in basso.

Per gli altri pulsanti che hai chiesto posso anche mettermi a spiegarteli, ma sinceramente non ti sarebbe di così tanto aiuto per utilizzare il caricamento da cartella. Quello che ti serve capire è l'utilizzo dello step "trasforma file d'esempio" del punto 5.

Per i video su youtube basta cercare "powerquery caricamento da cartella" ed in italiano troverai sicuramente qualcosa (non so dirti che video guardare poiché non ne seguo tanti). Immagino che in inglese ci saranno anche molti più esempi.

A presto,
Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

Autore del topic
g.manno
Messaggi: 4 | Topic creati
Iscritto il: sab 10 apr 2021, 15:35

Eliminazione intestazione da più file Excel

Messaggio da g.manno »

Ciao Andrea,

ti rignrazio della spiegazione dettagliata, adesso ho capito che tutte quelle cose in più le ha create Excel in automatico da solo. Ho rifatto i tuoi passaggi ed ho capito.

Si è però verificato un prolema al quale sinceramente credevo non importasse, ma in realtà sembrerebbe di si: i file excel hanno tutti la stessa struttura una volta aperti, hanno tutti un foglio solo. Però questo foglio ha un nome diverso in tutti i file. Non credevo che causasse un problema e quindi non l'ho menzionato nel mio primo messaggio. L'errore quando vado a combinare i file con nomi diversi è questo:

Immagine

C'è un modo di aggirare il problema? Cioè di combinare file con nomi di fogli diversi ma comunque con la stessa struttura?

Ciao,

Giacomo
Avatar utente

Andrea90
Messaggi: 2193 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Eliminazione intestazione da più file Excel

Messaggio da Andrea90 »

Ciao g.manno ,

Se i tuoi file hanno tutti un solo foglio, chiamato con nomi diversi, quello che devi cambiare è lo step 4 che ti ho indicato nel precedente messaggio. Infatti ti avevo detto di cliccare su Sheet1 poiché pensavo che il nome del foglio non cambiasse.

Invece di cliccare sul nome del foglio clicca sul simbolo della cartella (Parametro1) e poi premi Ok in basso.

Immagine

Arriverai alla schermata mostrata nel primo messaggio che ti ho girato.

Immagine

Clicca su manno e poi guarda la lista di passaggi della query presenti a destra.

Devi eliminare l'ultimo passaggio (modificato tipo).

Poi clicca su "trasforma file da esempio".

Adesso devi ripetere lo stesso passaggio che ti avevo indicato al punto 4 del precedente messaggio, questa volta dovrai lasciare solo la colonna che contiene i dati di tipo "Table".

Immagine

Poi premi sul bottone posto sul lato destro dell'intestazione (le due frecce che puntano a direzioni opposte).

Immagine

Togli pure il flag in fondo e premi Ok.

Ora avrai il tuo file di esempio come nella scorsa procedura. Tutte le operazioni che eseguirai qui saranno poi replicate negli altri fogli al fine di essere accodati in un unica tabella (che come sempre vedrai nell'ultima query presente nella lista di sinistra).

A presto,
Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Eliminazione intestazione da più file Excel

Messaggio da Enrico Galli »

Andrea90 sempre magistrale e completissimo nelle sue spiegazioni :clap: mai una virgola da aggiungere... quand'è che scrivi un bel libro André! :D
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Avatar utente

Andrea90
Messaggi: 2193 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 666 volte
Contatta:

Eliminazione intestazione da più file Excel

Messaggio da Andrea90 »

Mi han detto che ormai non tirano più di tanto i libri 🤣
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Gennaro_64
Messaggi: 107 | Topic creati
Iscritto il: dom 11 apr 2021, 12:47
Ringraziato: 5 volte

Eliminazione intestazione da più file Excel

Messaggio da Gennaro_64 »

Buon pomeriggio,
Andrea90
Ho letto con attenzione il problema posto e la tua soluzione.
Sono d'accordo con Enrico Galli : ineccepibile ogni risposta.
Anche questa del file di esempio è eccezionale e potrebbe essere utile in tantissime situazioni perché supera anche il problema del nome del foglio di lavoro a volte diverso nei vari file.
PS: ci vorrebbe un video per illustrarlo meglio .... :) :)
A presto.
g
Rispondi