Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

vlookup e If function

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

vlookup e If function

Postdi pascod » 11/09/12 13:23

Ciao,
vorrei effettuare un vlookup e richiamare una determinata cella, poniamo a5, solo se in a1 ho un numero " <>0 ".
Finquì sembra semplice, pongo un If e poi un Vlookup nella stessa formula.. ma se a1=0, allora vorrei dire di andare alla riga successiva finchè non incontra un' altra cella nella colonna1 che sia =0..portandomi a termine il vlookup, senza lasciare righe vuote..

Come posso fare?? grazie!

Pasquale
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54

Sponsor
 

Re: vlookup e If function

Postdi Flash30005 » 11/09/12 16:46

:?:

Dimentica per un momento i tuoi dati e ciò che vorresti fare e che sei Pascod.

Leggi ciò che hai scritto e dimmi se riesci a capire cosa vuole l'utente

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vlookup e If function

Postdi pascod » 11/09/12 18:11

HAI RAGIONE!!!
Quando lavori molto arrivi a delirare... ed io ho delirato!
Dunque, ho un listino su un primo foglio, alcuni prodotti hanno quantità 0, altri hanno quantità 1.
In un secondo foglio di riepilogo vorrei crearmi un elenco con le informazioni (prezzi di listino, sconti, fatturato ecc..) solo per i prodotti movimentati con quantità=1.
Se lo faccio con un semplice vlookup solo se q.tà=1, riga per riga, nel momento in cui nel primo foglio la quantità del prodotto xesimo è =0, la riga del foglio di riepilogo mi rimane vuota mentre io vorrei chiedergli di andare avanti e riempirmi la riga col successivo prodotto che ha la q-tà =1!
Spero vada meglio
Grazie
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54

Re: vlookup e If function

Postdi Flash30005 » 11/09/12 19:04

Hai provato con il filtro?
Filtro automatico
selezione nella colonna quantita 1
avrai così un elenco delle sole righe con quantità 1
che potrai copiare e riportarle nel foglio2

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vlookup e If function

Postdi pascod » 11/09/12 19:28

ti ringrazio, sarebbe un'idea ottima, ma non posso utilizzare filtri,..
c'è una macro con un ciclo che mi permetta di creare la lista nel secondo foglio??
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54

Re: vlookup e If function

Postdi Flash30005 » 11/09/12 19:34

Beh ci sono molti esempi nel forum

Fai un ciclo for next di tutte le righe del foglio1
inserendo la condizione Se ColonnaQuantità = 1 allora copia con destinazione l'ultima riga foglio1+1 (ovvero offset)
se non riesci ti invio un esempio di codice

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vlookup e If function

Postdi pascod » 13/09/12 09:28

come ho 10 minuti mi trovo un esempio dal sito e provo a scrivere la macro.. poi in caso ti ricontatto!
Thanks!!
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54

Re: vlookup e If function

Postdi pascod » 13/09/12 13:26

Mi spiace ma non ci riesco...ti do i dati velocemente.
il foglio del listino denominato "SHAVING" da E8 ad E115 ha le celle dove viene inserita la q.tà.
se in e8 la q.tà =1 allora bisogna copiare la cella a8 nel foglio seguente Sheet1 in a4
se q.tà =0 il ciclo for dovrebbe andare avanti fino a che non trova un'altea riga con q.tà =1
così via per tutte le righe..
Grazie moltissimeeeee!!!
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54

Re: vlookup e If function

Postdi Anthony47 » 13/09/12 15:13

Scusa, se ti serve aiuto forse dovresti anche aiutarci a capire meglio, anche se questo ti richiedesse ben piu' di 10 minuti; personalmente non mi sono fatto nessuna idea di come sono i tuoi dati, a parte le qt in colonna E.
ti ringrazio, sarebbe un'idea ottima, ma non posso utilizzare filtri
Puoi spiegare quale e' l' ostacolo?

In alternativa al filtro, ordina il tuo elenco per quantita' "decrescente" cosi' il vlookup riportera' le righe con Qt >1 (anche se onestamente non ho capito come hai impostato la formula If+Vlookup).

