COPIA SOLO SE VALORE CELLA X=Y

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Ghiraffa
00mercoledì 3 maggio 2017 16:22
Ciao a tutti,
sono nuova del forum e sto impazzendo con un file excel senza trovare la soluzione anche perchè non sono in grado di usare le macro...
Volevo chiedervi come si fa a fare questa cosa:
Ho un foglio (foglio1) con un elenco di prodotti con varie caratteristiche che occupano più colonne, devo copiare su un altro foglio (foglio3) solo le righe che riportano nell'ultima colonna una dicitura ("DA SCARICARE").
Da ignorante riesco a copiare con la formula
=SE(Foglio1.$K$3="DA SCARICARE";Foglio1.A3;"")
Ma chiaramente mi ritrovo con un sacco di righe vuote tra una riga interessante e l'altra...
come devo fare? HELP [SM=x423017]
P.S. HO PROVATO A VEDERE LE ALTRE RICHIESTE SIMILI MA NON SONO RIUSCITA A COMBINARE...
alfrimpa
00mercoledì 3 maggio 2017 16:29
Ciao Veronica

Puoi allegare un file di esempio con i dati (non sensibili), spiegazione e risultato desiderato inserito a mano?

A naso non posso darti rassicurazioni che si riescano ad evitare le macro.

P.S. Rileggendo meglio la tua richiesta penso proprio che senza macro non si possa fare; attendo il file.
dodo47
00mercoledì 3 maggio 2017 17:07
Ciao
supponendo che nel foglio1 i valori partano dalla riga 1 e vuoi copiare in foglio2 a partire sempre da riga1:

in foglio2, A1:

=SE.ERRORE(INDICE(Foglio1!A:A;PICCOLO(SE(Foglio1!$E$1:$E$6="da scaricare";RIF.RIGA(Foglio1!$A$1:$A$6));RIF.RIGA()-RIF.RIGA(Foglio1!$A$1)+1));"")


Attenzione all'uguaglianza dei range ($E$6 e $A$6).

MATRICIALE

Da adattare alle tue esigenze

saluti

alfrimpa
00mercoledì 3 maggio 2017 17:28
Bravo Domenico io con le formule sono una capra [SM=g27828]

Magari quando avremo il file proporrò anche una soluzione con macro.
alfrimpa
00mercoledì 3 maggio 2017 17:50
Ciao Veronica

Ecco la mia proposta.

Questa macro associata al pulsante "Archivia" sul foglio1 fa quello che hai chiesto indipendentemente dalla lunghezza dei dati in colonna A.

vb
Sub Archivia()
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
ur = Sheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("a2:a" & ur)
For Each cel In rng
lr = Sheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Row
    If cel.Offset(0, 1).Value = "da scaricare" Then
        Sheets("Foglio2").Cells(lr + 1, 1).Value = cel.Value
    End If
Next cel
End Sub


Ovviamente se ci fai avere un tuo file di esempio strutturalmente uguale al tuoi reale poteremmo eventualmente correggerla.

Ti allego il file.
Ghiraffa
00mercoledì 3 maggio 2017 18:23
Caspita, siete dei missili!
Grazie a tutti intanto, stasera preparo un file esempio e lo posto, intanto proverò i primi suggerimenti. Per adesso grazie mille!
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 21:45.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com