Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 25-11-2009, 17.39.47   #1
riccardonard
Sospeso
 
Registrato: 25-03-2008
Messaggi: 247
riccardonard promette bene
Ricerca di 2 condizioni in EXCEL

Probabilmente una dscussione del genere è già stata affrontata, ma non riesco a trovare dei riferimenti validi, quindi la ripropongo.
Sarebbe utile una funzione (o macro) di ricerca di valori simile a cerca.vert in Excel, ma che trovasse 2 condizioni: ad esempio dati cognome e nome in due campi diversi trovasse indirizzo in un terzo campo. Ciò dovrebbe essere svolto anche in caso di cognomi uguali, ma nomi diversi, cioè che sapesse selezionare Rossi Mario anche se esiste, prima di questo, Rossi Antonio.
mi sono spiegato sufficientemente?
grazie a chi mi saprà fornire indicazioni.
Riccardo
riccardonard non è collegato   Rispondi citando
Vecchio 30-11-2009, 17.04.37   #2
riccardonard
Sospeso
 
Registrato: 25-03-2008
Messaggi: 247
riccardonard promette bene
Ricerca 2 Condizioni

Salve,
intanto che attendevo una risposta da qualcuno, mi sono dato da fare e, con una certa soddisfazione, sono arrivato al risultato desiderato.
Anche se dubito che ci sia qualcuno interessato, data la valanga di risposte che mi ha sommerso, pubblico qui di seguito la mia funzione di ricerca di 2 condizioni a beneficio di quei 3 o 4 che potessero essere interessati ad una soluzione dell'argomento.

Function Trova2Condiz(WS$, Zona1, cond1, Zona2, cond2, Offset) ' TROVA Risultato di 2 CONDIZIONI in Campo Offset
Numrighe = ContaRighe(WS$, 1, 3)
For f = 1 To Numrighe
Cella1 = Trim(UCase(Cells(f, Zona1.Column)))
Cella2 = Trim(UCase(Cells(f, Zona2.Column)))
If Cella1 = Trim(UCase(cond1)) And Cella2 = Trim(UCase(cond2)) Then
Cella$ = Cells(f, Offset).Value
Exit For
End If
Next f
Trova2Condiz = Cella$
End Function 'Trova2Condiz

Function ContaRighe(WS$, MinCol, MaxCol) ' Scansiona tutti i campi di WS$ = WorkSheet, da MinCol a MaxCol,
' conteggiando il massimo numero di riga fra tutte le colonne
' Se non si conosce il numero di colonne impegnato nel foglio basta assegnare il numero massimo (WS$; 1, 256)
' Se si vuole solo il numero di righe di un campo, basta assegnare MinCol = MaxCol es. ContaRighe(WS$; 3; 3)
Dim Contatore ' Contatore Utilizzato per le Righe
For COLONNA = MinCol To MaxCol
Ur = Worksheets(WS$).Cells(65536, COLONNA).End(xlUp).Row ' Ur = Ultima riga
valore = Worksheets(WS$).Cells(Ur, COLONNA).Value ' serve per intercettare cella vuota in riga 1 che darebbe
'valore 1 anche per riga vuota; così se devo conteggiare un campo vuoto mi ritorna 0 (Zero) anziché 1
If Ur = 1 And valore = "" Then Ur = 0
If Contatore < Ur Then Contatore = Ur
Next COLONNA
ContaRighe = Contatore ' numero massimo di righe impegnato nelle colonne da MinCol a MaxCol di WS$
End Function

Aggiungo i seguenti commenti
1 ) La funzione accessoria Contarighe() è necessaria perché non sempre la tabella sarà indicata con le doppie coordinate righe-colonne (zona 1 e 2), ma talvolta (secondo me più spesso) sarà indicata col solo nome di colonna (es. A:A o F:F, ecc.)
2) Le funzioni Trim e Ucase sono utili, anche se non strettamente indispensabili, per intercettare errori di battitura (mario rossi = Mario ROSSI) e così pure l'eliminazione di spazi esterni (iniziali e finali) in soprannumero purché non centrali); per il caso di spazi centrali ho predisposto una funzione TrimCar che qui non ho riproposto perché non viene richiamata da questo programma.
3) Offset è la colonna dalla quale estrarre il dato desiderato (dove 1=colonna A, 2=B, ecc.).
Faccio osservare che mentre con Cerca.Vert non si può andare a ritroso nella colonna del dato da trovare, rispetto alla colonna di ricerca della condizione, nel mio programma ciò è possibile; quindi posso ad esempio cercare 2 condizioni rispettivamente nelle colonne B:B e D ed estrapolare il dato dalla colonna A:A
4) esempio di sintassi di chiamata (nel mio caso la funzione risiede nel personal.xls, per un utilizzo frequente):
=personal.xls!Trova2Condiz("Elenco Clienti-CN"; B:B; E26; D; F26; 1)
dove:
- "Elenco Clienti-CN" è il mio database o tabellone in cui ricercare le condizioni e i dati da estrapolare
- B:B e D sono i campi in cui ricercare le condizioni assegnate rispettivamente in E26 e F26
- "1" è l'Offset o colonna da cui estrapolare il dato; la colonna può essere qualsiasi, compresa la colonna di ricerca (anche se non avrebbe senso restituire lo stesso dato ricercato come condizione).

Mi rendo conto che più difficile da spiegare che da capire, basta un'occhiata a persona competente per vedere la banalità della funzione; però funziona e bene anche!

Grazie a tutti per l'interessamento
Riccardo
riccardonard non è collegato   Rispondi citando
Vecchio 17-03-2010, 19.00.48   #3
Superbisco
Newbie
 
Registrato: 17-03-2010
Messaggi: 3
Superbisco promette bene
Ciao,