In ulteriore alternativa, ti crei nel nuovo foglio un elenco di valori unici di quanto presente in col A di shaving (immagino che qui ci sia la chiave che il tuo vlookup dovrebbe cercare, anche se la tua ultima descrizione dice tutt'altro), poi accanto riporti la riga su cui quel valore e' presente con qt >0 usando la formula
Codice: Seleziona tutto
=CONFRONTA(A8;SE(SHAVING!$E$8:$E$115>0;SHAVING!$A$8:$A$115;"");0)
Da confermare con Contr-Maiusc-Enter, poi copiala verso il basso.
Nota: il numero e' riferito alla riga 8; se la tua struttura dati te lo consente usa, nella formula $E$1:$E$115 e $A$1:$A$115 per avere direttamente il numero riga assoluto.
A questo punto potrai usare questo numero riga per "pescare" da shaving le colonne che ti interessano.

Qualcosa in piu' solo conoscendo in modo chiara la tua struttura dati.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi pascod » 14/09/12 11:04

Anthony devo riconoscere ancora una volta che avete ragione! è difficile comprendere i motivi per cui devo usare una macro se non li spiego..o comprendere la mia base dati se non la rendo palese..
Base dati: Listino (foglio Shaving)
MOLTE COLONNE: Codice art. - Q.tà- Prezzo di listino - Costo produzione ECC...
120 RIGHE con i vari prodotti.
Quando il venditore prepara l'opportunità di acquisto al cliente non può far vedere il costo di produzione ed altri dati presenti nel foglio listino. Per tal motivo creo un secondo foglio di riepilogo nel quale vorrei che una macro automaticamente mi riportasse nella prima colonna, uno dopo l'altro, solo i codici prodotto che hanno quantità uguale o superiore ad uno e non riportino quei codici con quantità uguale a 0. La macro fa il lavoro al posto del venditore che altrimenti dovrebbe incollarsi i valori movimentati con quantità =1 o superiore.
Sono io, poi, che ho già inserito nelle colonne del foglio di riepilogo dei semplicissimi v lookup che mi restituiscono i valori delle altre colonne del foglio shaving solo una volta che leggono il codice prodotto nella prima colonna.

Ora sembrerebbe più chiaro.. spero almeno..

Grazie Ragazzi per la vostra ....per giunta gratuita... disponibilità!

Pasquale
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54

Re: vlookup e If function

Postdi CANAPONE » 14/09/12 12:33

Ciao, sono a zero con il Visual basic, se usi Excel 2007 o versioni successive potresti cimentarti con una formula matriciale del tipo

Codice: Seleziona tutto
=SE.ERRORE(INDICE(SHAVING!A$8:A$15;PICCOLO(SE(SHAVING!$E$8:$E$15>0;RIF.RIGA($A$8:$A$15)-7);RIGHE($A$1:$A1)));"")


La formula una volta confermata con control+maiusc+invio può essere trascinata in basso ed a destra.

Nella formula deve cambiare solo dove va a pescare l'indice (a8:a15) ed il contatore RIGHE($A$1:$A1)

Con versioni precedenti (senza SE.ERRORE)

Codice: Seleziona tutto
=SE(VAL.ERRORE(INDICE(SHAVING!$B$8:$B$15;PICCOLO(SE(SHAVING!$E$8:$E$15>0;RIF.RIGA($A$8:$A$15)-7);RIGHE($A$1:$A1))));"";INDICE(SHAVING!$B$8:$B$15;PICCOLO(SE(SHAVING!$E$8:$E$15>0;RIF.RIGA($A$8:$A$15)-7);RIGHE($A$1:$A1))))


Usando lo stesso accorgimento per confermare la formula: control+maiusc+invio

Saluti
---------------
Excel 2004 su Mac
Excel 2010 su Windows 8
CANAPONE
Utente Senior
 
Post: 425
Iscritto il: 22/11/10 15:43
Località: Firenze

Re: vlookup e If function

Postdi pascod » 15/09/12 17:10

ci ho provato a inserire questa formula.. me la sono studiata ma non capisco il -7... e non capisco se nel rif.riga devo inserire shaving!.. cioè il riferimento al foglio base dati...

Cmq ho fatto varie prove e non ci sono ancora riuscito...
ti potrei mandare un file d'esempio??
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54

Re: vlookup e If function

Postdi pascod » 15/09/12 17:50

OK. RISOLTO GRAZIE CANAPONE.. GRAZIE A TE HO SCOMPOSTO LA FORMULA ED HO RITROVATO QUELLO CHE MI SERVE!! SEI UN GRANDE!!!
Office 2010 su Windows 7 Prof.
pascod
Utente Junior
 
Post: 42
Iscritto il: 03/01/12 09:54


Torna a Applicazioni Office Windows


Topic correlati a "vlookup e If function":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti