Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

aiuto per formula complessa cerca vert con più condizioni

Ultimo Aggiornamento: 11/02/2021 11:48
Post: 1
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
10/02/2021 10:47

Ciao a tutti,
è la prima volta che scrivo dopo che ho scoperto questo meraviglioso forum.

Ho bisogno una mano da esperto perchè mi trovo a dover fare un'operazione molto complicata.
cerco di spiegarmi:
lavoro in una società di noleggio di varie attrezzature, ho un file excel per il listino noleggio strutturato su più fogli, a secondo dell'attrezzatura, e su più colonne a seconda della durata del noleggio.
Da sistema ho fatto un estrazione per numero oggetto (il nostro articolo) che mi evidenzia "la vita" dell'oggetto rapportata al contratto di noleggio.
io devo calcolare il rendimento della tariffa del contratto a confronto del listino, quindi dovrei andare a dire, in base alla categoria dell'oggetto, quale foglio o riga del listino prendere, e una volta presa la riga corretta, quale colonna di tariffa selezionare in riferimento a quanti giorni è durato il contratto di noleggio.

spero di essermi più o meno spiegato,
qualcuno è in grado di darmi una mano??

grazie infinite
Cristiano
Post: 2.129
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
10/02/2021 11:11

ciao
senza un file esempio
con la struttura da esaminare
è difficile risponderti
Post: 1
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
10/02/2021 11:19

Giusto...
allego un file di esempio

la colonna A evidenziata in giallo è quella dell'oggetto o articolo che deve essere abbinata al suo listino,
la colonna K è la durata di riferimento che deve andare a rapportarsi sulle colonne del listino
nel secondo foglio una pagina di esempio di listino,

per esempio l'oggetto 0570 della colonna A dovrebbe far riferimento alla riga 4 del listino

Spero sia un pò più chiaro, chiedo scusa per le imprecisioni

grazie
Post: 3.067
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
10/02/2021 12:54

ciao
sei poco chiaro

cosa lega il codice 0570 alla riga 4 del listino?

Qual è il risultato che vorresti? dove? come ci si arriva?

saluti




Domenico
Win 10 - Excel 2016
Post: 2
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
10/02/2021 15:06

provo a spiegare meglio...

il codice 0570 deve fare riferimento alla riga 4 del listino, al momento non c'è nulla che li lega, si potrebbe inserire un codice nuovo per esempio

il risultato che vorrei ottenere è che visualizzi in una cella della riga presa dal codice 0570 il valore di listino di riferimento (riga 4 in questo esempio del secondo foglio) in base alla durata in giorni del contratto di noleggio che è preso dalla seconda colonna in giallo.

con quel dato che mi tira fuori faccio io poi dei report sui contratti

so che è abbastanza complesso..
spero meno di prima..

grazie
Post: 3.068
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
10/02/2021 16:20

nel caso delle righe da 50 a 58 vorresti ottenere 112?




Domenico
Win 10 - Excel 2016
Post: 3
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
10/02/2021 16:46

non 112 ma 120, la riga sotto, però il concetto è esattamente quello!
Post: 3.069
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
10/02/2021 16:59

perchè 120 visto che in col K c'è 15 ???




Domenico
Win 10 - Excel 2016
Post: 4
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
10/02/2021 17:08

perdonami giusto, erano 15 gg non 9...si corretto deve dare 112
Post: 3.070
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
10/02/2021 17:11

bene
a questo punto devi solo dire con quale criterio si sceglie la riga 4 del listino

Soprattutto mi è sembrato di capire che hai diversi listini quindi ci deve essere qualcosa che lega il codice di colonna A ad un determinato listino e ad una determinata riga

ma queste cose le devi dire tu


Domenico
Win 10 - Excel 2016
Post: 5
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
10/02/2021 17:21

ecco questa è la parte un pò più complessa,
il listino è strutturato su diversi fogli e con categorie anche differenti tra loro su uno stesso foglio
la mia idea potrebbe essere di abbinare un codice alfanumerico all'oggetto (il famoso 0570) e riportare il codice sulla riga del listino (la lettera A che vedi nella prima colonna del listino) e poi io potrei riportare il listino in solo testo con i codici che mi servono su un unico foglio per comodità

non so se è un'idea corretta però...
Post: 3.071
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
10/02/2021 17:34

non ti so rispondere così

prova a fare un esempio con pochi dati e più listini aggiungendo questo codice alfanumerico

Io ti dico solo che, a parte il foglio dove andare a prendere il dato, ci serve sto benedetto codice univoco

ti preannuncio inoltre che se poi si deve arrivare a quel famoso 112, oltre quanto detto, nei fogli listini sia la riga dove prendere il valore di GG Nol. Periodo, sia la colonna dove contriollare il codice, devono avere medesima collocazione.

Per farla breve, per esempio, in col A di tutti i listini deve esserci il cod. univoco e in riga 2 di tutti i listini deve esserci il tuo da...a....(ovviamente non in quella forma, ma di questo ne parleremo).

saluti

edit: come stai messo a conoscenza di vba ?? <<<<<<<<




[Modificato da dodo47 10/02/2021 17:35]
Domenico
Win 10 - Excel 2016
Post: 6
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
10/02/2021 18:12

Ciao
provo a riallegare un altro file, ho tirato via alcune righe, aggiunto un paio di fogli di listino, e i famosi codici,

non guardare abbinamento ad oggetto e categoria perchè l'ho fatto a caso... :)
così potrebbe andare?

potrei sempre come dicevo riportare tutto il listino su un unico foglio se fosse necessario

