| | Post: 1 | Registrato il: 20/02/2017
| Città: ABANO TERME | Età: 51 | Utente Junior | 2013 | | OFFLINE | |
|
20/02/2017 20:44 | |
Salve, chiedo scusa per il doppio post, ma ho sbagliato a cliccare.
Comunque inserisco ora il file: nei fogli 1 e 2 sono presenti anche altri dati in altre colonne ma sono irrilevanti rispetto allo scopo di estrapolare i dati duplicati nel foglio 3.
Ciò che desidero è avere nel foglio 3 soltanto i dati doppi delle colonne A dei fogli 1 e 2 ma che mi ricopi anche le giacenze sia del foglio 1 che del foglio 2 dei doppioni.
Nel foglio 3 ho inserito il risultato che vorrei ottenere (non completo, ho riportato soltanto i primi 3 codici doppi).
Spero che qualcuno possa aiutarmi e mi suggerisca una formula (non una macro se possibile) e che me la spieghi passo passo per favore.
Grazie |
|
| | Post: 1.021 | Registrato il: 27/06/2011
| Utente Veteran | excel 2007 | | OFFLINE |
|
20/02/2017 22:10 | |
ciao prova in B2 del foglio 3: =CERCA.VERT(Foglio1!A2;Foglio1!A2:B10;2;FALSO) poi la adatti per una colonna a destra e dopo, la trascini in basso per entrambe le colonne B e C Frank [Modificato da tanimon 20/02/2017 22:20]
Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future... |
| | Post: 2 | Registrato il: 20/02/2017
| Città: ABANO TERME | Età: 51 | Utente Junior | 2013 | | OFFLINE | |
|
21/02/2017 01:13 | |
Ciò che desidero è avere nel foglio 3 soltanto i dati doppi delle colonne A (i codici dei prodotti), che quindi me li riporti in tabella e che mi ricopi anche le loro giacenze dei 2 periodi, come si vede nel foglio 3 che ho preparato (il risultato della presunta funzione). [Modificato da gipe72 21/02/2017 16:37] |
| | Post: 3 | Registrato il: 20/02/2017
| Città: ABANO TERME | Età: 51 | Utente Junior | 2013 | | OFFLINE | |
|
21/02/2017 16:35 | |
Qualcuno può aiutarmi? |
| | Post: 5.069 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
21/02/2017 17:04 | |
Ciao Giuseppe eccoti la macro che ti trova i doppioni
Sub doppi()
Dim rng1, rng2
Dim r, d1, d2, x, y
Sheets("Foglio3").Select
Application.ScreenUpdating = False
Sheets("Foglio1").Select
r = Cells(Rows.Count, 1).End(xlUp).Row
rng1 = Range("A2:B" & r)
Sheets("Foglio2").Select
r = Cells(Rows.Count, 1).End(xlUp).Row
rng2 = Range("A2:B" & r)
Sheets("Foglio3").Select
r = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:C" & r).ClearContents
r = 2
For x = 1 To UBound(rng1)
d1 = rng1(x, 1)
For y = 1 To UBound(rng2)
d2 = rng2(y, 1)
If d1 = d2 Then
Cells(r, 1) = d1
Cells(r, 2) = rng1(x, 2)
Cells(r, 3) = rng2(x, 2)
r = r + 1
End If
Next y
Next x
End Sub
ti allego anche il tuo esempio, per far partire la macro premi control+p, altrimenti bisogna creare un pulsante per lanciarla.
Ciao By Sal
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 76 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Junior | 2016 | | OFFLINE |
|
21/02/2017 17:47 | |
Buonasera
Foglio3 A2 da trascinare in basso
=SE.ERRORE(INDICE(Foglio1!$A$1:$A$100;PICCOLO(SE(CONTA.SE(Foglio2!$A$1:$A$100;Foglio1!$A$1:$A$100)>0;RIF.RIGA($A$1:$A$100));RIGHE($A$1:A1)));"")
DA CONFERMARE CON CTRL+SHIFT+INVIO
in B2 da trascinare in basso
=SE.ERRORE(CERCA.VERT(A2;Foglio1!$A$2:$B$10;2;0);"")
in C2 da trascinare in basso
=SE.ERRORE(CERCA.VERT(A2;Foglio2!$A$2:$B$10;2;0);"")[Modificato da DANILOFIORINI 21/02/2017 20:11] |
| | Post: 4 | Registrato il: 20/02/2017
| Città: ABANO TERME | Età: 51 | Utente Junior | 2013 | | OFFLINE | |
|
21/02/2017 20:48 | |
DANILOFIORINI, 21/02/2017 17.47:
Buonasera
Foglio3 A2 da trascinare in basso
=SE.ERRORE(INDICE(Foglio1!$A$1:$A$100;PICCOLO(SE(CONTA.SE(Foglio2!$A$1:$A$100;Foglio1!$A$1:$A$100)>0;RIF.RIGA($A$1:$A$100));RIGHE($A$1:A1)));"")
DA CONFERMARE CON CTRL+SHIFT+INVIO
in B2 da trascinare in basso
=SE.ERRORE(CERCA.VERT(A2;Foglio1!$A$2:$B$10;2;0);"")
in C2 da trascinare in basso
=SE.ERRORE(CERCA.VERT(A2;Foglio2!$A$2:$B$10;2;0);"")
Ciao Danilo, grazie per il tuo intervento.
Allora la prima formula (quella da inserire in A2) non mi funziona (ho excel 2013), confermandola con ctrl+shift+invio nella cella vedo la formula intera non il risultato. Ho aperto il tuo file e ho visto che prima dell'= hai inserito la parentesi graffa (o forse viene fuori in automatico quando la confermi alla fine?) mentre nel post qui sul forum non c'è.
La formula in B2 e quella in C2 invece funzionano bene, avrei però una domanda da porti: per cosa sta quel 2 quasi alla fine della formula? So che lo 0 sta per "risultato esatto" ma non capisco il 2
|
| | Post: 5 | Registrato il: 20/02/2017
| Città: ABANO TERME | Età: 51 | Utente Junior | 2013 | | OFFLINE | |
|
21/02/2017 20:51 | |
by sal, 21/02/2017 17.04:
Ciao Giuseppe eccoti la macro che ti trova i doppioni
Sub doppi()
Dim rng1, rng2
Dim r, d1, d2, x, y
Sheets("Foglio3").Select
Application.ScreenUpdating = False
Sheets("Foglio1").Select
r = Cells(Rows.Count, 1).End(xlUp).Row
rng1 = Range("A2:B" & r)
Sheets("Foglio2").Select
r = Cells(Rows.Count, 1).End(xlUp).Row
rng2 = Range("A2:B" & r)
Sheets("Foglio3").Select
r = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:C" & r).ClearContents
r = 2
For x = 1 To UBound(rng1)
d1 = rng1(x, 1)
For y = 1 To UBound(rng2)
d2 = rng2(y, 1)
If d1 = d2 Then
Cells(r, 1) = d1
Cells(r, 2) = rng1(x, 2)
Cells(r, 3) = rng2(x, 2)
r = r + 1
End If
Next y
Next x
End Sub
ti allego anche il tuo esempio, per far partire la macro premi control+p, altrimenti bisogna creare un pulsante per lanciarla.
Ciao By Sal
Ciao Sal, grazie per la tua risposta ma preferirei evitare di usare macro (se possibile)
|
| | Post: 77 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Junior | 2016 | | OFFLINE |
|
21/02/2017 21:37 | |
Ciao
La formula funziona correttamente quando l hai copiata e incollata ti metti sulla barra della formula e la confermi con CTRL+SHIFT+INVIO appariranno le parentesi graffe che confermano che la formula è matriciale una volta attivata la trascini in basso
Per quanto riguarda la seconda domanda il due nella formula del cercaverticale rappresenta la colonna dove andiamo a cercare il dato la matrice è A2:B10 la colonna B è la seconda colonna del range lo zero è pa ricerca esatta del dato |
| | Post: 6 | Registrato il: 20/02/2017
| Città: ABANO TERME | Età: 51 | Utente Junior | 2013 | | OFFLINE | |
|
22/02/2017 01:18 | |
Danilo è quello che ho fatto (mettermi nella barra della formula e copia-incolla, poi ho confermato tenendo premuto ctrl+shift e premendo invio) ma al posto del risultato, nella cella vedo la formula intera. Non so che altro dirti, non è che con excel 2013 si conferma questa formula matriciale in un altro modo? |
| | Post: 78 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Junior | 2016 | | OFFLINE |
|
22/02/2017 09:02 | |
Ciao
Controlla se hai lasciato uno spazio in fondo alla formula altrimenti riscrivila direttamente nella cella A2 del foglio3 |
| | Post: 7 | Registrato il: 20/02/2017
| Città: ABANO TERME | Età: 51 | Utente Junior | 2013 | | OFFLINE | |
|
22/02/2017 19:21 | |
Ho inserito la formula nella cella A1 e funziona, grazie Danilo per le formule e la pazienza.
Come mai non funziona nella cella A2 secondo te? |
| | Post: 79 | Registrato il: 15/01/2016
| Città: ROMA | Età: 51 | Utente Junior | 2016 | | OFFLINE |
|
22/02/2017 19:53 | |
Ciao
non so che dirti posta il file dove riscontri l'errore e vediamo |
|
|