Unire contenuti di file excel

Stefano Ascareggi 0 Punti di reputazione
2025-11-15T17:37:27.55+00:00

Buongiorno a tutti,

chiedo il Vostro aiuto per trovare una soluzione al seguente problema; nel file allegato ho schematizzato i dati del mio problema;

si parte da un foglio excel (pag. 1 del pdf) in cui ci sono dei dati e il campo chiave definito modulo;

nella pagina 2 del pdf la tabella dei riferimenti, ad esempio il modulo A richiama al suo interno sia il modulo B che il C, e così via.

Nella pag. 3 invece c'è il primo tipo di output che vorrei, ossia un foglio excel in cui siano riportati tutti i dati collegabili in maniera diretta o per riferimento ad ogni modulo.

Nella pag. 4, infine, il secondo tipo di output desiderato, in cui le eventuali righe di dati ripetute (i vari moduli infatti possono contenere le stesse identiche righe di dati) vengono eliminate, tenendo traccia di questa modifica come in foglio 4.

Grazie a tutti per l'aiuto.

SA

Microsoft 365 e Office | Excel | Per l'istruzione | Windows

1 risposta

Ordina per: Meno recente
  1. Ryan-N 16,095 Punti di reputazione Personale Esterno Microsoft Moderatore
    2025-11-15T21:18:48.3666667+00:00

    Questa risposta è stata tradotta automaticamente. Pertanto, potrebbero esserci errori grammaticali o espressioni insolite.

    Ciao @Stefano Ascareggi,

    Benvenuti nel forum di domande e risposte di Microsoft.

    Grazie per aver fornito informazioni dettagliate sulla Vostra richiesta di elaborazione dati. In base alle Vostre esigenze, Vi proponiamo una soluzione che utilizza Power Query in Excel con le seguenti istruzioni dettagliate:

    ISTRUZIONI PER L'IMPLEMENTAZIONE IN POWER QUERY

    FASE 1: PREPARAZIONE DEI DATI

    • Assicurarsi che il file Excel contenga 2 fogli:
      • Foglio "Dati": Contiene i dati originali (pagina 1 del file PDF)
      • Foglio "Riferimenti": Contiene la tabella di riferimento tra i moduli (pagina 2 del file PDF)
    • Formattare i dati come tabella (Table) selezionando l'intervallo di dati e premendo Ctrl + T

     

    FASE 2: CARICAMENTO DEI DATI IN POWER QUERY

    1. Aprire la scheda Dati → selezionare Recupera e trasforma dati → Da tabella/intervallo
    2. Ripetere l'operazione per entrambi i fogli Dati e Riferimenti

     

    FASE 3: CREAZIONE DELLA FUNZIONE RICORSIVA IN POWER QUERY

    1. In Power Query Editor, selezionare Nuova origine → Altre origini → Query vuota
    2. Denominare la query "fxGetAllModules"
    3. Nella finestra della formula, inserire il seguente codice M:

    let

    Origine = Excel.CurrentWorkbook(),

    TabellaRiferimenti = Origine{[Name="Riferimenti"]}[Content],

    TabellaDati = Origine{[Name="Dati"]}[Content],

     

    // Recupera i dati diretti del modulo

    DatiDiretti = Table.SelectRows(TabellaDati, each [Modulo] = ModuloIniziale),

     

    // Trova i moduli figli

    ModuliFigli = Table.SelectRows(TabellaRiferimenti, each [ModuloPadre] = ModuloIniziale)[ModuloFiglio],

     

    // Chiamata ricorsiva per ogni modulo figlio

    DatiRicorsivi = List.Combine(

    List.Transform(

    ModuliFigli,

    each fxGetAllModules(_)

    )

    ),

     

    // Combina i dati

    DatiCombinati = Table.Combine({DatiDiretti, DatiRicorsivi})

    in

     

     

    FASE 4: CREAZIONE OUTPUT 1 (DATI COMPLETI)

    1. Creare una nuova query: Nuova origine → Altre origini → Query vuota
    2. Denominare "Output1_DatiCompleti"
    3. Inserire il codice:

    let

    Origine = Excel.CurrentWorkbook(),

    TabellaDati = Origine{[Name="Dati"]}[Content],

    ModuliUnici = List.Distinct(TabellaDati[Modulo]),

    DatiEspansi = List.Combine(

    List.Transform(

    ModuliUnici,

    each fxGetAllModules(_)

    )

    ),

    Risultato = Table.FromList(DatiEspansi, Splitter.SplitByNothing(), {"TuttiDati"})

    in

    Risultato

    FASE 5: CREAZIONE OUTPUT 2 (RIMUOVI DUPLICATI)

    1. Fare clic destro su "Output1_DatiCompleti" → Riferimento
    2. Rinominare "Output2_SenzaDuplicati"
    3. Eseguire:
      • Selezionare tutte le colonne → Rimuovi duplicati
      • Aggiungere una colonna "Note" con la formula:

     

    FASE 6: COMPLETAMENTO

    1. Selezionare Chiudi e carica per tutte e 3 le query
    2. I dati verranno esportati in nuovi fogli

     Spero che queste informazioni siano utili. Segui questi passaggi e fammi sapere se funzionano per te. In caso contrario, possiamo collaborare per risolvere il problema.

    Grazie per la tua pazienza e comprensione. Se hai domande o hai bisogno di ulteriore assistenza, sentiti libero di condividerle nei commenti a questo post così posso continuare a supportarti.


    Se la risposta è utile, fai clic su "Accetta risposta" e gentilmente votala positivamente. Se hai ulteriori domande su questa risposta, fai clic su "Commenta".

    Nota: Segui i passaggi nella nostra documentazione per abilitare le notifiche e-mail se desideri ricevere la notifica e-mail relativa a questa discussione.

    La risposta è stata utile?

    0 commenti Nessun commento

Risposta

Le risposte possono essere contrassegnate come "Accettata" dall'autore della domanda e "Consigliata" dai moderatori, in modo da consentire agli utenti di sapere che la risposta ha risolto il problema dell'autore.