un altro sistema molto efficace è quello di creare una chiave di ricerca univoca con le colonne che ti servono.
La chiave ovviamente sarà posizionata su una nuova colonna (a sinistra del blocco di dati).

Sulla nuova colonna farai la ricerca (con CERCA.VERT / vLookUp) della chiave che ti serve.

Il tutto via VBA o a mano.
Files allegati
Tipo file: zip RicercaConChiave.zip (2,7 Kb, 80 visite)

Ultima modifica di Superbisco : 18-03-2010 alle ore 17.10.36
Superbisco non è collegato   Rispondi citando
Vecchio 18-03-2010, 10.52.13   #4
huber77
Newbie
 
Registrato: 18-03-2010
Messaggi: 2
huber77 promette bene
Salve, non so se scrivo nel postogiusto, ma ho un problema simile al tuo.
Devo fare una ricerca con due chiavi, ho un tipo di prodotto e un tipo di lavorazione e devo andare a pescare in un altro foglio il tempo massimo che si può impiegare per compiere auel tipo di lavorazione su quel tipo di prodotto, mi avete caipto?!

La tabella coi tempi massimi è disposta così:
- Nella colonna A ho inserito i vari tipi di prodotti e poi per ogni prodotto ho inserito nelle celle sucessive i vari tempi massimi.

Come posso fare?!

Vi ringrazio!
huber77 non è collegato   Rispondi citando
Vecchio 18-03-2010, 15.40.31   #5
luklukluk
Junior Member
 
L'avatar di luklukluk
 
Registrato: 15-06-2005
Messaggi: 74
luklukluk promette bene
Quota:
Inviato da Superbisco
Ciao,

un altro sistema molto efficace è quello di creare una chiave di ricerca univoca con le colonne che ti servono.
La chiave ovviamente sarà posizionata su una nuova colonna (magari alla fine).

Sulla nuova colonna farai la ricerca (con CERCA.VERT / vLookUp) della chiave che ti serve.

Il tutto via VBA o a mano.
Solo per dare la mia opinione, non per sottostimare il bel lavoro di Riccardo
Probabilmente avrei risolto nello stesso modo, creando una chiave univoca con un CONCATENA... e poi una funzione di ricerca.

La stessa soluzione penso sia applicabile per il problema di huber77
___________________________________

See you on Panoramike.it
luklukluk non è collegato   Rispondi citando
Vecchio 19-03-2010, 11.25.19   #6
huber77
Newbie
 
Registrato: 18-03-2010
Messaggi: 2
huber77 promette bene
Ho risolto con questo metodo:

=SCARTO(Generale!$A$2;CONFRONTA(E3;Generale!$A$3:$ A$67;0);CONFRONTA(G3;Generale!$B$2:$AM$2;0);1;1)


Funziona alla perfezione, ora ho un altro problema, devo andare a rilevare i tempi di lavorazione di ogni prodotto e fare la media, questi tempi sono in una tabella che compilo giorno per giorno ( a scalare in base alla data e su fogli diversi per mesi diversi) e ho più tabelle da dove andare a prendere i valori (ogni operai ha la sua tabella su un foglio excel distinto). Non saprei proprio da che parte iniziare, qualcuno potrebbe indicarmi una via?!?
huber77 non è collegato   Rispondi citando
Vecchio 19-03-2010, 17.45.51   #7
Superbisco
Newbie
 
Registrato: 17-03-2010
Messaggi: 3
Superbisco promette bene
parti dal chiamare tutti i fogli in maniera "recuperabile" da una funzione excel.

secondo me però, è il momento di usare una macro....
Superbisco non è collegato   Rispondi citando
Vecchio 11-02-2013, 16.19.59   #8
imberti
Newbie
 
Registrato: 11-02-2013
Messaggi: 1
imberti promette bene
Rif: Ricerca di 2 condizioni in EXCEL

Quota:
Inviato da Superbisco Visualizza messaggio
Ciao,

un altro sistema molto efficace è quello di creare una chiave di ricerca univoca con le colonne che ti servono.
La chiave ovviamente sarà posizionata su una nuova colonna (a sinistra del blocco di dati).

Sulla nuova colonna farai la ricerca (con CERCA.VERT / vLookUp) della chiave che ti serve.

Il tutto via VBA o a mano.
Grazie di cuore, mi avete risolto una gatta da pelare mica da ridere!!!
imberti non è collegato   Rispondi citando
Vecchio 16-06-2013, 20.35.10   #9
Falco10
Newbie
 
Registrato: 16-06-2013
Messaggi: 1
Falco10 promette bene
Rif: Ricerca di 2 condizioni in EXCEL

Salve, spero che ci sia qualcuno che mi risponda.... anche io ho la necessità di fare un cerca.vert con due variabili, una è la data e l'altra un nome, questi dati deve andarli a cercare in un altro foglio in cui la data può essere doppia, e il nome quindi può trovarsi nella seconda o terza...ecc. riga, una volta trovati questi due dati mi deve dare il terzo dato che mi interessa. Onestamente sono una schiappa.... quindi la funzione spiegata in alto per me è arabo! Se qualcuno me la può spiegare come la spiegherebbe ad un bambino lo ringrazio anticipatamente!
Falco10 non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Ricerca veloce da elenco a discesa in excel mmpavane Office suite 2 16-01-2009 10.39.03
Formula Excel x ricerca nwinx Office suite 0 03-11-2006 12.12.52
[VB] File excel con funzione di ricerca Longhorn Programmazione 0 22-01-2006 19.30.22
Google Trick #2: restringere la ricerca a parti specifiche della pagina [LUNGO] realtebo Internet e Reti locali 2 16-03-2005 07.14.22

Orario GMT +2. Ora sono le: 13.16.55.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.