Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Help per estrazione dati

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

[Excel] Help per estrazione dati

Postdi bmercuri » 29/10/09 17:08

ciao,ho un problema con excel,devo cercare dati presenti in una matrice su un'altro foglio excel.es
colonna a colonna b
x 12
y 11
x 10
x 0
vorrei tutti ottenere una matrice fatta cosi su un'altro foglio :

x 12
x 10
x 0

come faccio?
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Sponsor
 

Re: help

Postdi Anthony47 » 29/10/09 17:35

Ciao bmercuri e benvenuto nel forum.
Perdona, ma mi sfugge la regola che governa il passaggio dal primo elenco al secondo:vuoi solo le X? vuoi solo gli elementi che hanno tre valori? vuoi solo quelli che hanno uno zero? e cento altre possibili ipotesi...
Ulteriore chiarimento: quando dici "altro foglio" intendi un altro foglio dello stesso file.xls o un file2.xls?

Ciao, fatti sentire.
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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: help

Postdi bmercuri » 29/10/09 17:41

vorrei le x e il valore ad esse associato!
grazie x il benvenuto
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi bmercuri » 29/10/09 17:44

[quote="bmercuri"]vorrei le x e il valore ad esse associato!


e scusami, sono 2 fogli presenti nello stesso file.
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi Anthony47 » 29/10/09 19:53

Hai i tuoi dati in Foglio1, diciamo nell' area A1:B100.
Su Foglio2, in A2 e B2 inserisci rispettivamente
Codice: Seleziona tutto
=INDICE(Foglio1!$A$1:$A$100;PICCOLO(SE(Foglio1!$A$1:$A$100="x";RIF.RIGA(Foglio1!$A$1:$A$100);"");RIGHE(B$2:B2)))

=INDICE(Foglio1!$B$1:$B$100;PICCOLO(SE(Foglio1!$A$1:$A$100="x";RIF.RIGA(Foglio1!$A$1:$A$100);"");RIGHE(B$2:B2)))
Ambedue le formule sono da confermare con Contr-Maiusc-Enter, non il solo Enter.
Poi copi A2:B2 verso il basso quanto serve; se hai messo piu' formule dei valori disponibili avrai in fondo l' errore #NUM, che poi evitare combinando la formula con Se e Val.errore: =Se(Val.errore(LaFormula);"";LaFormula)

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: help

Postdi bmercuri » 30/10/09 09:25

scusami forse l'esempio che ti avevo fatto non era corretto.su foglio1 la matrice è tipo questa,ovviamente una piccola parte,e inoltre le sku uguali non si trovano come nell'esempio una sotto l'altra ma in ordine casuale
SKU Data Scadenza Consegna Cliente Data Max Consegna Cliente
8BR616 WTHF0FA6 11/12/2009 11/12/2009
8BR616 WTHF0FA6 18/12/2009 18/12/2009
8BR616 WTHF0FA6 30/12/2009 30/12/2009
8BR616 WTHF0FA6 15/01/2010 15/01/2010
8BR616 WTHF0FA6 15/01/2010 15/01/2010
7AR0FF NQ9F0VL5 30/10/2009 30/10/2009
8AJ408 NQ9F0VL5 30/10/2009 30/10/2009
7AR00A NQ9F0VL5 30/10/2009 30/10/2009
7AR00M NQ9F0VL5 30/10/2009 30/10/2009
7AR0ST NQ9F0VL5 30/10/2009 30/10/2009
7AR00G NQ9F0VL5 30/10/2009 30/10/2009
7AR00C NQ9F0VL5 30/10/2009 30/10/2009
7AR00R NQ9F0VL5 30/10/2009 30/10/2009
7AR00E NQ9F0VL5 30/10/2009 30/10/2009

su foglio2 io vorrei avere:
SKU Data Max Consegna Cliente
8BR616 WTHF0FA6 11/12/2009
8BR616 WTHF0FA6 18/12/2009
8BR616 WTHF0FA6 30/12/2009
8BR616 WTHF0FA6 15/01/2010
8BR616 WTHF0FA6 15/01/2010

con la formula di prima mi da altri valori non quelli che desidero
grazie mille
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi Anthony47 » 30/10/09 12:11

Devi adattare la formula che ti ho gia' proposto, variando quel $A$1:$A$100 iniziale per puntare alla colonna da cui estrarre il dato; il resto della formula e' uguale (sempre contr-maiusc-enter).

Prova e fai sapere dove arrivi, 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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: help

Postdi Flash30005 » 30/10/09 12:12

Ciao Bmercuri

Vorrei chiederti se SKU è solo il codice
8BR616
oppure è tutto questo codice
8BR616 WTHF0FA6
in una unica cella (es. A2)?
In B2 hai la Data Scadenza consegna Cliente e
in C2 Data Max Consegna Cliente?

Inoltre la denominazione effettiva delle colonne nelle quali sono posti i dati e possibilmente la riga di inizio (esclusa testata)

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: help

Postdi bmercuri » 30/10/09 12:15

scusami ma righe(b2;b2) come lo adatto?
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi Anthony47 » 30/10/09 12:17

il resto della formula e' uguale (sempre contr-maiusc-enter)
Confermo.

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: help

Postdi bmercuri » 30/10/09 12:21

