Stringa Concatenata

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

Moderatore: Utilizzo_prof_Excel

Rispondi

domemarti93
Messaggi: 30 | Topic creati
Iscritto il: mar 11 ago 2020, 14:21
Ringraziato: 1 volta

Stringa Concatenata

Messaggio da domemarti93 »

Buonasera, ripropongo di nuovo lo stesso post condiviso in data 08/12/2020, a cui purtroppo non sono ancora riuscito a dare una soluzione nonostante l'ottimo suggerimento di Andrea90.
Ho una stringa composta dalla concatenazione di varie dimensioni. Il mio obiettivo è dividere questa stringa e ottenere ogni codice incolonnato sotto la propria dimensione.
La soluzione proposta da Andrea funziona perfettamente se tutte le dimensioni contengono la "D".
Nel mio caso ci sono alcune dimensioni che non contengono la D. Le ho evidenziate in giallo e per darvi un idea di come sono fatte le ho riportante in fogli separati.
Allego il tutto in un file di esempio.
Grazie per l'aiuto.
Allegati
ESEMPIO.xlsx
(16.07 KiB) Scaricato 6 volte
Ultima modifica di domemarti93 il mar 23 mar 2021, 17:34, modificato 1 volta in totale.


Avatar utente

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

Stringa Concatenata

Messaggio da Andrea90 »

Ciao domemarti93,

Come ti ho scritto l'altra volta per fare lavori di questo genere è necessario comprendere la logica che sta dietro a questa operazione che vuoi fare.
Vedo ad esempio che metti delle stringhe con delimitatori diversi:

29D10--13D03-004207--05D14-21D15-02D16

alcune volte è "--" altre "-"

È uno solo o possono essere entrambi?

Se hai delle codifiche "ad hoc" specifiche per una data suddivisione (vedi la lista di codici che hai inserito in uno dei fogli del file), e se questi codici possono appartenere ad una sola di queste categorie, es° il codice 031 appartiene sempre e solo alla suddivisione D02 allora puoi riciclare la soluzione dell'altra volta dove quando esegue l'operazione di Text.AfterDelimiter([Stringa], "d") ci saranno delle celle che rimarranno vuote.

A quel punto puoi andare, al termine di tutti i passaggi, ad effettuare un merge con una tabella di transcodifica che dovrai prepararti (tabella che contiene due colonne: CODICE e SUDDIVISIONE) . Così facendo, quelle che non ha trovato perché non aveva "D" lo troverà tramite il merge.

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
Rispondi