grazie mille

con vba a conoscenza non sto messo bene, sono totalmente autodidatta a livello informatico e fino ad oggi facendo cose relativamente smeplici sono sempre riuscito a cavarmela tra pivot, formule e tabelle, in questo caso era veramente troppo dura da solo...
Post: 3.072
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
10/02/2021 18:25

In linea di massima si (a parte il codice che non c'è come hai detto)

comunque "Purtroppo" non puoi fare un unico listino che sarebbe la cosa più semplice e facile, in quanto mi sono accorto che i valori DA....A... non sono tutti gli stessi nei vari listi

e questo rende più elaborata la cosa perchè dobbiamo individuare oltre il prodotto e il periodo di noleggio, anche il foglio dove cercare e qui c'è appunto il problema: il cod. 05070 cui per esempio ha dato come valore di codice univoco ABCD, in quale listino (foglio) lo vado a pescare?

Quindi ci vuole un altro legame.

Ci aggiorniamo a domani

ciao




Domenico
Win 10 - Excel 2016
Post: 7
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
11/02/2021 09:10

ok...
ma il codice che to ho inserito io ora (A1,A2,A3 ETC...) non va bene?

La situazione è sempre più complessa,
di che altro codice hai bisogno? come faccio a inserirlo?

ti ringrazio davvero tanto
Post: 3.074
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
11/02/2021 11:11

Si, scusa non me ne ero accorto

Ho normalizzato il tuo documento apportando le seguenti modifiche indispensabili.

PREMESSA: tutti i fogli listino devono avere, nell'ambito dello ste4sso foglio, gli stessi range di periodo noleggio.

Tali valori devono essere in riga 1 di tutti i fogli.
Noterai che detti valori sono riportati nel seguente modo:
- per tutti i periodi da....a.... ho riportato il valore più basso (es. periodo da 4 a 10 riporto 4 nella stessa colonna di riga 1.
- per il periodo "oltre" ho riportato il numero immediatamente superiore all'ultimo limite del periodo precedente. Nell'esempio di prima se dopo da 3 a 4 hai "Oltre", nella colonna "Oltre" ho riportato 5. Questo serve per l'utilizzo del confronta nell'utima parte della formuula.

Come detto la colonna A di ciscun periodo ha il famoso codice univoco.

Per quanto riguarda il listino (foglio) dal quale attingere i dati, nel foglio principale ho dovuto aggiungere la col. C dove per ogni articolo ho riportato il listino (nome del foglio) da cui prelevare i valori.

Questo è quanto.

La formula adottata è la seguente:
=INDICE(INDIRETTO("'"&C3&"'! $A$3:$H$16");CONFRONTA(B3;INDIRETTO("'"&C3&"'!$A$3:$A$16");0);CONFRONTA(N3;INDIRETTO("'"&C3&"'!$A$1:$H$1";1)))

inserita nella col. D da trascinare in basso.

saluti

NB: tieni presente che la formula è volatile e pertanto viene ricalcolata ad ogni variazione che tu apporti nel documento, anche se tale variazione non interessa i range coinvolti dalla formula.
Te lo dico perchè se hai migliaia di articoli la cosa si fa pesante.




[Modificato da dodo47 11/02/2021 11:27]
Domenico
Win 10 - Excel 2016
Post: 8
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
11/02/2021 11:20

è semplicemente fantastico,
quindi io posso usare il mio listino senza problemi, basta che oltre al codice univoco aggiungo su ogni oggetto il nome del foglio di riferimento e riporto la formula così come da te indicata...

giusto?

è veramente fantastico!!

non so davvero come ringraziarti,
e oltre a questo mi hai aperto un mondo nuovo... :)

Post: 3.075
Registrato il: 06/04/2013
Utente Master
2010
OFFLINE
11/02/2021 11:26

si certo,

mi sono dimenticato di dirti di "ampliare" il range a3:h16 in quanto non so quanti articoli hai per ciascun listino e di portare il range a1:h1 fino alla colonna massima dove hai i periodi

Potresti ad esempio fare a3:z1000 e a1:z1 ovviamente rispettando gli indirizzi assoluti ($)...

Come avrai notato, proprio a causa di questo, nelle righe da 13 a 16 ci sono degli ND# nonostante i codici siano presenti nel relativo listino

Infatti se modifichi così la formula, i darti te li ritrovi:

=INDICE(INDIRETTO("'"&C3&"'! $A$3:$z$1000");CONFRONTA(B3;INDIRETTO("'"&C3&"'!$A$3:$A$1000");0);CONFRONTA(N3;INDIRETTO("'"&C3&"'!$A$1:$z$1";1)))


saluti




[Modificato da dodo47 11/02/2021 11:34]
Domenico
Win 10 - Excel 2016
Post: 9
Registrato il: 11/07/2020
Età: 42
Utente Junior
microsoft 365 versione 2021
OFFLINE
11/02/2021 11:48

perfetto!
inserite le modifiche e funziona alla grande!

grazie ancora davvero!
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
aiuto formula (3 messaggi, agg.: 05/11/2019 12:38)
Aiuto Formula (27 messaggi, agg.: 06/01/2021 21:31)
Aiuto formula e macro (21 messaggi, agg.: 22/10/2021 15:07)
Chiedo cortesemente aiuto per formula (6 messaggi, agg.: 19/01/2023 21:54)
aiuto x formula (21 messaggi, agg.: 28/02/2017 15:01)
aiuto formula se (6 messaggi, agg.: 28/02/2017 13:42)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 21:08. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com