una colonna la restituisce bene ma le altre no...devo cambiare qualcosa nella formula se ho parole anzichè date nella colonna?
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi Anthony47 » 30/10/09 12:37

Quali formule usi? dove sono i tuoi dati? che risultato ottieni?
Non si possono scrivere formule IMMAGINANDO la struttura dati dell' utente...
E le date dove sono: nei risultati che vuoi ottenere o nei dati che devi confrontare? Se "la prima", allora probabilmente la formula ti restituisce un numero, tipo 40158; basta formattare questa cella come "data" e ti visualizza quello che cerchi.

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: help

Postdi bmercuri » 30/10/09 12:54

ma in riga(b2:b2) b2 a che cosa si riferisce? :-?
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi bmercuri » 30/10/09 12:55

[ tutto questo codice
8BR616 WTHF0FA6
in una unica cella (es. A2)?
In B2 hai la Data Scadenza consegna Cliente e
in C2 Data Max Consegna Cliente?

esatto!
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi bmercuri » 30/10/09 12:59

Anthony47 ha scritto:Quali formule usi? dove sono i tuoi dati? che risultato ottieni?
Non si possono scrivere formule IMMAGINANDO la struttura dati dell' utente...
E le date dove sono: nei risultati che vuoi ottenere o nei dati che devi confrontare? Se "la prima", allora probabilmente la formula ti restituisce un numero, tipo 40158; basta formattare questa cella come "data" e ti visualizza quello che cerchi.

Ciao.

scusami eh,ma quali formule posso usare?quelle che mi hai scritto tu..ho solo modificato il riferimento al foglio.non capisco la parte finale righe()a cosa si riferisce.
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi Anthony47 » 30/10/09 13:08

Righe() e' un trucco per contare 1,2,3 etc.
E se ti chiedo con quali formule lavori e' per capire come hai interpretato le mie istruzioni, perche' le formule sono collaudate e nell' ambiente di prova funzionano, coi dati da te forniti.

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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: help

Postdi bmercuri » 30/10/09 13:15

Anthony47 ha scritto:Righe() e' un trucco per contare 1,2,3 etc.
E se ti chiedo con quali formule lavori e' per capire come hai interpretato le mie istruzioni, perche' le formule sono collaudate e nell' ambiente di prova funzionano, coi dati da te forniti.

Ciao.

a me funziona solo una colonna...ti passo una parte dei dati reali:

SKU Data Scadenza Consegna Cliente Data Max Consegna Cliente Zone Retail Cliente Ord qty on order
8BR614 WTHF0FA6 18/12/2009 18/12/2009 World Wide Replenishment 399
8BR600 WTHF0FA6 15/01/2010 15/01/2010 0 70
8BR614 WTHF0FA6 15/01/2010 15/01/2010 World Wide Replenishment 100


io vorrei ottenere su foglio 2:

SKU Data Max Consegna Cliente qty on order
8BR614 WTHF0FA6 18/12/2009 399

8BR614 WTHF0FA6 15/01/2010 100
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Re: help

Postdi Anthony47 » 30/10/09 13:35

Ripeto: con quali formule lavori, e che risultato ti danno?
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: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: help

Postdi Flash30005 » 30/10/09 13:50

Visto che ce l'ho pronta invio la macro che compila il foglio2 rispetto ai dati in foglio1 con riferimento alla cella K1 (deve esserci il codice SKU da copiare)
Codice: Seleziona tutto
Sub Elenco()
    Sheets("Foglio2").Select     '<<<<< Cancellazione Foglio2
    Cells.Select                        '<<<<< Cancellazione Foglio2
    Selection.ClearContents     '<<<<< Cancellazione Foglio2
    Range("A1").Select
Worksheets("Foglio1").Select
UR1 = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
For Sc = 2 To UR1
    If Range("A" & Sc).Value = Range("K1").Value Then
        UR2 = Worksheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row + 1
        If UR2 = 2 Then
        Worksheets("Foglio2").Range("A1").Value = "SKU"
        Worksheets("Foglio2").Range("B1").Value = "Max data Consegna"
        End If
        Worksheets("Foglio2").Range("A" & UR2).Value = Worksheets("Foglio1").Range("A" & Sc).Value
        Worksheets("Foglio2").Range("B" & UR2).Value = Worksheets("Foglio1").Range("C" & Sc).Value
    End If
Next Sc
End Sub


Avviando la macro (manualmente) dovresti ottenere quanto richiesto
nell'eventualità si può creare un automatismo che al variare di K1 (con convalida di Elenco) si avvierà la macro che copierà i dati voluti sul 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: help

Postdi bmercuri » 30/10/09 14:42

Anthony47 ha scritto:Ripeto: con quali formule lavori, e che risultato ti danno?

a b
18/12/2009 285
15/01/2010 25


formula a =INDICE('next delivery'!$O$3:$O$3993;PICCOLO(SE('next delivery'!$M$3:$M$3993=$B$5;RIF.RIGA('next delivery'!$M$3:$M$3993);"");RIGHE($B$36:B36)))
formula b =INDICE('next delivery'!$W$3:$W$3993;PICCOLO(SE('next delivery'!$M$3:$M$3993=$B$5;RIF.RIGA('next delivery'!$M$3:$M$3993);"");RIGHE($B$36:B36)))
bmercuri
Utente Junior
 
Post: 26
Iscritto il: 29/10/09 17:02

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Help per estrazione dati":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti