View Full Version : [Esperti Excel cercasi] Riempimento celle vuote
Twins
17th February 2011, 10:43
Ragazzi sono di fronte un problema che mi sta angustiando la vita lavorativa,
ho un file excel (per il quale adesso allego foto) che contiene un elenco di circa 120'000 righe,alcune piene alcune vuote.
Fatte X le celle piene ed Y le celle vuote ci si trova ad intervalli in questa situazione
X1
Y1
Y1
Y1
Y1
X 2
Y 2
Y2
.
.
.
Xn
Yn
Yn
yn
A me interessa copiare il contenuto di Xn(le celle piene) nelle sottostanti celle vuote (Yn).
Esiste un metodo che permette di ottenere un risultato valido e meno impegnativo in termini di giorni di lavoro del semplice copia\incolla manuale?
thx:look:
http://i51.tinypic.com/2yukq2o.jpg
Mellen
17th February 2011, 10:47
Questa è una macro che permette di cancellare le intere righe dove ci sia la cella della 2° colonna vuota.
Se può esserti d'aiuto ...
Sub elimina()
ic = 2
ir = 1
For x = 1 To 500
If Cells(ir, ic) = Empty Then
Cells(ir, ic).EntireRow.Delete
ir = ir - 1
End If
ir = ir + 1
x = x + 1
Next
End Sub
se cerchi su google trovi spesso i comandi.
io da questa di partenza, ho fatto diverse prove
Twins
17th February 2011, 10:53
Gli intervalli sfortunatamente non sono regolari per cui ,almeno con le mie conoscenze limitate, è impossibile impostare una macro...
Posso trovare dopo una riga piena 10 righe vuote così come 5 righe vuote..Mi rifiuto però pensare non ci sia una soluzione..
Tunnel
17th February 2011, 10:58
Fai prima ad installarti sql o ad usare access.
Assegni ad una colonna un contatore da 1 a n dove n = max (righe).
Poi lo fai easy scorrendo le righe con tipo
per la compilazione, andando riga per riga con il numero di riga è semplice perchè se il campo datareg è vuoto o null => select datareg, dataro from databella where nriga = nriga-1
poi ovviamente fai update di datareg e dataro usando i valori della select precedente, iniettandoli dove nriga=nriga
sintassi errata, mi interessava passarti il concetto.
Poi c'è sicuramente qualche modo piu' elegante di farlo, ma con un cursore è veramente rapida la cosa
Comunque con 120 k di documenti necessitate di un PDM\PLM sensato che supporti la reportistica custom.
E no, sharepoint non è un'opzione valida.
Dr.Doomed
17th February 2011, 11:01
Supponiamo la tabella tu la abbia in Foglio1. Ne crei un duplicato in Foglio2 applicando alla serie che ti interessa (che supponiamo partire dalla cella X2) questa formuletta
=SE(NON(Foglio1!X2=""),Foglio1!X2,Foglio2!X1)
Seleziona quindi la cella e la colonna per tutta l'altezza che ti serve, quindi premi ctrl+<
A farla ancora piu` semplice, basta aggiungere una colonna alla tabella e adattare la formuletta affinche`operi sullo stesso foglio
dariuz
17th February 2011, 11:01
-edit-
fail
Tunnel
17th February 2011, 11:06
A questo punto non ho capito se ti serve avere le righe compilate o se ti va bene cancellare le righe vuote.
Chiedevi di compilare, nel thread :|
nortis
17th February 2011, 11:08
Supponiamo la tabella tu la abbia in Foglio1. Ne crei un duplicato in Foglio2 applicando alla serie che ti interessa (che supponiamo partire dalla cella X2) questa formuletta
=SE(NON(Foglio1!X2=""),Foglio1!X2,Foglio2!X1)
Seleziona quindi la cella e la colonna per tutta l'altezza che ti serve, quindi premi ctrl+<
A farla ancora piu` semplice, basta aggiungere una colonna alla tabella e adattare la formuletta affinche`operi sullo stesso foglio
*
dariuz
17th February 2011, 11:08
mmm ok in effetti non avevo capito un cazzo io di quello che ha chiesto sorry
Twins
17th February 2011, 11:10
imposti un filtro per non visualizzare le celle vuote e poi copi incolli su un altro foglio o per non visualizzare quelle piene e cancellare le righe vuote
strumenti-->Filtro Automatico--Dal menù a tendina selezionare Vuote (per cancellarle) / Non Vuote ( per fare il copia incolla)
oppure a seconda della verisione di excell
Dati -> Filtro -> Filtro automatico
A me non interessa cancellare le celle vuote ma riempirle.
Adesso provo la soluzione di Dr.Doomed per quanto abbia il cervello così in pappa che non ho realmente capito dove vuole arrivare la soluzione stessa.
Tunnel non ho le basi per provare con quello suggeritomi : |
dariuz
17th February 2011, 11:15
In caso questo dovrebbe essere quello che cerchi , Un metodo molto comodo per riempire le celle vuote di una tabella Excel con il valore immediatamente sopra :
http://my.opera.com/claudio724/blog/2009/11/04/riempire-celle-vuote-di-una-tabella-excel
Dr.Doomed
17th February 2011, 11:15
Adesso provo la soluzione di Dr.Doomed per quanto abbia il cervello così in pappa che non ho realmente capito dove vuole arrivare la soluzione stessa.
Tunnel non ho le basi per provare con quello suggeritomi : |
Se foglio1 x(i) non e` vuota, copia in foglio2 x(i) il valore di foglio1 x(i).
Se invece e` vuota, copia in foglio2 x(i) il valore di foglio2 x(i-1).
Applicando in sequenza hai quello che ti serve.
Twins
17th February 2011, 11:20
Non sembra funzionare ti allego printscreen
Twins
17th February 2011, 11:23
http://i53.tinypic.com/2ywygly.jpg
Ho creato una tabella alla sx .
Twins
17th February 2011, 11:25
In caso questo dovrebbe essere quello che cerchi , Un metodo molto comodo per riempire le celle vuote di una tabella Excel con il valore immediatamente sopra :
http://my.opera.com/claudio724/blog/2009/11/04/riempire-celle-vuote-di-una-tabella-excel
Riesci a farmi un sunto o un print screen -_-°? Il Filtro aziendale me lo considera spam
Dr.Doomed
17th February 2011, 11:28
http://i53.tinypic.com/2ywygly.jpg
Ho creato una tabella alla sx .
con riferimento all'esempio, nella cella selezionata dovresti avere
=se(non(C10756=""),C10756,B10755)
dariuz
17th February 2011, 11:28
Un metodo molto comodo per riempire le celle vuote di una tabella Excel con il valore immediatamente sopra, è il seguente.
Si supponga allora di avere come tabella di partenza la:
http://files.myopera.com/claudio724/blog/ScreenShot006.jpg
All'interno di questa è necessario prima selezionare tutte le celle vuote dell'area dati.
Per far ciò si individua prima l'area dati attraverso la funzione VAI..\Area Corrente:
http://files.myopera.com/claudio724/blog/ScreenShot007.jpg
http://files.myopera.com/claudio724/blog/ScreenShot008.jpg
A questo punto per selezionare le sole celle vuote, si procede utilizzando nuovamente la funzione
Vai..\Celle Vuote:
http://files.myopera.com/claudio724/blog/ScreenShot009.jpg
Il risultato ottenuto sarà del tipo:
http://files.myopera.com/claudio724/blog/ScreenShot010.jpg
Digitare all'interno della barra delle formule "=" FRECCIA SU in modo da inserire un rimando all'elemento direttamente sopra alla prima cella vuota.
Per copiare questa funzione sull'intera area delle celle vuote (selezionate al punto precedente) basta premere <CTRL+INVIO>
Il risultato ottenuto sarà:
http://files.myopera.com/claudio724/blog/ScreenShot011.jpg
Twins
17th February 2011, 11:51
Vi devo qualcosa :>
Cifra
17th February 2011, 11:56
Premesso che ho capito che tu vorresti (nell'esempio allegato) che le righe 10214/15/16 abbiano il contenuto della 10213, suggerisco la seguente manovra.
1) Passare sul foglio2
2) inserisci la seguente formula: =SE(Foglio1!A2<>" ";Foglio1!A2;A1)
3) trascina dappertutto e attento alla prima riga.
4) smanetta un po' per aggiustare i dettagli.
Brcondor
17th February 2011, 12:04
Usa matlab che ste cose le fai in mezzo secondo, e poi esporti tutto in excel.
In matlab ti basta fare un miserrimo for, registrando di votla in volta dove trovi una casella non nulla con un indice che aggiorni appena ne trovi un'altra non nulla e in mezzo copi i vari valori.
Perchè la gente usa quel cesso di excel non l'ho mai capito, un linguaggio di programmazione che ogni 2-3 anni va in parte ristudiato mi sembra qualcosa di iutile
Twins
17th February 2011, 13:07
Usa matlab che ste cose le fai in mezzo secondo, e poi esporti tutto in excel.
In matlab ti basta fare un miserrimo for, registrando di votla in volta dove trovi una casella non nulla con un indice che aggiorni appena ne trovi un'altra non nulla e in mezzo copi i vari valori.
Perchè la gente usa quel cesso di excel non l'ho mai capito, un linguaggio di programmazione che ogni 2-3 anni va in parte ristudiato mi sembra qualcosa di iutile
Hai pienamente ragione ma oramai scaricando da SAP su excel e non essendo in genere le operazioni di alcuna difficoltà talvolta evito pure di usare IDEA (altro programma simile a Matlab).. si tratta di velocizzare i processi ma in casi come questo sarebbe stato molto più comodo o matlab o idea
Eltarion
17th February 2011, 16:56
lol addirittura scomodare matlab -.- ma vbscript? comunque bho la soluzione proposta da dariuz spacca duro
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.