Michele Logreco
00lunedì 28 novembre 2016 15:20
Salve, sono nuovo in questo forum, questo è il mio primo intervento.
Ho un database con una serie di nomi inseriti tutti in una cella, vorrei dividerli in più colonne, ma facendo in modo che excel lasci gli spazi bianchi per i valori che non sono presenti.
Cerco di spiegarmi meglio
La riga completa è:
Vetro, Plastica, Alluminio, Carta e cartone, Organico, Pneumatici, Olii esausti, Pile scariche, Verde, Farmaci, Rifiuti ingombranti
Le righe dei miei dati non sempre possiedono tutte le voci, per esempio le prime 5 sono:
Vetro, Plastica, Alluminio, Carta e cartone, Organico, Farmaci
Vetro, Plastica, Carta e cartone, Organico
Vetro, Plastica, Carta e cartone, Organico, Olii esausti, Pile scariche
Vetro, Plastica, Alluminio, Carta e cartone, Organico, Farmaci, Rifiuti ingombranti
Vetro, Plastica, Carta e cartone, Organico
Vetro, Plastica, Carta e cartone, Organico
Vorrei che excel mi divida questi valori, inseriti tutti in una cella, in più colonne, lasciando però lo spazio vuoto quando non trova il valore.
Per esempio, per quanto riguarda la prima cella, manca Pneumatici, Olii esausti, Pile scariche, Verde, Rifiuti ingombranti
Allora vorrei che excel lasci, per la prima riga, 4 celle vuote tra Organico e Farmaci, che sarebbero celle vuote relative ai valori mancanti in quella prima riga rispetto alla riga completa.
Spero di essermi spiegato bene.
Vi ringrazio in anticipo :)
(Canapone)
00lunedì 28 novembre 2016 15:43
Ciao,
probabile che si risolva con il VBA velocemente.
Non conoscendolo, usando le formule, farei così
In A2 la stringa da declinare per colonna
In B2
=SE(CONTA.SE($A2;"*vetro*");"vetro";"")
copia questa formula a destra su altre 10 colonne ( o quanto basta)
Poi in C2 sostituisci vetro con plastica.
In D2 vetro con Alluminio
Preparate le 11 formule, copiale accanto alle stringhe.
Puoi anche abbreviare le stringhe da ricercare: basta un piccolo ragionamento
Esempio in G2
=SE(CONTA.SE($A2;"*pne*");"Pneumatici";"")
Spero sia d'aiuto
locatevaresino
00lunedì 28 novembre 2016 15:46
ciao Michele
faccio prima a postarti un file da come ho inteso io di fare
pur sapendo che il tuo bisogno non e' quello da te postato come dati
comunque la funzione madre e' quella in A2 che dopo ho trascinato a destra e in giu
=SE.ERRORE(STRINGA.ESTRAI($M2;TROVA(A$1;$M2;1);LUNGHEZZA(A$1));"")
allego file
(Canapone)
00lunedì 28 novembre 2016 16:33
Ciao,
prendo spunto dalla soluzione di Locatevaresino (ciao)
Stringhe nella colonna A
In B1:L1 le undici tipologia
In B2 da copiare in basso e a destra.
=SE(CONTA.SE($A2;"*"&B$1&"*");B$1;"")
Ripeto stessa filosofia di Locatevaresino.