cerca Vert

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
bebo673
00venerdì 24 giugno 2016 11:48
Salve a tutti, mi sono appena iscritto e spero di non scrivere di cose già chieste. Ho dato un'occhiata ma non ho trovato suggerimenti.


Dovrei cercare il valore riportato in una cella (valore univoco)nella colonna A di diversi fogli e ottenere il valore nella colonna C.

Per un singlo foglio la formula è

cerca.vert(A1;'foglio1'!A:H;3;falso)

ma se la ricerca va su più fogli come posso fare?
Grazie

Utilizzo Excel 2003, non sono riuscito ad inserire la firma, mi da ancora permesso negato o il link che ho trovato per la modifica era quello sbagliato. [SM=x423017] [SM=x423017]
federico460
00venerdì 24 giugno 2016 12:02
ciao
questa è la risposta di Ninai
ad un altro post

Non sono sicuro di aver ben capito, un file di esempio sarebbe stato utile.
Presumo che il numero cercato sia presente SOLO in uno dei quattro fogli e che il valore trovato venga restituito sempre nella stessa cella. Diversamente, basterebbe dei singoli CERCA.VERT() in celle separate.

numero da cercare: in A1
range dei dati nei vari fogli: A1:B5
in B1:
=SE.ERRORE(CERCA.VERT(A1;Foglio2!$A$1:$B$5;2;FALSO);SE.ERRORE(CERCA.VERT(A1;Foglio3!$A$1:$B$5;2;FALSO);SE.ERRORE(CERCA.VERT(A1;Foglio4!$A$1:$B$5;2;FALSO);SE.ERRORE(CERCA.VERT(A1;Foglio5!$A$1:$B$5;2;FALSO);"ND"))))

Se fa quello che chiedi, adattala al tuo caso


http://www.freeforumzone.com/discussione.aspx?idd=10962141



dovrebbe andarti bene

ah! elimina il se.errore nel 2003 non funziona

dodo47
00venerdì 24 giugno 2016 12:25
Ciao
potresti utilizzare la funzione "INDIRETTO".

Nel foglio dove vuoi i risultati della ricerca, scrivi in col. A i nomi dei fogli:
Foglio1
Foglio2
ecc
ecc

In B1 scrivi il dato da cercare

in C1:
=CERCA.VERT($B$1;INDIRETTO("'"&A1&"'!"&"A:H");3;FALSO)

Nota: se l'indice è 3, perché A:H? basta A:C

saluti
ninai
00venerdì 24 giugno 2016 12:59
ciao
Dodo
per come ho capito il valore cercato è presente in A di uno solo dei fogli che si vogliono esplorare, una volta trovato, restituire il valore presente nella colonna C.

Con il 2003 non credo basti togliere in SE.ERRORE(), una formula possibile, potrebbe essere:
=SE(VAL.TESTO(CERCA.VERT(A1;Foglio2!$A$1:$C$10;3;FALSO));CERCA.VERT(A1;Foglio2!$A$1:$C$10;3;FALSO);SE(VAL.TESTO(CERCA.VERT(A1;Foglio3!$A$1:$C$10;3;FALSO));CERCA.VERT(A1;Foglio3!$A$1:$C$10;3;FALSO);SE(VAL.TESTO(CERCA.VERT(A1;Foglio4!$A$1:$C$10;3;FALSO));CERCA.VERT(A1;Foglio4!$A$1:$C$10;3;FALSO);SE(VAL.TESTO(CERCA.VERT(A1;Foglio5!$A$1:$C$10;3;FALSO));CERCA.VERT(A1;Foglio5!$A$1:$C$10;3;FALSO);"ND"))))

dato da cercare in A1 del foglio1 e cerca in A1:C10 dei fogli 2,3,4,5

NB
se il valore in C è un numero (io ho previsto un testo), bisogna cambiare la funzione VAL.TESTO()
bebo673
00venerdì 24 giugno 2016 15:45
Grazie per i suggerimenti.
dodo47 terrò presente per altri casi la tua formula, ma ha ragione ninai, il valore che cerco è unico e deve essere presente solo una volta in uno dei diversi fogli.
adesso provo la formula con i vari se...e vi dico...
bebo673
00venerdì 24 giugno 2016 16:13
Modificato val.testo con val.numero e su file di prova funziona; adesso lo applico al mio file originale.
grazie per l'aiuto [SM=x423047] [SM=x423047]
dodo47
00venerdì 24 giugno 2016 16:58
Ciao
in realtà non avevo compreso che il valore fosse uno solo, in tal caso la mia proposta restituirebbe un valore solo mentre per i fogli dove non è presente il dato un ND# (o vuoto in dipendenza dalla gestione dell'errore). Unica cosa che mi chiedo è che se i fogli fossero tanti....

saluti
raffaele1953
00venerdì 24 giugno 2016 18:36
Ciao a tutti
>>>se i fogli fossero tanti....
G1 = valore da cercare, presente un sola volta nei vari fogli

Mettiamo l'ipotesi di 100 fogli (senza usare VBA)
Apro un nuovo foglio ed in A2 metto il nome di un foglio a seguire sotto tutti gli altri (tranne quello attule), in cella B2 metto =SE(VAL.NON.DISP(CERCA.VERT($G$1;INDIRETTO(A2&"!$A$2:$A$100");1;0));"";CERCA.VERT($G$1;INDIRETTO(A2&"!$A$2:$A$100");1;0))
Solo una cella farà vedere il dato scelto in G1

