Combinare i valori tra due colonne

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

kris9951
Messaggi: 33 | Topic creati
Iscritto il: gio 24 set 2020, 22:10
Ringraziato: 3 volte

Combinare i valori tra due colonne

Messaggio da kris9951 »

Salve a tutti!

Apro questo Post perché ho un problema nel combinare i valori tra due colonne.

La regola che sta alla base per eseguire la combinazione è "semplice" ma tradurlo in una funzione credo sia esattamente l'opposto.

Ho una colonna "IngUsc" con questi valori:

Ing Usc
Ing Usc Usc Usc Ing Usc Ing Usc
Ing Ing Usc Ing Usc
Ing Usc Ing Usc

ed un'altra colonna "ORARI" con questi:

07:53 13:52
07:23 08:01 08:11 08:11 08:11 13:35 14:42 16:46
07:52 08:55 08:56 09:09 14:00
07:28 10:06 10:18 13:56

Il risultato che vorrei ottenere è :

Ing 07:53 Usc 13:52
Ing 07:23 Usc 08:01 Usc 08:11 Usc 08:11 Ing 08:11 Usc 13:35 Ing 14:42 Usc 16:46
Ing 07:52 Ing 08:55 Usc 08:56 Ing 09:09 Usc 14:00
Ing 07:28 Usc 10:06 Ing 10:18 Usc 13:56

In parole povere il primo valore della colonna "IngUsc" si concatena con il primo della colonna "ORARI", il secondo con il secondo, il terzo con il terzo e così via.

Il problema è che il numero dei valori è differente tra i vari Records, cioè, se in un record ci sono 8 valori tra "Ing" e "Usc" ci saranno altrettanti 8 valori tra gli orari di quel Record, ma ogni record ha la sua quantità di valori.

La regola di base, come già detto, è che il primo valore della colonna "IngUsc" si concatena con il primo della colonna "ORARI", il secondo con il secondo, il terzo con il terzo e così via.

Potreste aiutarmi per favore?
(allego file)

Grazie a tutti per il supporto!!
Allegati
Ingresso-Uscita.xlsx
(19.19 KiB) Scaricato 77 volte


Avatar utente

Autore del topic
kris9951
Messaggi: 33 | Topic creati
Iscritto il: gio 24 set 2020, 22:10
Ringraziato: 3 volte

Combinare i valori tra due colonne

Messaggio da kris9951 »

Buongiorno a tutti!

Ho chiesto all'AI e mi ha dato questa soluzione:

Codice: Seleziona tutto

let
    Origine = Excel.CurrentWorkbook(){[Name="Tabella1"]}[Content],
    #"Modificato tipo" = Table.TransformColumnTypes(Origine,{{"DATA", type date}, {"IngUsc", type text}, {"ORARI", type text}}),
    #"Added Custom" = Table.AddColumn(#"Modificato tipo", "Risultato", each 
        let
            IngUsc = Text.Split([IngUsc], " "),
            ORARI = Text.Split([ORARI], " "),
            Zipped = List.Zip({IngUsc, ORARI}),
            Concatenated = List.Transform(Zipped, each Text.Combine(_," "))
        in
            Text.Combine(Concatenated, " ")
    )
in
    #"Added Custom"
Quindi la parte interessata è:

Codice: Seleziona tutto

#"Added Custom" = Table.AddColumn(#"Modificato tipo", "Risultato", each 
        let
            IngUsc = Text.Split([IngUsc], " "),
            ORARI = Text.Split([ORARI], " "),
            Zipped = List.Zip({IngUsc, ORARI}),
            Concatenated = List.Transform(Zipped, each Text.Combine(_," "))
        in
            Text.Combine(Concatenated, " ")
    )
in
    #"Added Custom"
Ho aggiornato subito per evitare di farvi perdere tempo inutilmente.

Scusate per il disturbo :lol:
Rispondi