| | Post: 40 | Registrato il: 09/10/2013
| Città: SIRACUSA | Età: 39 | Utente Junior | Office 2019 | | OFFLINE | |
|
17/07/2015 21:02 | |
ragazzi,
al solito litigo con il cerca.vert e non capisco dove sia l'errore.
premetto che allego un piccolo file d'esempio per rendere meglio quello che proverò a spiegarvi :
FOGLIO1
da A1 a A10 ho dei nominativi, sulla colonna B1 a B10 ho altri nominativi, sulla colonna C e D (sempre da 1 a 10) ho i rispettivi risultati in decimali.
così via per circa una 50tina di colonne....dove insettimana in settimana questi nominativi possono invertirsi.
FOGLIO2
A1 mettendo il nominativo che mi interesa cercare, di sotto ho delle celle che midovrebbero ricercare il nominativo e i risultati. ma non funziona e sopratutto non riesco a capire il perchè da oggi pomeriggio!
mi potreste dare una mano a capire l'errore?
_________________________________________________________________
WIN 10 EXCEL 2019
(non excell/exchel/excellh/lesechel)
<---Hofinalmenteaggiustatolabarraspaziatrice---> |
|
| | Post: 22 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Junior | Excel2019 | | OFFLINE |
|
17/07/2015 22:26 | |
Ciao Ivano,
non credo ci sia errore nella formula solo che gli chiedi qualcosa che non può fare. La funzione CERCA.VERT ricerca un dato NELLA PRIMA COLONNA di una matrice (tu, invece, vorresti che cercasse nella seconda colonna).
A mio avviso dovresti "mischiare" due Cerca.Vert dove la seconda ti cerca nella matrice Foglio1!$B$7:$D$11 (mettendo la B al posto della A)
Ciao (e fammi sapere),
Mario |
| | Post: 40 | Registrato il: 09/10/2013
| Città: SIRACUSA | Età: 39 | Utente Junior | Office 2019 | | OFFLINE | |
|
17/07/2015 22:37 | |
Ciao Marius,
grazie per la risposta.
se la faccio partire dalla colonna B, effettivamente non da errore, ma la lista è molto lunga e con più settimane e non penso di semplificare il lavoro....
c'è un modo per invertire/alternare la ricerca? cioè quando mario è inserito nella colonna B mi estrapola prima il compagno della A e poi B.
non so se ho reso l'idea? _________________________________________________________________
WIN 10 EXCEL 2019
(non excell/exchel/excellh/lesechel)
<---Hofinalmenteaggiustatolabarraspaziatrice---> |
| | Post: 1.605 | Registrato il: 24/09/2008
| Città: LATINA | Età: 69 | Utente Veteran | 2007-2010 | | OFFLINE | |
|
19/07/2015 18:09 | |
Salve, visto che la ricerca va fatta 0 in colonna A oppure B
nel foglio riepilogo in B2 metti:
=SE(VAL.NON.DISP(INDICE(Foglio1!$A$1:$D$5;CONFRONTA($B$1;Foglio1!$A$1:$A$5;0);1)=$B$1);INDICE(Foglio1!$A$1:$D$5;CONFRONTA($B$1;Foglio1!$B$1:$B$5;0);1);$B$1)
in C2:
=SE(VAL.NON.DISP(CERCA.VERT($B$1;Foglio1!$A$1:$D$5;2;0));"";CERCA.VERT($B$1;Foglio1!$A$1:$D$5;2;0))&SE(VAL.NON.DISP(CERCA.VERT($B$1;Foglio1!$B$1:$D$5;1;0));"";CERCA.VERT($B$1;Foglio1!$B$1:$D$5;1;0))
con la stessa logica anche colonna D ed E.
Naturalmente per ogni gruppo va cambiato il riferimento come avevi fatto tu.
Ti rimando il file ho inserito un menu a tendina in B1
Un saluto
Berna11
-----------
Excel-2007-2010
|
| | Post: 2.638 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Veteran | 2013 | | OFFLINE | |
|
19/07/2015 19:14 | |
>>>c'è un modo per invertire/alternare la ricerca?
=SE(VAL.ERRORE(domanda);"non vero";"vero")
B2=SE(VAL.ERRORE(CERCA.VERT($B$1;Foglio1!$A$1:$D$5;1;0));INDIRETTO("Foglio1!A"&CONFRONTA($B$1;Foglio1!B$1:B$5;0));CERCA.VERT($B$1;Foglio1!$A$1:$D$5;1;0))
C2=SE(VAL.ERRORE(CERCA.VERT($B$1;Foglio1!$A$1:$D$5;1;0));INDIRETTO("Foglio1!B"&CONFRONTA($B$1;Foglio1!B$1:B$5;0));CERCA.VERT($B$1;Foglio1!$A$1:$D$5;2;0))
D2=SE(VAL.ERRORE(CERCA.VERT($B$1;Foglio1!$A$1:$D$5;1;0));INDIRETTO("Foglio1!C"&CONFRONTA($B$1;Foglio1!B$1:B$5;0));CERCA.VERT($B$1;Foglio1!$A$1:$D$5;3;0))
E2=SE(VAL.ERRORE(CERCA.VERT($B$1;Foglio1!$A$1:$D$5;1;0));INDIRETTO("Foglio1!D"&CONFRONTA($B$1;Foglio1!B$1:B$5;0));CERCA.VERT($B$1;Foglio1!$A$1:$D$5;4;0))
per la terza riga devi modificare le formule dove ricercare ex $A$1:$D$5 in $A$7:$D$11 ecc ecc
Sarebbe meglio trovare una soluzione in VBA
Ciao Berna11, mi sono accavalcato [Modificato da raffaele1953 19/07/2015 19:15] Excel 2013 |
| | Post: 2.639 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Veteran | 2013 | | OFFLINE | |
|
20/07/2015 01:29 | |
Ho preparato un codice che prima cancella, dopo copia i dati nel foglio2.
NB che nel foglio1 ad ogni tabella ci deve essere il numero (come nell'esempio 1°,2°,3°ecc ecc) Excel 2013 |
| | Post: 23 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Junior | Excel2019 | | OFFLINE |
|
21/07/2015 13:00 | |
Ti allego il tuo file "riveduto" con VBA (il titolo è CERCA_VERT)
Scrivi un nome nella riga 10 ed i valori ti compariranno immediatamente sotto. Adattalo alle tue esigenze.
Ciao,
Mario |
| | Post: 24 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Junior | Excel2019 | | OFFLINE |
|
21/07/2015 13:01 | |
Ti allego il tuo file "riveduto" con VBA (il titolo è CERCA_VERT)
Scrivi un nome nella riga 10 ed i valori ti compariranno immediatamente sotto. Adattalo alle tue esigenze.
Ciao,
Mario |
| | Post: 25 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Junior | Excel2019 | | OFFLINE |
|
21/07/2015 13:02 | |
Ti allego il tuo file "riveduto" con VBA (il titolo è CERCA_VERT)
Scrivi un nome nella riga 10 ed i valori ti compariranno immediatamente sotto. Adattalo alle tue esigenze.
Ciao,
Mario |
| | Post: 26 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Junior | Excel2019 | | OFFLINE |
|
21/07/2015 13:07 | |
Scusa ma non mi fa caricare il file. Comunque, nell'Editor di Foglio2
inserisci quanto segue:
Option Compare Text
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ncd As String, nom As String, ele As String
Dim i As Integer, rg As Integer
If Not Intersect(Target, Range("B10:E10")) Is Nothing Then
ndc = Cells(10, 2).Text
For i = 1 To 23
nom = Sheets("Foglio1").Cells(i, 1).Text
If nom = "" Then GoTo 1
If nom = ndc Then
ele = "A" & i & ":D" & i
Sheets("Foglio1").Range(ele).Copy
If i >= 1 And i <= 5 Then rg = 11
If i >= 7 And i <= 11 Then rg = 12
If i >= 13 And i <= 17 Then rg = 13
If i >= 19 And i <= 23 Then rg = 14
Range("B" & rg).PasteSpecial (xlPasteValues)
End If
1 Next i
For i = 1 To 23
nom = Sheets("Foglio1").Cells(i, 2).Text
If nom = "" Then GoTo 2
If nom = ndc Then
ele = "A" & i & ":D" & i
Sheets("Foglio1").Range(ele).Copy
If i >= 1 And i <= 5 Then rg = 11
If i >= 7 And i <= 11 Then rg = 12
If i >= 13 And i <= 17 Then rg = 13
If i >= 19 And i <= 23 Then rg = 14
Range("B" & rg).PasteSpecial (xlPasteValues)
End If
2 Next i
End If
Application.CutCopyMode = False
End Sub
Ciao,
Mario |
| | Post: 27 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Junior | Excel2019 | | OFFLINE |
|
21/07/2015 15:10 | |
Forse sono riuscito ad allegare il file
http://www.filedropper.com/cercavert
|
| | Post: 2.641 | Registrato il: 28/06/2011
| Città: AGORDO | Età: 70 | Utente Veteran | 2013 | | OFFLINE | |
|
21/07/2015 22:36 | |
Il problema è
Se ci sono macro in 2003 OK
Se ci sono macro in 2007 (superiori) NON li accetta.
Zippatte il file in Zip o RAR per allegare in questo Forum (che mantiene per anni l'allegato) Excel 2013 |
| | Post: 41 | Registrato il: 09/10/2013
| Città: SIRACUSA | Età: 39 | Utente Junior | Office 2019 | | OFFLINE | |
|
23/07/2015 22:36 | |
Ciao Berna,
sei stato di grande aiuto! complimenti e grazie di cuore era proprio quello che mi serviva per estrarre dei dati importanti.
grazie anche a marius per l'interesse ;)
...come sempre -----> 100% esaudito
_________________________________________________________________
WIN 10 EXCEL 2019
(non excell/exchel/excellh/lesechel)
<---Hofinalmenteaggiustatolabarraspaziatrice---> |
|
|