In A1 metto =INDIRETTO("A"&CONFRONTA(G1;B1:B100;0))
Adesso la formula con riferimento al foglio scritto in A1
=CERCA.VERT(G1;INDIRETTO(A1&"!A1:Z1000");10;FALSO)
bebo673
00sabato 25 giugno 2016 00:01
salve,
la formula suggerita da ninai funziona per almeno 6-7 fogli, poi mi da un erore sul cerca.vert; forse troppi se concatenati.
appena posso metto un file di esempio perchè il dato che ricevo lo devo inserire in un riepilogo solamente di alcuni dati che si trovano nei 20 fogli precedenti.
Metto un esempio semplice e spero di riuscire a spiegarmi:

col A col B
foglio1 : lotto 1 20 Kg
lotto 2 50 Kg
lotto 5 100 Kg


foglio2: lotto 3 45 Kg
lotto 4 80 Kg
lotto 6 200 Kg


foglio3: vorrei inserire il cerca.vert in modo che se inserisco nella cella
A1: lotto 4 mi compiaia nella cella B1 80 Kg

Come detto la concatenazione dei SE funziona ma in modo limitato. O aleno credo, domani ricntrollo meglio la formula.
Grazie
raffaele1953
00sabato 25 giugno 2016 01:49
>>>excel 2003
Supporta 7 SE
Al massimo potresti usare 7 SE + altri 7 SE
Forse ancora un'altro + 7 SE

>>>si trovano nei 20 fogli precedenti.
Però userei il mio metodo, più snello e facile
Puoi spostare un allegato con i 20 fogli?
dodo47
00sabato 25 giugno 2016 10:24
Re:
raffaele1953, 24/06/2016 18.36:

>>>se i fogli fossero tanti....



Ciao Raffaele
non era una mia domanda, ma solo la constatazione che se i fogli fossero tanti, la nidificazione dei SE creerebbe alcuni problemi sia in ordine alla versione di excel che alle eventuali modifiche da applicare; da qui la mia proposta dell'uso di INDIRETTO.

cari saluti


federico460
00sabato 25 giugno 2016 17:00
Ciao

l'idea di Dodo no è affatto male

visto che di valori si tratta e che probabilmente non si vuole
la colonna dei fogli tra i piedi
basta spostare la formula di Dodo in fondo al foglio e al limite nascondere le colonne.

nel file io uso delle colonne nel foglio1 e in mezzo al foglio
ma basta spostarle dove meglio aggrada.
in colonna R il nome dei fogli

questa la formula in colonna S

=SE(VAL.ERRORE(CERCA.VERT($A$1;INDIRETTO("'"&R1&"'!"&"A:H");3;FALSO));"";CERCA.VERT($A$1;INDIRETTO("'"&R1&"'!"&"A:H");3;FALSO))



da tirare in giù

in cella B1
=MAX(S1:S19)

ecco fatto
non vedo niente e faccio tutto [SM=g27817]

brutto forse ma funzionale
bebo673
00lunedì 27 giugno 2016 08:35
Ciao e grazie nuovamente dei vari suggerimenti.
Però devo riuscire ad utilzzarli al meglio e intanto criarico quello che vorrei fare (mi scuso se nei precedenti messaggi non era chiaro) e prendo il foglio excel di federico come esempio per spiegarmi meglio.

Nel foglio1 vorrei poi proseguire con la compilazione mettendo altri valori in A2...A3 ..etc ed eseguire una ricerca come quella in A1.

Con i suggerimenti dati non credo di riuscire ad estendere la ricerca a tutte le celle della colonna A.

I SE concatenati funzionano, ma poi mi blocca e dopo 6 mi da un errore.

Spero di essere stato un po' più chiaro.
grazie e cmq le formule suggerite saranno utilizzate di certo.


raffaele1953
00lunedì 27 giugno 2016 13:51
Non capisco il "concatena"
Mi sembrava che si parlava solo del cerca.verticale in tanti fogli (dato da cercare in A1).
Forse non mi sono spiegato bene, dal tuo allegato hai creato la lista dei fogli OK
Hai messo la formula accanto OK, però non devi cercare il "DATO", solo sapere in quale foglio è presente.
In S1 =SE(VAL.ERRORE(CERCA.VERT($A$1;INDIRETTO("'"&R1&"'!"&"A:H");3;FALSO));"";CERCA.VERT($A$1;INDIRETTO("'"&R1&"'!"&"A:H");3;FALSO))
Trascina giù la formula.

Adesso in S11 abbiamo il dato "pippo". Ora se mi posiziono esempio in K1 e metto =INDIRETTO("R"&CONFRONTA(A1;S1:S19;0))
Apparirà "Foglio12", bene adesso abbiamo una cella con scritto il nome del foglio. Adesso usando questa cella + Indiretto puoi fare quello che desideri.
Se fosse un cerca.vert sarebbe =CERCA.VERT(A1;Foglio12!A1:H100;3;FALSO)
In questa cella K1, sarà =CERCA.VERT(A1;INDIRETTO(K1&"!A1:H100");3;FALSO)
Ora se in A2 inserisci un'altro dato che deve essere presente in foglio12 metterai =CERCA.VERT(A2;INDIRETTO(K1&"!A1:H100");3;FALSO)
Non saprei per il concatena (sembra che non gli piace INDIRETTO)
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 21:55.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com