Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Riporta dato in cella se valori corretti

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] Riporta dato in cella se valori corretti

Postdi systemcrack » 05/09/17 16:04

Ciao ragazzi, mi scuso in anticipo per il titolo che forse può essere fuorviante, ma non riuscivo a fare una sintesi migliore di questa con così pochi caratteri a disposizione.

Ma veniamo al quesito:
come già riportato nei posts qui e qui sto lavorando ad uno schema per l'entrata dei mezzi in un magazzino e ieri mi è stato chiesto se fosse possibile aggiungere un altro campo che dovrebbe lavorare in maniera semi automatica e riportare a seconda della targa, la TARA (peso del camion scarico).

Immagine

Ecco come mi sono mosso:
Ho creato un foglio (TARE) aggiuntivo sul vecchio file, in cui ho creato alcune tabelle in cui sono riportate targa e tara dei mezzi (vedi immagine di seguito).

Immagine

a questo punto vorrei che venissero controllati tutti i campi (in cui verranno inserite le targhe), contenuti nelle tabelle sul foglio TARE e se c'è corrispondenza che venga riportato il dato riferito alla targa nella colonna tara.

Spero d'essere stato abbastanza chiaro e di non essermi espresso in maniera troppo sconclusionata :roll:

Per essere maggiormente chiaro, ho allegato il file in questione.
Download file esempio

Grazie a tutti!
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Sponsor
 

Re: [Excel] Riporta dato in cella se valori corretti

Postdi Anthony47 » 06/09/17 01:16

Non creare, nel foglio Tare, tante tabelle diverse per Vettore; creane una sola che occupa le colonne B e C con la targa e la tara, e in col D ci inserisci il Vettore.
Non usare piu' celle unite, a meno che mi spieghi un motivo valido per cui ti sono necessarie.

Poi in foglio ENTRATE, in E2 potrai usare la formula
Codice: Seleziona tutto
=CERCA.VERT(B2;TARE!B:D;2;0)
da copiare poi verso il basso

Se la targa manca nella tabella su Tare verra' visualizzato l'errore #N/D, che scompare appena la tabella viene aggiornata con la nuova targa.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 06/09/17 08:59

Anthony47 ha scritto:Non creare, nel foglio Tare, tante tabelle diverse per Vettore; creane una sola che occupa le colonne B e C con la targa e la tara, e in col D ci inserisci il Vettore.
Non usare piu' celle unite, a meno che mi spieghi un motivo valido per cui ti sono necessarie.

Poi in foglio ENTRATE, in E2 potrai usare la formula
Codice: Seleziona tutto
=CERCA.VERT(B2;TARE!B:D;2;0)
da copiare poi verso il basso


Ok seguirò le tue direttive religiosamente ;)

Anthony47 ha scritto:Se la targa manca nella tabella su Tare verra' visualizzato l'errore #N/D, che scompare appena la tabella viene aggiornata con la nuova targa.

Ciao

C'è per caso un modo per non fare visualizzare #N/D?

Niente Anthony47... sto incollando il francobollo sulla busta che contiene la richiesta, che invierò al papa per la tua santificazione :)
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 06/09/17 09:24

Forse ho trovato.. che ne dici di questa variante:
Codice: Seleziona tutto
=SE.ERRORE(CERCA.VERT(B2;TARE!B:D;2;0);"")
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 06/09/17 14:39

Scusami Anthony, vorrei utilizzare la stessa formula e tabella anche per i dati che dovrebbero venire fuori nella colonna D.

Al momento utilizzo la formula che fa comparire una E a fianco alle targhe dei vettori che risultano essere eccezionali (cioè che possono caricare di più):
Codice: Seleziona tutto
=SE(C2="";"";SE(C2="STORTI";"E";SE(C2="FERRARI";"E";SE(C2="TCF";"E";SE(C2="OGGIONNI";"E";SE(C2="PIGOZZI";"E";SE(C2="TERMINAL SERVICE";"E";SE(C2="TIPES";"E";""))))))))

Ma ora vorrei sfruttare questa nuova ricerca e tabella per poter essere più preciso, in quanto i vettori possono avere anche mezzi normali, mentre la targa è unica.

Pertanto ho provato a muovermi modificando in questo modo:
Codice: Seleziona tutto
=SE.ERRORE(CERCA.VERT(B2;TARE!B:D;2;D1);"")

oppure
Codice: Seleziona tutto
=SE.ERRORE(CERCA.VERT(B2;TARE!B:C;2;D1);"")


Quando però inserisco la targa non esce la E nella colonna D mentre la TARA nella colonna E esce sempre.

Non capisco in cosa sto sbagliando.. :roll:
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: [Excel] Riporta dato in cella se valori corretti

Postdi Anthony47 » 07/09/17 00:39

Codice: Seleziona tutto
=SE.ERRORE(CERCA.VERT(B2;TARE!B:D;2;D1);"")


Non capisco in cosa sto sbagliando.. :roll:
Sbagli la sintassi della funzione Cerca.Vert: se vuoi estrarre dalla tabella in TARE!B:D la terza colonna allora devi mettere "Indice" a 3. Inoltre non so che cosa dovrebbe significare, nella tua formula, quel D1 inserito come "Intervallo": se vuoi che la funzione cerchi solo corrispondenze esatte e non approssimative allora quel parametro deve essere su Falso o su 0. Quindi:
Codice: Seleziona tutto
=SE.ERRORE(CERCA.VERT(B2;TARE!B:D;3;0);"")
Per la descrizione della funzione Cerca.Vert, la sua corretta sintassi e una miriade di suggerimenti e informazioni guarda l'help on line di Excel, una miniera di informazioni.

Quanto a non far uscire #N/D vedo che hai trovato la risposta (Se.Errore); tuttavia in questo modo perdi l'indicazione che la tabella su TARE e' incompleta e va aggiornata.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 07/09/17 07:22

Anthony47 ha scritto:
Codice: Seleziona tutto
=SE.ERRORE(CERCA.VERT(B2;TARE!B:D;2;D1);"")


Non capisco in cosa sto sbagliando.. :roll:
Sbagli la sintassi della funzione Cerca.Vert: se vuoi estrarre dalla tabella in TARE!B:D la terza colonna allora devi mettere "Indice" a 3. Inoltre non so che cosa dovrebbe significare, nella tua formula, quel D1 inserito come "Intervallo": se vuoi che la funzione cerchi solo corrispondenze esatte e non approssimative allora quel parametro deve essere su Falso o su 0.


Per quanto riguarda il D1 è perchè volevo che il dato riportato nella colonna D fosse una E (che è la tipologia dei camion) e nel foglio ENTRATE la cella D1 contiene una E fissa.

Anthony47 ha scritto:Per la descrizione della funzione Cerca.Vert, la sua corretta sintassi e una miriade di suggerimenti e informazioni guarda l'help on line di Excel, una miniera di informazioni.


Si infatti ho guardato per una buona parte di ieri l'help senza ottenere grossi risultati.. riproverò a studiarmelo anche oggi.
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 07/09/17 14:43

Dopo qualche ora di prove esperimenti e frustrazioni varie ho avuto un lampo.. non so se di genio, ma spero di si :lol:
In pratica ho pensato:
dal momento che mi serve che venga restituita la lettera E e che il cerca verticale invece restituisce solo risultati di una cella (all'interno della ricerca) oppure i nr 1 o 2 (nel nostro caso è 1), perchè non appoggiarmi ad un'altra cella..?
E così sto provando..
Immagine
Come si evince dall'immagine ho deciso di utilizzare la cella O2 per ricevere il risultato di questa funzione
Anthony47 ha scritto:
Codice: Seleziona tutto
=SE.ERRORE(CERCA.VERT(B2;TARE!B:D;3;0);"")

Poi in D2 ho inserito quest'altra funzione che dovrebbe fare comparire la lettera E in D2 se O2 è = a 1 (cioè se la targa è presente tra quelle dell'elenco contenuto nel foglio TARE):
Codice: Seleziona tutto
=SE(O2="1";"E";"")

Peccato che sebbene in O2 compaia 1 in D2 non compare la E :aaah

Non riesco davvero a capire cosa non va.. :undecided:

Edit:
Ok mettendo così la E compare ;)
Codice: Seleziona tutto
=SE(O2<"2";"E";"")


ReEdit:
Come non detto.. così compare la E, ma è fissa :cry:
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 07/09/17 15:12

Ok ce l'ho fatta 8) ora funziona!!! Risolvendo così:
Codice: Seleziona tutto
=SE(E(O2<2;O2>0);"E";"")
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: [Excel] Riporta dato in cella se valori corretti

Postdi Anthony47 » 07/09/17 15:30

Non ti seguo piu'...
Se la "E" e' una caratteristica della targa e quindi l'hai messa nella tabella Targa /Tara /E allora ti basta il Cerca.Vert per estrarre quel risultato; basta usare correttamente la funzione Cerca.Vert secondo la sintassi descritta nell'help on line. Devi solo considerare che se una cella contiene la E allora il cerca.vert ti restituira' la E, ma se e' vuota cerca.vert ti restituira' 0; per cui metterai nella terza colonna della tabella una E oppure uno "spazio" (o altro carattere di tuo gradimento).

Ovviamente altre soluzioni piu' arzigogolate sono sempre possibili, ma poi non lamentarti se a un certo punto ti si incrociano gli occhi.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 08/09/17 10:06

Anthony47 ha scritto:Non ti seguo piu'...
Se la "E" e' una caratteristica della targa e quindi l'hai messa nella tabella Targa /Tara /E allora ti basta il Cerca.Vert per estrarre quel risultato; basta usare correttamente la funzione Cerca.Vert secondo la sintassi descritta nell'help on line. Devi solo considerare che se una cella contiene la E allora il cerca.vert ti restituira' la E, ma se e' vuota cerca.vert ti restituira' 0; per cui metterai nella terza colonna della tabella una E oppure uno "spazio" (o altro carattere di tuo gradimento).

Ovviamente altre soluzioni piu' arzigogolate sono sempre possibili, ma poi non lamentarti se a un certo punto ti si incrociano gli occhi.

Ciao

Si.. il cerca verticale mi ha un pò scombussolato.. lo trovo parecchio ostico. Ad ogni modo anche per questo non posso fare altro che ringraziarti inginocchiandomi in terra, in quanto alla fine sono arrivato a capo dell'arcano mistero.. in pratica con il consiglio che mi hai dato tu:
Codice: Seleziona tutto
=CERCA.VERT(B2;TARE!B:D;2;0)


Nel foglio TARE viene presa in causa la colonna D in cui però è contenuta la numerazione delle targhe da 1 a 498.
Facendo degli esperimenti ho notato che il risultato che mi restituiva la funzione da te suggeritami era la numerazione, così mi è bastato sostituire la numerazione con una E e il gioco è fatto.
Per onore della cronaca e per aiutare chi leggerà in futuro questa sfilza di post allego il file test.

Download link

Grazie di tutto Anthony!!! ;)
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40

Re: [Excel] Riporta dato in cella se valori corretti

Postdi Anthony47 » 08/09/17 16:06

Stai dritto e ragiona...

Pero', ad onor del vero:
systemcrack ha scritto:alla fine sono arrivato a capo dell'arcano mistero.. in pratica con il consiglio che mi hai dato tu:
Codice: Seleziona tutto
    =CERCA.VERT(B2;TARE!B:D;2;0)

Nel foglio TARE viene presa in causa la colonna D in cui però è contenuta la numerazione delle targhe da 1 a 498.
Facendo degli esperimenti ho notato che il risultato che mi restituiva la funzione da te suggeritami era la numerazione, così mi è bastato sostituire la numerazione con una E e il gioco è fatto.

Veramente nella formula che citi l'INDICE e' messo a 2, e questo ti estrae la seconda colonna di B:D, quindi C.

Infatti io avevo suggerito

Anthony qualche messaggio fa ha scritto:Sbagli la sintassi della funzione Cerca.Vert: se vuoi estrarre dalla tabella in TARE!B:D la terza colonna allora devi mettere "Indice" a 3. Inoltre non so che cosa dovrebbe significare, nella tua formula, quel D1 inserito come "Intervallo": se vuoi che la funzione cerchi solo corrispondenze esatte e non approssimative allora quel parametro deve essere su Falso o su 0. Quindi:

Codice: Seleziona tutto
    =SE.ERRORE(CERCA.VERT(B2;TARE!B:D;3;0);"")

E infatti nel tuo file (che tra qualche giorno non sara' piu' disponibile su Filedropper) questa e' la formula che hai usato.

Quanto al Cerca.Vert il suo funzionamento e' alquanto semplice, se l'ultimo parametro (il quarto) viene messo su 0 oppure FALSO:
-cerca nella prima colonna della Tabella un valore specifico, e se lo trovi restituisci la cella N della riga; se non lo trovi otterrai l'errore #N/D.
=Cerca.Vert(Valore;IndirizzoTabella;ColonnaDaRestituire;Falso)

Alla prossima...
Avatar utente
Anthony47
Moderatore
 
Post: 17656
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Riporta dato in cella se valori corretti

Postdi systemcrack » 08/09/17 16:55

Anthony47 ha scritto:Quanto al Cerca.Vert il suo funzionamento e' alquanto semplice, se l'ultimo parametro (il quarto) viene messo su 0 oppure FALSO:
-cerca nella prima colonna della Tabella un valore specifico, e se lo trovi restituisci la cella N della riga; se non lo trovi otterrai l'errore #N/D.
=Cerca.Vert(Valore;IndirizzoTabella;ColonnaDaRestituire;Falso)

Alla prossima...

Dopo tutta questa pratica e i tuoi consigli ora è molto più chiara la situazione.

Alla prossima e buon week end! ;)
Avatar utente
systemcrack
Utente Senior
 
Post: 143
Iscritto il: 27/07/17 09:40


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Riporta dato in cella se valori corretti":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti